USGS

Isis 3.0 Developer's Reference (API)

Home

Isis::PushFrameCameraGroundMap Class Reference

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

#include <PushFrameCameraGroundMap.h>

Inherits Isis::CameraGroundMap.

List of all members.

Public Types

enum  PartialType { WRT_Latitude, WRT_Longitude, WRT_Radius }

Public Member Functions

 PushFrameCameraGroundMap (Camera *cam, bool evenFramelets)
 This is the constructor for the push frame ground map.
virtual ~PushFrameCameraGroundMap ()
 Destructor.
virtual bool SetGround (const Latitude &lat, const Longitude &lon)
 Compute undistorted focal plane coordinate from ground position.
virtual bool SetGround (const SurfacePoint &surfacePt)
 Compute undistorted focal plane coordinate from ground position that includes a local radius.
virtual bool SetFocalPlane (const double ux, const double uy, const double uz)
 Compute ground position from focal plane coordinate.
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 class is used to convert between undistorted focal plane coordinates (x/y) in millimeters and ground coordinates lat/lon for line scan cameras.

See also:
Camera
Author:
2007-10-17 Steven Lambright and Jeff Anderson

Member Enumeration Documentation

Enumerator:
WRT_Latitude 
WRT_Longitude 
WRT_Radius 

Constructor & Destructor Documentation

Isis::PushFrameCameraGroundMap::PushFrameCameraGroundMap ( Camera cam,
bool  evenFramelets 
) [inline]

This is the constructor for the push frame ground map.

Parameters:
cam Pointer to the camera
evenFramelets True if the image contains even framelets
virtual Isis::PushFrameCameraGroundMap::~PushFrameCameraGroundMap (  )  [inline, virtual]

Destructor.


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:
look look vector in camera frame
dlook derivative of look vector in camera frame
index vector value to differentiate
Returns:
derivative

Referenced by Isis::CameraGroundMap::GetdXYdOrientation(), Isis::CameraGroundMap::GetdXYdPoint(), and Isis::CameraGroundMap::GetdXYdPosition().

double Isis::CameraGroundMap::FocalPlaneX (  )  const [inline, inherited]

Return undistorted focal plane x.

References Isis::CameraGroundMap::p_focalPlaneX.

Referenced by Isis::ControlPoint::ComputeResiduals_Millimeters().

double Isis::CameraGroundMap::FocalPlaneY (  )  const [inline, inherited]

Return undistorted focal plane y.

References Isis::CameraGroundMap::p_focalPlaneY.

Referenced by Isis::ControlPoint::ComputeResiduals_Millimeters().

bool Isis::CameraGroundMap::GetdXYdOrientation ( const SpiceRotation::PartialType  varType,
int  coefIndex,
double *  dx,
double *  dy 
) [virtual, inherited]

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:
varType enumerated partial type (definitions in SpicePosition)
coefIndex coefficient index of fit polynomial
*dx pointer to partial derivative of undistorted focal plane x
*dy pointer to partial derivative of undistorted focal plane y
Returns:
conversion was successful

References Isis::Camera::DistortionMap(), Isis::CameraGroundMap::DQuotient(), Isis::Spice::InstrumentRotation(), Isis::CameraGroundMap::p_camera, and Isis::CameraDistortionMap::UndistortedFocalPlaneZ().

bool Isis::CameraGroundMap::GetdXYdPoint ( std::vector< double >  d_lookB,
double *  dx,
double *  dy 
) [virtual, inherited]

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:
varType enumerated partial type (definitions in SpicePosition)
coefIndex coefficient index of fit polynomial
*dx pointer to partial derivative of undistorted focal plane x
*dy pointer to partial derivative of undistorted focal plane y
Returns:
conversion was successful

Reimplemented in Isis::RadarGroundMap.

References Isis::Spice::BodyRotation(), Isis::Camera::DistortionMap(), Isis::CameraGroundMap::DQuotient(), Isis::Spice::InstrumentRotation(), Isis::CameraGroundMap::p_camera, and Isis::CameraDistortionMap::UndistortedFocalPlaneZ().

