Isis 3 Programmer Reference
Isis::VimsSkyMap Class Reference

Convert between undistorted focal plane and ground coordinates. More...

#include <VimsSkyMap.h>

Inheritance diagram for Isis::VimsSkyMap:
Inheritance graph
Collaboration diagram for Isis::VimsSkyMap:
Collaboration graph

Public Member Functions

 VimsSkyMap (Camera *parent, Pvl &lab)
 Constructs the VimsSkyMap object. More...
 
virtual ~VimsSkyMap ()
 Destroys the VimsSkyMap object. More...
 
virtual bool SetFocalPlane (const double ux, const double uy, const double uz)
 Compute ground position from focal plane coordinate. More...
 
virtual bool SetSky (const double ra, const double dec)
 Sets the sky position to the given ra and dec. More...
 
void Init (Pvl &lab)
 Initialize vims sky model. More...
 
double FocalPlaneX () const
 
double FocalPlaneY () const
 

Protected Attributes

Camerap_camera
 The main camera to calculate distortions on. More...
 
double p_focalPlaneX
 Undistorted x value for the focal plane. More...
 
double p_focalPlaneY
 Undistorted y value for the focal plane. More...
 

Private Member Functions

void LookDirection (double v[3])
 Determines the look direction in the camera coordinate system. More...
 

Private Attributes

SpiceDouble p_etStart
 Start ephemeris time. More...
 
double p_interlineDelay
 InterlineDelayDuration keyword value from the instrument group of the labels, divided by 1000. More...
 
double p_ux
 Distorted focal plane x, in millimeters. More...
 
double p_uy
 Distorted focal plane y, in millimeters. More...
 
double p_uz
 Distorted focal plane z, in millimeters. More...
 
double p_xPixSize
 X pixel size. More...
 
double p_yPixSize
 Y pixel size. More...
 
double p_xBore
 X boresight. More...
 
double p_yBore
 Y boresight. More...
 
QString p_channel
 Channel keyword value from the instrument group of the labels. More...
 
double p_visExp
 VIS exposure duration, divided by 1000. More...
 
double p_irExp
 IR exposure duration, divided by 1000. More...
 
int p_swathWidth
 SwathWidth keyword value from the instrument group of the labels. More...
 
int p_swathLength
 SwathLength keyword value from the instrument group of the labels. More...
 
int p_camSampOffset
 Sample offset. More...
 
int p_camLineOffset
 Line offset. More...
 
double p_minRa
 Minimum right ascension. More...
 
double p_maxRa
 Maximum right ascension. More...
 
double p_minDec
 Minimum declination. More...
 
double p_maxDec
 Maximum declination. More...
 
double p_raMap [64][64]
 Right ascension map. More...
 
double p_decMap [64][64]
 Declination map. More...
 

Detailed Description

Convert between undistorted focal plane and ground coordinates.

This base class is used to convert between undistorted focal plane coordinates (x/y) in millimeters and ground coordinates lat/lon. This class handles the case of framing cameras.

See also
Camera
VimsCamera
Author
2006-04-05 Tracie Sucharski
History:
2006-04-05 Tracie Sucharski - Original version
History:
2009-04-06 Steven Lambright - Fixed problem that caused double deletion of sky map / ground map.
History:
2011-02-09 Steven Lambright - Major changes to camera classes.
History:
2011-05-03 Jeannie Walldren - Updated documentation. Removed Cassini namespace wrap inside Isis namespace.
History:
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
History:
2013-11-18 Tracie Sucharski - Added LookDirection method to calculate unit vectors so that old unit vector files are no longer needed.
History:
2016-08-28 Kelvin Rodriguez - Removed unused member variables to squash warnings in clang. Part of porting to OS X 10.11

Definition at line 46 of file VimsSkyMap.h.

Constructor & Destructor Documentation

◆ VimsSkyMap()

Isis::VimsSkyMap::VimsSkyMap ( Camera parent,
Pvl lab 
)

Constructs the VimsSkyMap object.

Parameters
parentA pointer to the parent Camera object
labPvl labels for the image

Definition at line 37 of file VimsSkyMap.cpp.

◆ ~VimsSkyMap()

virtual Isis::VimsSkyMap::~VimsSkyMap ( )
inlinevirtual

Destroys the VimsSkyMap object.

Definition at line 51 of file VimsSkyMap.h.

Member Function Documentation

◆ FocalPlaneX()

double Isis::CameraSkyMap::FocalPlaneX ( ) const
inlineinherited
Returns
The undistorted focal plane x

Definition at line 46 of file CameraSkyMap.h.

References Isis::CameraSkyMap::p_focalPlaneX.

Referenced by Isis::Camera::SetRightAscensionDeclination().

◆ FocalPlaneY()

