Isis 3 Programmer Reference
|
Convert between undistorted focal plane and ground coordinates. More...
#include <VimsSkyMap.h>
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 |
double | FocalPlaneY () const |
Protected Attributes | |
Camera * | p_camera |
The main camera to calculate distortions on. | |
double | p_focalPlaneX |
Undistorted x value for the focal plane. | |
double | p_focalPlaneY |
Undistorted y value for the focal plane. | |
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_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_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. | |
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.
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.
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.
Constructs the VimsSkyMap object.
Definition at line 37 of file VimsSkyMap.cpp.
|
inlinevirtual |
Destroys the VimsSkyMap object.
Definition at line 51 of file VimsSkyMap.h.
|
inlineinherited |
Definition at line 47 of file CameraSkyMap.h.
References Isis::CameraSkyMap::p_focalPlaneX.
Referenced by Isis::Camera::SetRightAscensionDeclination().
|
inlineinherited |
Definition at line 54 of file CameraSkyMap.h.
References Isis::CameraSkyMap::p_focalPlaneY.
Referenced by Isis::Camera::SetRightAscensionDeclination().
void Isis::VimsSkyMap::Init | ( | Pvl & | lab | ) |
Initialize vims sky model.
iException::Io | - "Cannot process NYQUIST(undersampled) mode " |
iException::Io | - "Can't open unit vector file" |
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 58 of file VimsSkyMap.cpp.
References Isis::Sensor::Declination(), 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.
|
private |
Determines the look direction in the camera coordinate system.
[out] | v | Look 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.
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 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().
|
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.
ux | distorted focal plane x in millimeters |
uy | distorted focal plane y in millimeters |
uz | distorted focal plane z in millimeters |
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().
|
virtual |
Sets the sky position to the given ra and dec.
ra | the right ascension |
dec | the declination |
Reimplemented from Isis::CameraSkyMap.
Definition at line 247 of file VimsSkyMap.cpp.
References Isis::Camera::IgnoreProjection(), Isis::CameraSkyMap::p_camera, p_decMap, Isis::CameraSkyMap::p_focalPlaneX, Isis::CameraSkyMap::p_focalPlaneY, p_maxDec, p_maxRa, p_raMap, Isis::Camera::ParentLines(), Isis::Camera::ParentSamples(), and Isis::Camera::SetImage().
|
protectedinherited |
The main camera to calculate distortions on.
Definition at line 59 of file CameraSkyMap.h.
Referenced by Isis::CameraSkyMap::CameraSkyMap(), Isis::CSMSkyMap::CSMSkyMap(), Init(), Isis::CameraSkyMap::SetFocalPlane(), SetFocalPlane(), Isis::CameraSkyMap::SetSky(), Isis::CSMSkyMap::SetSky(), Isis::LineScanCameraSkyMap::SetSky(), and SetSky().
|
private |
|
private |
Sample offset.
Definition at line 86 of file VimsSkyMap.h.
Referenced by Init(), and LookDirection().
|
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().
|
private |
|
private |
Start ephemeris time.
Definition at line 65 of file VimsSkyMap.h.
Referenced by Init(), and SetFocalPlane().
|
protectedinherited |
Undistorted x value for the focal plane.
Definition at line 60 of file CameraSkyMap.h.
Referenced by Isis::CameraSkyMap::FocalPlaneX(), Isis::CameraSkyMap::SetSky(), Isis::CSMSkyMap::SetSky(), Isis::LineScanCameraSkyMap::SetSky(), and SetSky().
|
protectedinherited |
Undistorted y value for the focal plane.
Definition at line 61 of file CameraSkyMap.h.
Referenced by Isis::CameraSkyMap::FocalPlaneY(), Isis::CameraSkyMap::SetSky(), Isis::CSMSkyMap::SetSky(), Isis::LineScanCameraSkyMap::SetSky(), and SetSky().
|
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().
|
private |
IR exposure duration, divided by 1000.
Definition at line 81 of file VimsSkyMap.h.
Referenced by Init(), and SetFocalPlane().
|
private |
Maximum declination.
Definition at line 92 of file VimsSkyMap.h.
|
private |
Maximum right ascension.
Definition at line 90 of file VimsSkyMap.h.
|
private |
|
private |
|
private |
Right ascension map.
Definition at line 93 of file VimsSkyMap.h.
|
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().
|
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().
|
private |
Distorted focal plane x, in millimeters.
Definition at line 69 of file VimsSkyMap.h.
Referenced by LookDirection(), and SetFocalPlane().
|
private |
Distorted focal plane y, in millimeters.
Definition at line 70 of file VimsSkyMap.h.
Referenced by LookDirection(), and SetFocalPlane().
|
private |
Distorted focal plane z, in millimeters.
Definition at line 71 of file VimsSkyMap.h.
Referenced by SetFocalPlane().
|
private |
VIS exposure duration, divided by 1000.
Definition at line 80 of file VimsSkyMap.h.
Referenced by Init(), and SetFocalPlane().
|
private |
|
private |
X pixel size.
Definition at line 73 of file VimsSkyMap.h.
Referenced by Init(), and LookDirection().
|
private |
|
private |
Y pixel size.
Definition at line 74 of file VimsSkyMap.h.
Referenced by Init(), and LookDirection().