USGS

Isis 3.0 Developer's Reference (API)

Home

Isis::VimsGroundMap Class Reference

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

#include <VimsGroundMap.h>

Inherits Isis::CameraGroundMap.

Public Types

enum  PartialType { WRT_Latitude, WRT_Longitude, WRT_Radius }

Public Member Functions

 VimsGroundMap (Camera *parent, Pvl &lab)
 Constructs the VimsGroundMap object.
virtual ~VimsGroundMap ()
 Destroys the VimsGroundMap object.
virtual bool SetFocalPlane (const double ux, const double uy, const double uz)
 Compute ground position from focal plane coordinate.
virtual bool SetGround (const Latitude &lat, const Longitude &lon)
 Compute undistorted focal plane coordinate from ground position.
virtual bool SetGround (const SurfacePoint &surfacePoint)
 Compute undistorted focal plane coordinate from ground position.
void Init (Pvl &lab)
 Initialize vims camera model.
virtual bool GetXY (const SurfacePoint &spoint, double *cudx, double *cudy)
 Compute undistorted focal plane coordinate from ground position using current Spice from SetImage call.
virtual bool GetXY (const double lat, const double lon, const double radius, double *cudx, double *cudy)
 Compute undistorted focal plane coordinate from ground position using current Spice from SetImage call.
virtual bool GetdXYdPosition (const SpicePosition::PartialType varType, int coefIndex, double *cudx, double *cudy)
 Compute derivative w/r to position of focal plane coordinate from ground position using current Spice from SetImage call.
virtual bool GetdXYdOrientation (const SpiceRotation::PartialType varType, int coefIndex, double *cudx, double *cudy)
 Compute derivative of focal plane coordinate w/r to orientation from ground position using current Spice from SetImage call.
virtual bool GetdXYdPoint (std::vector< double > d_lookB, double *cudx, double *cudy)
 Compute derivative of focal plane coordinate w/r to ground point from ground position using current Spice from SetImage call.
std::vector< double > PointPartial (SurfacePoint spoint, PartialType wrt)
 Compute derivative with respect to indicated variable of conversion function from lat/lon/rad to rectangular coord.
double DQuotient (std::vector< double > &look, std::vector< double > &dlook, int index)
 Convenience method for quotient rule applied to look vector.
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

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-03-16 Tracie Sucharski

Member Enumeration Documentation

Enumerator:
WRT_Latitude 
WRT_Longitude 
WRT_Radius 

Constructor & Destructor Documentation

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

Constructs the VimsGroundMap object.

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

References _FILEINFO_, Isis::Camera::ParentLines(), Isis::Camera::ParentSamples(), and Isis::IException::Programmer.

Isis::VimsGroundMap::~VimsGroundMap ( )
virtual

Destroys the VimsGroundMap object.

Member Function Documentation

double Isis::CameraGroundMap::DQuotient ( std::vector< double > &  look,
std::vector< double > &  dlook,
int  index 
)
inherited

Convenience method for quotient rule applied to look vector.

This method will compute the derivative of the following function (coordinate x or y) / (coordinate z)

Parameters
looklook vector in camera frame
dlookderivative of look vector in camera frame
indexvector value to differentiate
Returns
derivative
double Isis::CameraGroundMap::FocalPlaneX ( ) const
inlineinherited

Return undistorted focal plane x.

References Isis::CameraGroundMap::p_focalPlaneX.

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

Return undistorted focal plane y.

References Isis::CameraGroundMap::p_focalPlaneY.

bool Isis::CameraGroundMap::GetdXYdOrientation ( const SpiceRotation::PartialType  varType,
int  coefIndex,
double *  dx,
double *  dy 
)
virtualinherited

Compute derivative of focal plane coordinate w/r to orientation from ground position using current Spice from SetImage call.

This method will compute the derivative of the undistorted focal plane coordinate for a ground position with respect to the instrument orientation, using the current Spice settings (time and kernels) without resetting the current point values for lat/lon/radius/x/y.

Parameters
varTypeenumerated partial type (definitions in SpicePosition)
coefIndexcoefficient index of fit polynomial
*dxpointer to partial derivative of undistorted focal plane x
*dypointer to partial derivative of undistorted focal plane y
Returns
conversion was successful

References Isis::SpiceRotation::ReferenceVector(), and Isis::SpiceRotation::ToReferencePartial().

bool Isis::CameraGroundMap::GetdXYdPoint ( std::vector< double >  d_lookB,
double *  dx,
double *  dy 
)
virtualinherited

Compute derivative of focal plane coordinate w/r to ground point from ground position using current Spice from SetImage call.

