USGS

Isis 3.0 Object Programmers' Reference

Home

Isis::PushFrameCameraGroundMap Class Reference

#include <PushFrameCameraGroundMap.h>

Inheritance diagram for Isis::PushFrameCameraGroundMap:

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

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
Author:
2007-10-17 Steven Lambright and Jeff Anderson

For internal use only.

History:
2008-06-18 Steven Lambright Fixed documentation
History:
2008-10-23 Steven Lambright Added optimizations, fixed misc. bugs

Definition at line 46 of file PushFrameCameraGroundMap.h.

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 double lat, const double lon)
 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.
virtual bool SetGround (const double lat, const double lon, const double radius)
 Compute undistorted focal plane coordinate from ground position that includes a local radius.
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

Private Member Functions

double FindDistance (int framelet, const double lat, const double lon)
 This method finds the distance from the center of the framelet to the lat,lon.
double FindSpacecraftDistance (int framelet, const double lat, const double lon)
 This method finds the distance from the point on the ground to the spacecraft at the time the specified framelet was taken.

Private Attributes

bool p_evenFramelets
 True if the file contains even framelets.
int p_linearSearchOffset


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, false for odd

Definition at line 54 of file PushFrameCameraGroundMap.h.

References p_evenFramelets, and p_linearSearchOffset.

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

Destructor.

Definition at line 60 of file PushFrameCameraGroundMap.h.


Member Function Documentation

double Isis::PushFrameCameraGroundMap::FindDistance ( int  framelet,
const double  lat,
const double  lon 
) [private]

This method finds the distance from the center of the framelet to the lat,lon.

The distance is only in the line direction and is squared.

Parameters:
framelet 
lat 
lon 
Returns:
double Y-Distance squared from center of framelet to lat,lon

Definition at line 156 of file PushFrameCameraGroundMap.cpp.

References Isis::CameraFocalPlaneMap::DetectorLine(), Isis::Camera::DetectorMap(), Isis::CameraFocalPlaneMap::DetectorSample(), Isis::Camera::DistortionMap(), Isis::Camera::FocalLength(), Isis::Camera::FocalPlaneMap(), Isis::CameraDistortionMap::FocalPlaneX(), Isis::CameraDistortionMap::FocalPlaneY(), Isis::PushFrameCameraDetectorMap::frameletHeight(), Isis::PushFrameCameraDetectorMap::frameletLine(), Isis::CameraDetectorMap::LineScaleFactor(), Isis::CameraGroundMap::p_camera, Isis::PushFrameCameraDetectorMap::SetDetector(), Isis::CameraFocalPlaneMap::SetFocalPlane(), Isis::PushFrameCameraDetectorMap::SetFramelet(), and Isis::CameraDistortionMap::SetUndistortedFocalPlane().

Referenced by SetGround().

double Isis::PushFrameCameraGroundMap::FindSpacecraftDistance ( int  framelet,
const double  lat,
const double  lon 
) [private]

This method finds the distance from the point on the ground to the spacecraft at the time the specified framelet was taken.

Parameters:
framelet Which framelet was being captured (determines time)
lat Latitude of the point on the ground
lon Longitude of the point on the ground
Returns:
double Distance from spacecraft to the lat,lon

Definition at line 194 of file PushFrameCameraGroundMap.cpp.

References Isis::Camera::DetectorMap(), Isis::CameraGroundMap::p_camera, Isis::PushFrameCameraDetectorMap::SetFramelet(), and Isis::Sensor::SlantDistance().

Referenced by SetGround().

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::CameraGroundMap::SetGround ( const double  lat,
const double  lon,
const double  radius 
) [virtual, inherited]

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 in Isis::LineScanCameraGroundMap, and Isis::RadarGroundMap.

Definition at line 93 of file CameraGroundMap.cpp.

References Isis::CameraGroundMap::LookCtoFocalPlaneXY(), and Isis::CameraGroundMap::p_camera.

bool Isis::PushFrameCameraGroundMap::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 PushFrameCameraGroundMap.cpp.

References Isis::Camera::DetectorMap(), direction, FindDistance(), FindSpacecraftDistance(), Isis::CameraGroundMap::p_camera, p_evenFramelets, p_linearSearchOffset, Isis::PushFrameCameraDetectorMap::SetFramelet(), Isis::CameraGroundMap::SetGround(), Isis::PushFrameCameraDetectorMap::timeAscendingFramelets(), and Isis::PushFrameCameraDetectorMap::TotalFramelets().


Member Data Documentation

bool Isis::PushFrameCameraGroundMap::p_evenFramelets [private]

True if the file contains even framelets.

Definition at line 68 of file PushFrameCameraGroundMap.h.

Referenced by PushFrameCameraGroundMap(), and SetGround().


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