double Isis::CameraSkyMap::FocalPlaneY ( ) const
inlineinherited
Returns
The undistorted focal plane y

Definition at line 53 of file CameraSkyMap.h.

References Isis::CameraSkyMap::p_focalPlaneY.

Referenced by Isis::Camera::SetRightAscensionDeclination().

◆ Init()

void Isis::VimsSkyMap::Init ( Pvl lab)

Initialize vims sky model.

Parameters
[in]lab(Pvl &) Cube Pvl label
Exceptions
iException::Io- "Cannot process NYQUIST(undersampled) mode "
iException::Io- "Can't open unit vector file"
History:
2007-04-16 Tracie Sucharski - Look for unit vectors in the proper directory.
History:
2007-04-18 Tracie Sucharski, The inaccuracy of the 15 Mhz clock (exposure , interline_delay) is already taken care of in the labels values, so remove the adjustment from the code (exp * 1.01725). *Reference: email from John Ivens 11/27/2006.

Definition at line 58 of file VimsSkyMap.cpp.

References Isis::Sensor::Declination(), Isis::iTime::Et(), Isis::PvlObject::findGroup(), Isis::Spice::getClockTime(), Isis::Camera::IgnoreProjection(), Isis::CameraSkyMap::p_camera, p_camLineOffset, p_camSampOffset, p_channel, p_decMap, p_etStart, p_interlineDelay, p_irExp, p_maxDec, p_maxRa, p_minDec, p_minRa, p_raMap, p_swathLength, p_swathWidth, p_visExp, p_xBore, p_xPixSize, p_yBore, p_yPixSize, Isis::Camera::ParentLines(), Isis::Camera::ParentSamples(), Isis::IException::Programmer, Isis::Sensor::RightAscension(), Isis::Camera::SetImage(), Isis::Sensor::setTime(), Isis::toDouble(), and Isis::PvlObject::Traverse.

◆ LookDirection()

void Isis::VimsSkyMap::LookDirection ( double  v[3])
private

Determines the look direction in the camera coordinate system.

Parameters
[out]vLook direction vector in camera coordinates

This method will compute the look direction vector in the camera coordinate system. This code was converted from Rick McCloskey's point_tbl c code.

History:
2008-01-03 Tracie Sucharski - Converted Rick'scode rather than using the unitVector files from Rick.
History:
2013-11-18 Tracie Sucharski - Added this method to VimsSkyMap,so that old unitVector files are no longer needed.

Definition at line 372 of file VimsSkyMap.cpp.

References Isis::HALFPI, p_camLineOffset, p_camSampOffset, p_ux, p_uy, p_xBore, p_xPixSize, p_yBore, and p_yPixSize.

Referenced by SetFocalPlane().

◆ SetFocalPlane()

bool Isis::VimsSkyMap::SetFocalPlane ( const double  ux,
const double  uy,
const double  uz 
)
virtual

Compute ground position from focal plane coordinate.

This method will compute the ground position given an undistorted focal plane coordinate. Note that the latitude/longitude value can be obtained from the camera class passed into the constructor.

Parameters
uxdistorted focal plane x in millimeters
uydistorted focal plane y in millimeters
uzdistorted focal plane z in millimeters
Returns
conversion was successful

Reimplemented from Isis::CameraSkyMap.

Definition at line 201 of file VimsSkyMap.cpp.

References LookDirection(), Isis::CameraSkyMap::p_camera, p_channel, p_etStart, p_interlineDelay, p_irExp, p_swathWidth, p_ux, p_uy, p_uz, p_visExp, Isis::Camera::ParentLines(), Isis::Camera::ParentSamples(), Isis::Sensor::SetLookDirection(), and Isis::Sensor::setTime().

◆ SetSky()

bool Isis::VimsSkyMap::SetSky ( const double  ra,
const double  dec 
)
virtual

Member Data Documentation

◆ p_camera

Camera* Isis::CameraSkyMap::p_camera
protectedinherited

◆ p_camLineOffset

int Isis::VimsSkyMap::p_camLineOffset
private

Line offset.

Definition at line 87 of file VimsSkyMap.h.

Referenced by Init(), and LookDirection().

◆ p_camSampOffset

int Isis::VimsSkyMap::p_camSampOffset
private

Sample offset.

Definition at line 86 of file VimsSkyMap.h.

Referenced by Init(), and LookDirection().

◆ p_channel

QString Isis::VimsSkyMap::p_channel
private

Channel keyword value from the instrument group of the labels.

Possible values are IR or VIS

Definition at line 78 of file VimsSkyMap.h.

Referenced by Init(), and SetFocalPlane().

◆ p_decMap

double Isis::VimsSkyMap::p_decMap[64][64]
private

Declination map.

Definition at line 94 of file VimsSkyMap.h.