This method will compute the derivative of the undistorted focal plane coordinate for a ground position with respect to lat, lon, or radius, using the current Spice settings (time and kernels) without resetting the current point values for lat/lon/radius/x/y.

Parameters
varTypeenumerated partial type (definitions in SpicePosition)
coefIndexcoefficient index of fit polynomial
*dxpointer to partial derivative of undistorted focal plane x
*dypointer to partial derivative of undistorted focal plane y
Returns
conversion was successful

Reimplemented in Isis::RadarGroundMap.

References Isis::SpiceRotation::J2000Vector(), and Isis::SpiceRotation::ReferenceVector().

bool Isis::CameraGroundMap::GetdXYdPosition ( const SpicePosition::PartialType  varType,
int  coefIndex,
double *  dx,
double *  dy 
)
virtualinherited

Compute derivative w/r to position of focal plane coordinate from ground position using current Spice from SetImage call.

This method will compute the derivative of the undistorted focal plane coordinate for a ground position with respect to a spacecraft position coordinate, using the current Spice settings (time and kernels) without resetting the current point values for lat/lon/radius/x/y.

Parameters
varTypeenumerated partial type (definitions in SpicePosition)
coefIndexcoefficient index of fit polynomial
*dxpointer to partial derivative of undistorted focal plane x
*dypointer to partial derivative of undistorted focal plane y
Returns
conversion was successful

Reimplemented in Isis::RadarGroundMap.

References Isis::SpicePosition::CoordinatePartial(), and Isis::SpiceRotation::ReferenceVector().

bool Isis::CameraGroundMap::GetXY ( const SurfacePoint point,
double *  cudx,
double *  cudy 
)
virtualinherited

Compute undistorted focal plane coordinate from ground position using current Spice from SetImage call.

This method will compute the undistorted focal plane coordinate for a ground position, using the current Spice settings (time and kernels) without resetting the current point values for lat/lon/radius/p_pB/x/y. The class value for p_look is set by this method.

Parameters
point
Returns
conversion was successful

Reimplemented in Isis::RadarGroundMap.

References Isis::SurfacePoint::GetX(), Isis::SurfacePoint::GetY(), Isis::SurfacePoint::GetZ(), Isis::Displacement::kilometers(), Isis::PI(), and Isis::SpiceRotation::ReferenceVector().

Referenced by Isis::ControlPoint::ComputeResiduals(), and Isis::ControlPoint::ComputeResiduals_Millimeters().

bool Isis::CameraGroundMap::GetXY ( const double  lat,
const double  lon,
const double  radius,
double *  cudx,
double *  cudy 
)
virtualinherited

Compute undistorted focal plane coordinate from ground position using current Spice from SetImage call.

This method will compute the undistorted focal plane coordinate for a ground position, using the current Spice settings (time and kernels) without resetting the current point values for lat/lon/radius/p_pB/x/y. The class value for p_look is set by this method.

Parameters
latLatitude in degrees
lonLongitude in degrees
radius
Returns
conversion was successful
std::vector< double > Isis::CameraGroundMap::PointPartial ( SurfacePoint  spoint,
PartialType  wrt 
)
inherited

Compute derivative with respect to indicated variable of conversion function from lat/lon/rad to rectangular coord.

Parameters
latplanetocentric latitude in degrees
lonplanetocentric longitude in degrees
radiuslocal radius in meters
wrttake derivative with respect to this value
Returns
partialDerivative

References Isis::SurfacePoint::GetLatitude(), Isis::SurfacePoint::GetLocalRadius(), Isis::SurfacePoint::GetLongitude(), Isis::Distance::kilometers(), and Isis::Angle::radians().

bool Isis::VimsGroundMap::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
bool Indicates whether the conversion was successful

Reimplemented from Isis::CameraGroundMap.

References Isis::CameraGroundMap::p_camera, Isis::Camera::ParentLines(), Isis::Camera::ParentSamples(), Isis::Sensor::SetLookDirection(), and Isis::Sensor::setTime().

bool Isis::VimsGroundMap::SetGround ( const SurfacePoint surfacePoint)
virtual

Compute undistorted focal plane coordinate from ground position.

Parameters
surfacePointGround surface point
Returns
bool Indicates whether the conversion was successful.

Reimplemented from Isis::CameraGroundMap.

References Isis::SurfacePoint::GetLatitude(), Isis::SurfacePoint::GetLongitude(), and SetGround().

Member Data Documentation

double Isis::CameraGroundMap::p_focalPlaneX
protectedinherited
double Isis::CameraGroundMap::p_focalPlaneY
protectedinherited

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