USGS

Isis 3.0 Object Programmers' Reference

Home

Isis::LineScanCameraGroundMap Class Reference

#include <LineScanCameraGroundMap.h>

Inheritance diagram for Isis::LineScanCameraGroundMap:

Inheritance graph
[legend]
Collaboration diagram for Isis::LineScanCameraGroundMap:

Collaboration graph
[legend]
List of all members.

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

For internal use only.

History:
2005-02-08 Jeff Anderson - Original version
History:
2005-08-24 Jeff Anderson - Fixed bug when algorithm was checking for the backside of the planet and convergence failed (checkHidden)
History:
2005-11-16 Jeff Anderson - Fixed bug when a image covers more than 180 degrees in an orbit which would cause two focal plane roots to be inside the start/end time range.
History:
2007-12-21 Debbie A. Cook - Added overloaded method SetGround that includes a radius argument
History:
2009-03-02 Steven Lambright - Added an additional method of finding the point in SetGround(...) if the original algorithm fails. The spacecraft position at the beginning and end of the image are now being used to estimate the correct line if the bounding check fails the first time through.

Definition at line 57 of file LineScanCameraGroundMap.h.

Public Member Functions

 LineScanCameraGroundMap (Camera *cam)
 Constructor.
virtual ~LineScanCameraGroundMap ()
 Destructor.
virtual bool SetGround (const double lat, const double lon)
 Compute undistorted focal plane coordinate from ground position.
virtual bool SetGround (const double lat, const double lon, const double radius)
 Compute undistorted focal plane coordinate from ground position.
virtual bool SetFocalPlane (const double ux, const double uy, const double uz)
 Compute ground position from focal plane coordinate.
double FocalPlaneX () const
 Return undistorted focal plane x.
double FocalPlaneY () const
 Return undistorted focal plane y.

Protected Types

 Success
 BoundingProblem
 Failure
enum  FindFocalPlaneStatus { Success, BoundingProblem, Failure }

Protected Member Functions

FindFocalPlaneStatus FindFocalPlane (const int &approxLine, const double &lat, const double &lon, const double &radius)
double FindSpacecraftDistance (int line, const double lat, const double lon)

Protected Attributes

Camerap_camera
double p_focalPlaneX
double p_focalPlaneY


Constructor & Destructor Documentation

Isis::LineScanCameraGroundMap::LineScanCameraGroundMap ( Camera cam  )  [inline]

Constructor.

Parameters:
cam pointer to camera model

Definition at line 63 of file LineScanCameraGroundMap.h.

virtual Isis::LineScanCameraGroundMap::~LineScanCameraGroundMap (  )  [inline, virtual]

Destructor.

Definition at line 66 of file LineScanCameraGroundMap.h.


Member Function Documentation

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

Return undistorted focal plane x.

Definition at line 68 of file CameraGroundMap.h.

References Isis::CameraGroundMap::p_focalPlaneX.

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

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

Return undistorted focal plane y.

Definition at line 71 of file CameraGroundMap.h.

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

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::Cassini::VimsGroundMap.

Definition at line 44 of file CameraGroundMap.cpp.

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

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

bool Isis::LineScanCameraGroundMap::SetGround ( const double  lat,
const double  lon,
const double  radius 
) [virtual]

Compute undistorted focal plane coordinate from ground position.

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

Reimplemented from Isis::CameraGroundMap.

Definition at line 58 of file LineScanCameraGroundMap.cpp.

References FindFocalPlane(), FindSpacecraftDistance(), Isis::Camera::Lines(), and Isis::CameraGroundMap::p_camera.

bool Isis::LineScanCameraGroundMap::SetGround ( const double  lat,
const double  lon 
) [virtual]

Compute undistorted focal plane coordinate from ground position.

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

Reimplemented from Isis::CameraGroundMap.

Definition at line 39 of file LineScanCameraGroundMap.cpp.

References Isis::CameraGroundMap::p_camera, and radius.


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