bool Isis::CameraGroundMap::GetdXYdPosition ( const SpicePosition::PartialType  varType,
int  coefIndex,
double *  dx,
double *  dy 
) [virtual, inherited]

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:
varType enumerated partial type (definitions in SpicePosition)
coefIndex coefficient index of fit polynomial
*dx pointer to partial derivative of undistorted focal plane x
*dy pointer to partial derivative of undistorted focal plane y
Returns:
conversion was successful

Reimplemented in Isis::RadarGroundMap.

References Isis::SpicePosition::CoordinatePartial(), Isis::Camera::DistortionMap(), Isis::CameraGroundMap::DQuotient(), Isis::Spice::InstrumentPosition(), Isis::Spice::InstrumentRotation(), Isis::CameraGroundMap::p_camera, and Isis::CameraDistortionMap::UndistortedFocalPlaneZ().

bool Isis::CameraGroundMap::GetXY ( const double  lat,
const double  lon,
const double  radius,
double *  cudx,
double *  cudy 
) [virtual, inherited]

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:
lat Latitude in degrees
lon Longitude in degrees
radius 
Returns:
conversion was successful

References Isis::Angle::Degrees, Isis::CameraGroundMap::GetXY(), and Isis::Distance::Meters.

bool Isis::CameraGroundMap::GetXY ( const SurfacePoint point,
double *  cudx,
double *  cudy 
) [virtual, inherited]

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::Spice::BodyRotation(), dist, Isis::Camera::DistortionMap(), emission, Isis::Displacement::GetKilometers(), Isis::SurfacePoint::GetX(), Isis::SurfacePoint::GetY(), Isis::SurfacePoint::GetZ(), Isis::Spice::InstrumentPosition(), Isis::Spice::InstrumentRotation(), Isis::Spice::IsSky(), Isis::CameraGroundMap::p_camera, Isis::PI(), and Isis::CameraDistortionMap::UndistortedFocalPlaneZ().

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

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:
lat planetocentric latitude in degrees
lon planetocentric longitude in degrees
radius local radius in meters
wrt take derivative with respect to this value
Returns:
partialDerivative

References Isis::Distance::GetKilometers(), Isis::SurfacePoint::GetLatitude(), Isis::SurfacePoint::GetLocalRadius(), Isis::SurfacePoint::GetLongitude(), Isis::Angle::GetRadians(), Isis::CameraGroundMap::WRT_Latitude, and Isis::CameraGroundMap::WRT_Longitude.

bool Isis::CameraGroundMap::SetFocalPlane ( const double  ux,
const double  uy,
const double  uz 
) [virtual, inherited]

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:
ux distorted focal plane x in millimeters
uy distorted focal plane y in millimeters
uz distorted focal plane z in millimeters
Returns:
conversion was successful

Reimplemented in Isis::RadarGroundMap, and Isis::VimsGroundMap.

References Isis::NaifStatus::CheckErrors(), Isis::CameraGroundMap::p_camera, and Isis::Sensor::SetLookDirection().

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

bool Isis::PushFrameCameraGroundMap::SetGround ( const SurfacePoint surfacePoint  )  [virtual]

Compute undistorted focal plane coordinate from ground position that includes a local radius.

Parameters:
lat planetocentric latitude in degrees
lon planetocentric longitude in degrees
radius local radius in meters
Returns:
conversion was successful

Reimplemented from Isis::CameraGroundMap.

bool Isis::PushFrameCameraGroundMap::SetGround ( const Latitude lat,
const Longitude lon 
) [virtual]

Compute undistorted focal plane coordinate from ground position.

Parameters:
lat 
lon 
Returns:
conversion was successful

Reimplemented from Isis::CameraGroundMap.


Member Data Documentation

Camera* Isis::CameraGroundMap::p_camera [protected, inherited]
double Isis::CameraGroundMap::p_focalPlaneX [protected, inherited]
double Isis::CameraGroundMap::p_focalPlaneY [protected, inherited]

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