Isis 3.0 Object Programmers' Reference |
Home |
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 |
Return undistorted focal plane x. | |
double | FocalPlaneY () const |
Return undistorted focal plane y. | |
Protected Attributes | |
Camera * | p_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 | |
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. | |
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.
Definition at line 58 of file VimsSkyMap.h.
Constructs the VimsSkyMap object.
Definition at line 48 of file VimsSkyMap.cpp.
|
inlinevirtual |
Destroys the VimsSkyMap object.
Definition at line 63 of file VimsSkyMap.h.
|
inlineinherited |
Return undistorted focal plane x.
Definition at line 60 of file CameraSkyMap.h.
Referenced by Isis::Camera::SetRightAscensionDeclination().
|
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.
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 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.
|
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 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().
|
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 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().
|
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 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().
|
private |
Line offset.
Definition at line 102 of file VimsSkyMap.h.
Referenced by Init(), and LookDirection().
|
private |
Sample offset.
Definition at line 101 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 91 of file VimsSkyMap.h.
Referenced by Init(), and SetFocalPlane().
|
private |
|
private |
Start ephemeris time.
Definition at line 77 of file VimsSkyMap.h.
Referenced by Init(), and SetFocalPlane().
|
private |
Exposure duration.
Definition at line 79 of file VimsSkyMap.h.
|
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().
|
private |
IR exposure duration, divided by 1000.
Definition at line 94 of file VimsSkyMap.h.
Referenced by Init(), and SetFocalPlane().
|
private |
Maximum declination.
Definition at line 107 of file VimsSkyMap.h.
|
private |
Maximum right ascension.
Definition at line 105 of file VimsSkyMap.h.
|
private |
|
private |
|
private |
Normal or high resolution line uv.
Definition at line 96 of file VimsSkyMap.h.
|
private |
Normal or high resolution sample uv.
Definition at line 95 of file VimsSkyMap.h.
|
private |
Right ascension map.
Definition at line 108 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 99 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 97 of file VimsSkyMap.h.
Referenced by Init(), and SetFocalPlane().
|
private |
Distorted focal plane x, in millimeters.
Definition at line 82 of file VimsSkyMap.h.
Referenced by LookDirection(), and SetFocalPlane().
|
private |
Distorted focal plane y, in millimeters.
Definition at line 83 of file VimsSkyMap.h.
Referenced by LookDirection(), and SetFocalPlane().
|
private |
Distorted focal plane z, in millimeters.
Definition at line 84 of file VimsSkyMap.h.
Referenced by SetFocalPlane().
|
private |
VIS exposure duration, divided by 1000.
Definition at line 93 of file VimsSkyMap.h.
Referenced by Init(), and SetFocalPlane().
|
private |
|
private |
X pixel size.
Definition at line 86 of file VimsSkyMap.h.
Referenced by Init(), and LookDirection().
|
private |
|
private |
Y pixel size.
Definition at line 87 of file VimsSkyMap.h.
Referenced by Init(), and LookDirection().