Referenced by Init(), and SetSky().

◆ p_etStart

SpiceDouble Isis::VimsSkyMap::p_etStart
private

Start ephemeris time.

Definition at line 65 of file VimsSkyMap.h.

Referenced by Init(), and SetFocalPlane().

◆ p_focalPlaneX

double Isis::CameraSkyMap::p_focalPlaneX
protectedinherited

Undistorted x value for the focal plane.

Definition at line 59 of file CameraSkyMap.h.

Referenced by Isis::CameraSkyMap::FocalPlaneX(), Isis::CameraSkyMap::SetSky(), Isis::LineScanCameraSkyMap::SetSky(), and SetSky().

◆ p_focalPlaneY

double Isis::CameraSkyMap::p_focalPlaneY
protectedinherited

Undistorted y value for the focal plane.

Definition at line 60 of file CameraSkyMap.h.

Referenced by Isis::CameraSkyMap::FocalPlaneY(), Isis::CameraSkyMap::SetSky(), Isis::LineScanCameraSkyMap::SetSky(), and SetSky().

◆ p_interlineDelay

double Isis::VimsSkyMap::p_interlineDelay
private

InterlineDelayDuration keyword value from the instrument group of the labels, divided by 1000.

Definition at line 67 of file VimsSkyMap.h.

Referenced by Init(), and SetFocalPlane().

◆ p_irExp

double Isis::VimsSkyMap::p_irExp
private

IR exposure duration, divided by 1000.

Definition at line 81 of file VimsSkyMap.h.

Referenced by Init(), and SetFocalPlane().

◆ p_maxDec

double Isis::VimsSkyMap::p_maxDec
private

Maximum declination.

Definition at line 92 of file VimsSkyMap.h.

Referenced by Init(), and SetSky().

◆ p_maxRa

double Isis::VimsSkyMap::p_maxRa
private

Maximum right ascension.

Definition at line 90 of file VimsSkyMap.h.

Referenced by Init(), and SetSky().

◆ p_minDec

double Isis::VimsSkyMap::p_minDec
private

Minimum declination.

Definition at line 91 of file VimsSkyMap.h.

Referenced by Init().

◆ p_minRa

double Isis::VimsSkyMap::p_minRa
private

Minimum right ascension.

Definition at line 89 of file VimsSkyMap.h.

Referenced by Init().

◆ p_raMap

double Isis::VimsSkyMap::p_raMap[64][64]
private

Right ascension map.

Definition at line 93 of file VimsSkyMap.h.

Referenced by Init(), and SetSky().

◆ p_swathLength

int Isis::VimsSkyMap::p_swathLength
private

SwathLength keyword value from the instrument group of the labels.

This will be image size unless occultation image

Definition at line 84 of file VimsSkyMap.h.

Referenced by Init().

◆ p_swathWidth

int Isis::VimsSkyMap::p_swathWidth
private

SwathWidth keyword value from the instrument group of the labels.

This will be image size unless occultation image

Definition at line 82 of file VimsSkyMap.h.

Referenced by Init(), and SetFocalPlane().

◆ p_ux

double Isis::VimsSkyMap::p_ux
private

Distorted focal plane x, in millimeters.

Definition at line 69 of file VimsSkyMap.h.

Referenced by LookDirection(), and SetFocalPlane().

◆ p_uy

double Isis::VimsSkyMap::p_uy
private

Distorted focal plane y, in millimeters.

Definition at line 70 of file VimsSkyMap.h.

Referenced by LookDirection(), and SetFocalPlane().

◆ p_uz

double Isis::VimsSkyMap::p_uz
private

Distorted focal plane z, in millimeters.

Definition at line 71 of file VimsSkyMap.h.

Referenced by SetFocalPlane().

◆ p_visExp

double Isis::VimsSkyMap::p_visExp
private

VIS exposure duration, divided by 1000.

Definition at line 80 of file VimsSkyMap.h.

Referenced by Init(), and SetFocalPlane().

◆ p_xBore

double Isis::VimsSkyMap::p_xBore
private

X boresight.

Definition at line 75 of file VimsSkyMap.h.

Referenced by Init(), and LookDirection().

◆ p_xPixSize

double Isis::VimsSkyMap::p_xPixSize
private

X pixel size.

Definition at line 73 of file VimsSkyMap.h.

Referenced by Init(), and LookDirection().

◆ p_yBore

double Isis::VimsSkyMap::p_yBore
private

Y boresight.

Definition at line 76 of file VimsSkyMap.h.

Referenced by Init(), and LookDirection().

◆ p_yPixSize

double Isis::VimsSkyMap::p_yPixSize
private

Y pixel size.

Definition at line 74 of file VimsSkyMap.h.

Referenced by Init(), and LookDirection().


The documentation for this class was generated from the following files: