USGS

Isis 3.0 Object Programmers' Reference

Home

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.
 
virtual ~VimsSkyMap ()
 Destroys the VimsSkyMap object.
 
virtual bool SetFocalPlane (const double ux, const double uy, const double uz)
 Compute ground position from focal plane coordinate.
 
virtual bool SetSky (const double ra, const double dec)
 Sets the sky position to the given ra and dec.
 
void Init (Pvl &lab)
 Initialize vims sky model.
 
double FocalPlaneX () const
 Return undistorted focal plane x.
 
double FocalPlaneY () const
 Return undistorted focal plane y.
 

Protected Attributes

Camerap_camera
 
double p_focalPlaneX
 
double p_focalPlaneY
 

Private Member Functions

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

Private Attributes

SpiceDouble p_etStart
 Start ephemeris time.
 
double p_exposureDuration
 Exposure duration.
 
double p_interlineDelay
 
         InterlineDelayDuration keyword value from

the instrument group of the labels, divided by 1000

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

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

2009-04-06 Steven Lambright - Fixed problem that caused double deletion of sky map / ground map.

2011-02-09 Steven Lambright - Major changes to camera classes.

2011-05-03 Jeannie Walldren - Updated documentation. Removed Cassini namespace wrap inside Isis namespace.

2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.

2013-11-18 Tracie Sucharski - Added LookDirection method to calculate unit vectors so that old unit vector files are no longer needed.

Definition at line 58 of file VimsSkyMap.h.

Constructor & Destructor Documentation

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 48 of file VimsSkyMap.cpp.

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

Destroys the VimsSkyMap object.

Definition at line 63 of file VimsSkyMap.h.

Member Function Documentation

double Isis::CameraSkyMap::FocalPlaneX ( ) const
inlineinherited

Return undistorted focal plane x.

Definition at line 60 of file CameraSkyMap.h.

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

double Isis::CameraSkyMap::FocalPlaneY ( ) const
inlineinherited

Return undistorted focal plane y.

Definition at line 65 of file CameraSkyMap.h.

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

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.

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 69 of file VimsSkyMap.cpp.

References _FILEINFO_, Isis::Sensor::Declination(), Isis::iTime::Et(), Isis::PvlObject::findGroup(), Isis::Spice::getClockTime(), Isis::Camera::IgnoreProjection(), 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.

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.

2013-11-18 Tracie Sucharski - Added this method to VimsSkyMap,so that old unitVector files are no longer needed.

Definition at line 383 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().

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 212 of file VimsSkyMap.cpp.

References LookDirection(), 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().

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

Sets the sky position to the given ra and dec.

Parameters
rathe right ascension
decthe declination
Returns
set sky was successful

Reimplemented from Isis::CameraSkyMap.

Definition at line 258 of file VimsSkyMap.cpp.

References Isis::LeastSquares::AddKnown(), Isis::LeastSquares::Evaluate(), Isis::Camera::IgnoreProjection(), Isis::LeastSquares::Knowns(), p_decMap, p_maxDec, p_maxRa, p_raMap, Isis::Camera::ParentLines(), Isis::Camera::ParentSamples(), Isis::Camera::SetImage(), and Isis::LeastSquares::Solve().

Member Data Documentation

int Isis::VimsSkyMap::p_camLineOffset
private

Line offset.

Definition at line 102 of file VimsSkyMap.h.

Referenced by Init(), and LookDirection().

int Isis::VimsSkyMap::p_camSampOffset
private

Sample offset.

Definition at line 101 of file VimsSkyMap.h.

Referenced by Init(), and LookDirection().

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 91 of file VimsSkyMap.h.

Referenced by Init(), and SetFocalPlane().

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

Declination map.

Definition at line 109 of file VimsSkyMap.h.

Referenced by Init(), and SetSky().

SpiceDouble Isis::VimsSkyMap::p_etStart
private

Start ephemeris time.

Definition at line 77 of file VimsSkyMap.h.

Referenced by Init(), and SetFocalPlane().

double Isis::VimsSkyMap::p_exposureDuration
private

Exposure duration.

Definition at line 79 of file VimsSkyMap.h.

double Isis::VimsSkyMap::p_interlineDelay
private

         InterlineDelayDuration keyword value from

the instrument group of the labels, divided by 1000

Definition at line 80 of file VimsSkyMap.h.

Referenced by Init(), and SetFocalPlane().

double Isis::VimsSkyMap::p_irExp
private

IR exposure duration, divided by 1000.

Definition at line 94 of file VimsSkyMap.h.

Referenced by Init(), and SetFocalPlane().

double Isis::VimsSkyMap::p_maxDec
private

Maximum declination.

Definition at line 107 of file VimsSkyMap.h.

Referenced by Init(), and SetSky().

double Isis::VimsSkyMap::p_maxRa
private

Maximum right ascension.

Definition at line 105 of file VimsSkyMap.h.

Referenced by Init(), and SetSky().

double Isis::VimsSkyMap::p_minDec
private

Minimum declination.

Definition at line 106 of file VimsSkyMap.h.

Referenced by Init().

double Isis::VimsSkyMap::p_minRa
private

Minimum right ascension.

Definition at line 104 of file VimsSkyMap.h.

Referenced by Init().

int Isis::VimsSkyMap::p_nlUv
private

Normal or high resolution line uv.

Definition at line 96 of file VimsSkyMap.h.

int Isis::VimsSkyMap::p_nsUv
private

Normal or high resolution sample uv.

Definition at line 95 of file VimsSkyMap.h.

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

Right ascension map.

Definition at line 108 of file VimsSkyMap.h.

Referenced by Init(), and SetSky().

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 99 of file VimsSkyMap.h.

Referenced by Init().

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 97 of file VimsSkyMap.h.

Referenced by Init(), and SetFocalPlane().

double Isis::VimsSkyMap::p_ux
private

Distorted focal plane x, in millimeters.

Definition at line 82 of file VimsSkyMap.h.

Referenced by LookDirection(), and SetFocalPlane().

double Isis::VimsSkyMap::p_uy
private

Distorted focal plane y, in millimeters.

Definition at line 83 of file VimsSkyMap.h.

Referenced by LookDirection(), and SetFocalPlane().

double Isis::VimsSkyMap::p_uz
private

Distorted focal plane z, in millimeters.

Definition at line 84 of file VimsSkyMap.h.

Referenced by SetFocalPlane().

double Isis::VimsSkyMap::p_visExp
private

VIS exposure duration, divided by 1000.

Definition at line 93 of file VimsSkyMap.h.

Referenced by Init(), and SetFocalPlane().

double Isis::VimsSkyMap::p_xBore
private

X boresight.

Definition at line 88 of file VimsSkyMap.h.

Referenced by Init(), and LookDirection().

double Isis::VimsSkyMap::p_xPixSize
private

X pixel size.

Definition at line 86 of file VimsSkyMap.h.

Referenced by Init(), and LookDirection().

double Isis::VimsSkyMap::p_yBore
private

Y boresight.

Definition at line 89 of file VimsSkyMap.h.

Referenced by Init(), and LookDirection().

double Isis::VimsSkyMap::p_yPixSize
private

Y pixel size.

Definition at line 87 of file VimsSkyMap.h.

Referenced by Init(), and LookDirection().


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