USGS

Isis 3.0 Developer's Reference (API)

Home

Isis::LoMediumDistortionMap Class Reference

Distort/undistort focal plane coordinates. More...

#include <LoMediumDistortionMap.h>

Inherits Isis::CameraDistortionMap.

Public Member Functions

 LoMediumDistortionMap (Camera *parent)
 Constructor for LunarOrbiterMediumDistortionMap class.
 
void SetDistortion (const int naifIkCode)
 Load LO Medium Resolution Camera perspective & distortion coefficients.
 
virtual bool SetFocalPlane (const double dx, const double dy)
 Compute undistorted focal plane x/y for Lo Medium Resolution Camera.
 
virtual bool SetUndistortedFocalPlane (const double ux, const double uy)
 Compute distorted focal plane x/y for Lo Medium Resolution Camera.
 
std::vector< double > OpticalDistortionCoefficients () const
 Return optical distortion polynomial coefficients.
 
double ZDirection () const
 Return the direction of the focal plane Z-axis.
 
double FocalPlaneX () const
 Return distorted focal plane x.
 
double FocalPlaneY () const
 Return distorted focal plane y.
 
double UndistortedFocalPlaneX () const
 Return undistorted focal plane x.
 
double UndistortedFocalPlaneY () const
 Return undistorted focal plane y.
 
double UndistortedFocalPlaneZ () const
 Return undistorted focal plane z.
 

Protected Attributes

Camerap_camera
 
double p_focalPlaneX
 
double p_focalPlaneY
 
double p_undistortedFocalPlaneX
 
double p_undistortedFocalPlaneY
 
double p_zDirection
 
std::vector< double > p_odk
 

Detailed Description

Distort/undistort focal plane coordinates.

Creates a map for adding/removing optical distortions from the focal plane of the Lunar Orbiter medium resolution camera.

See Also
LoMediumCamera
Author
2007-07-31 Debbie A. Cook

Constructor & Destructor Documentation

Isis::LoMediumDistortionMap::LoMediumDistortionMap ( Camera parent)

Constructor for LunarOrbiterMediumDistortionMap class.

Define the distortion model coefficients for a Lunar Orbiter Medium Resolution camera.

Parameters
parentA pointer to the parent camera object

Member Function Documentation

double Isis::CameraDistortionMap::FocalPlaneX ( ) const
inlineinherited
double Isis::CameraDistortionMap::FocalPlaneY ( ) const
inlineinherited
std::vector< double > Isis::CameraDistortionMap::OpticalDistortionCoefficients ( ) const
inherited

Return optical distortion polynomial coefficients.

References Isis::CameraDistortionMap::p_odk.

void Isis::LoMediumDistortionMap::SetDistortion ( const int  naifIkCode)

Load LO Medium Resolution Camera perspective & distortion coefficients.

This method loads the distortion centers, and coefficients from the instrument kernel. * The distortion center coordinates (in mm) are expected to be in the form of:

INSxxxxxxx_DISTORTION_CENTER = ( xcenter, ycenter)
where xxxxxxx is the instrument code (always a negative number).

The center, (x0,y0), will be used to calculate the radius of distortion, r, in the equations below.

distX = x - x0 distY = y - y0, where (x,y) are the distorted focal plane coordinates. r^2 = (DistX^2 + DistY^2)/sref^2

The distortion coefficients in the NAIF instrument kernel are expected to be in the form of:

INSxxxxxxx_OD_K = ( coef1, coef2, ..., coefN)
where xxxxxxx is as is described above for the distortion center.

These coefficient will be used to convert from focal plane x,y to to undistorted x,y as follows:

dr/r = (k0 + k1*r^2 + k2*r^4)/sref ux = x - DistX*dr/r, similarly for uy

Parameters
naifIkCodeCode to search for in instrument kernel

References Isis::CameraFocalPlaneMap::DetectorLine(), Isis::CameraFocalPlaneMap::DetectorSample(), Isis::Camera::FocalPlaneMap(), Isis::CameraDistortionMap::p_camera, Isis::CameraDistortionMap::SetDistortion(), Isis::CameraFocalPlaneMap::SetFocalPlane(), and Isis::toString().

Referenced by Isis::LoMediumCamera::LoMediumCamera().

bool Isis::LoMediumDistortionMap::SetFocalPlane ( const double  dx,
const double  dy 
)
virtual

Compute undistorted focal plane x/y for Lo Medium Resolution Camera.

Compute undistorted focal plane x/y given a distorted focal plane x/y for the Lunar Orbiter Medium Resolution Camera. The polynomial used is described in the SetDistortion documentation. After calling this method, the undistorted x/y can be obtained via the UndistortedFocalPlaneX and UndistortedFocalPlaneY methods of the parent class.

Parameters
dxDistorted focal plane x in millimeters
dyDistorted focal plane y in millimeters
Returns
Whether the conversion was successful
See Also
SetDistortion

Reimplemented from Isis::CameraDistortionMap.

References Isis::CameraFocalPlaneMap::DetectorLine(), Isis::CameraFocalPlaneMap::DetectorSample(), Isis::Camera::FocalPlaneMap(), Isis::CameraFocalPlaneMap::FocalPlaneX(), Isis::CameraFocalPlaneMap::FocalPlaneY(), Isis::CameraDistortionMap::p_camera, Isis::CameraDistortionMap::p_focalPlaneX, Isis::CameraDistortionMap::p_focalPlaneY, Isis::CameraDistortionMap::p_odk, Isis::CameraDistortionMap::p_undistortedFocalPlaneX, Isis::CameraDistortionMap::p_undistortedFocalPlaneY, Isis::CameraFocalPlaneMap::SetDetector(), and Isis::CameraFocalPlaneMap::SetFocalPlane().

bool Isis::LoMediumDistortionMap::SetUndistortedFocalPlane ( const double  ux,
const double  uy 
)
virtual

Compute distorted focal plane x/y for Lo Medium Resolution Camera.

Compute distorted focal plane x/y given an undistorted focal plane x/y for the Lunar Orbiter Medium Resolution Camera. This method applies a distortion error based on a polynomial defined in the SetDistortion method. After calling this method the distorted x/y can be obtained via the FocalPlaneX and FocalPlaneY methods.

Parameters
uxUndistorted focal plane x in millimeters
uyUndistorted focal plane y in millimeters
Returns
Whether the conversion was successful
See Also
SetDistortion

Reimplemented from Isis::CameraDistortionMap.

References Isis::CameraFocalPlaneMap::DetectorLine(), Isis::CameraFocalPlaneMap::DetectorSample(), Isis::E(), Isis::Camera::FocalPlaneMap(), Isis::CameraFocalPlaneMap::FocalPlaneX(), Isis::CameraFocalPlaneMap::FocalPlaneY(), Isis::CameraDistortionMap::p_camera, Isis::CameraDistortionMap::p_focalPlaneX, Isis::CameraDistortionMap::p_focalPlaneY, Isis::CameraDistortionMap::p_odk, Isis::CameraDistortionMap::p_undistortedFocalPlaneX, Isis::CameraDistortionMap::p_undistortedFocalPlaneY, Isis::CameraFocalPlaneMap::SetDetector(), and Isis::CameraFocalPlaneMap::SetFocalPlane().

double Isis::CameraDistortionMap::UndistortedFocalPlaneX ( ) const
inlineinherited
double Isis::CameraDistortionMap::UndistortedFocalPlaneY ( ) const
inlineinherited
double Isis::CameraDistortionMap::UndistortedFocalPlaneZ ( ) const
inlineinherited
double Isis::CameraDistortionMap::ZDirection ( ) const
inherited

Return the direction of the focal plane Z-axis.

References Isis::CameraDistortionMap::p_zDirection.

Member Data Documentation

double Isis::CameraDistortionMap::p_focalPlaneX
protectedinherited

Referenced by Isis::CameraDistortionMap::FocalPlaneX(), Isis::RadialDistortionMap::SetFocalPlane(), Isis::DawnFcDistortionMap::SetFocalPlane(), Isis::ApolloMetricDistortionMap::SetFocalPlane(), Isis::NewHorizonsLorriDistortionMap::SetFocalPlane(), Isis::ReseauDistortionMap::SetFocalPlane(), Isis::MocWideAngleDistortionMap::SetFocalPlane(), Isis::ThemisIrDistortionMap::SetFocalPlane(), Isis::NewHorizonsMvicFrameCameraDistortionMap::SetFocalPlane(), Isis::ThemisVisDistortionMap::SetFocalPlane(), Isis::KaguyaMiCameraDistortionMap::SetFocalPlane(), Isis::NewHorizonsMvicTdiCameraDistortionMap::SetFocalPlane(), Isis::Chandrayaan1M3DistortionMap::SetFocalPlane(), Isis::MarciDistortionMap::SetFocalPlane(), Isis::TaylorCameraDistortionMap::SetFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetFocalPlane(), Isis::CameraDistortionMap::SetFocalPlane(), Isis::RadarSlantRangeMap::SetFocalPlane(), Isis::LoHighDistortionMap::SetFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetFocalPlane(), SetFocalPlane(), Isis::RadialDistortionMap::SetUndistortedFocalPlane(), Isis::DawnFcDistortionMap::SetUndistortedFocalPlane(), Isis::NewHorizonsLorriDistortionMap::SetUndistortedFocalPlane(), Isis::ApolloMetricDistortionMap::SetUndistortedFocalPlane(), Isis::ReseauDistortionMap::SetUndistortedFocalPlane(), Isis::MocWideAngleDistortionMap::SetUndistortedFocalPlane(), Isis::ThemisVisDistortionMap::SetUndistortedFocalPlane(), Isis::ThemisIrDistortionMap::SetUndistortedFocalPlane(), Isis::NewHorizonsMvicFrameCameraDistortionMap::SetUndistortedFocalPlane(), Isis::Chandrayaan1M3DistortionMap::SetUndistortedFocalPlane(), Isis::KaguyaMiCameraDistortionMap::SetUndistortedFocalPlane(), Isis::MarciDistortionMap::SetUndistortedFocalPlane(), Isis::NewHorizonsMvicTdiCameraDistortionMap::SetUndistortedFocalPlane(), Isis::TaylorCameraDistortionMap::SetUndistortedFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetUndistortedFocalPlane(), Isis::CameraDistortionMap::SetUndistortedFocalPlane(), Isis::RadarSlantRangeMap::SetUndistortedFocalPlane(), Isis::LoHighDistortionMap::SetUndistortedFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetUndistortedFocalPlane(), and SetUndistortedFocalPlane().

double Isis::CameraDistortionMap::p_focalPlaneY
protectedinherited

Referenced by Isis::CameraDistortionMap::FocalPlaneY(), Isis::RadialDistortionMap::SetFocalPlane(), Isis::DawnFcDistortionMap::SetFocalPlane(), Isis::ApolloMetricDistortionMap::SetFocalPlane(), Isis::NewHorizonsLorriDistortionMap::SetFocalPlane(), Isis::ReseauDistortionMap::SetFocalPlane(), Isis::MocWideAngleDistortionMap::SetFocalPlane(), Isis::ThemisIrDistortionMap::SetFocalPlane(), Isis::NewHorizonsMvicFrameCameraDistortionMap::SetFocalPlane(), Isis::ThemisVisDistortionMap::SetFocalPlane(), Isis::KaguyaMiCameraDistortionMap::SetFocalPlane(), Isis::NewHorizonsMvicTdiCameraDistortionMap::SetFocalPlane(), Isis::Chandrayaan1M3DistortionMap::SetFocalPlane(), Isis::MarciDistortionMap::SetFocalPlane(), Isis::TaylorCameraDistortionMap::SetFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetFocalPlane(), Isis::CameraDistortionMap::SetFocalPlane(), Isis::RadarSlantRangeMap::SetFocalPlane(), Isis::LoHighDistortionMap::SetFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetFocalPlane(), SetFocalPlane(), Isis::RadialDistortionMap::SetUndistortedFocalPlane(), Isis::DawnFcDistortionMap::SetUndistortedFocalPlane(), Isis::NewHorizonsLorriDistortionMap::SetUndistortedFocalPlane(), Isis::ApolloMetricDistortionMap::SetUndistortedFocalPlane(), Isis::ReseauDistortionMap::SetUndistortedFocalPlane(), Isis::MocWideAngleDistortionMap::SetUndistortedFocalPlane(), Isis::ThemisVisDistortionMap::SetUndistortedFocalPlane(), Isis::ThemisIrDistortionMap::SetUndistortedFocalPlane(), Isis::NewHorizonsMvicFrameCameraDistortionMap::SetUndistortedFocalPlane(), Isis::Chandrayaan1M3DistortionMap::SetUndistortedFocalPlane(), Isis::KaguyaMiCameraDistortionMap::SetUndistortedFocalPlane(), Isis::MarciDistortionMap::SetUndistortedFocalPlane(), Isis::NewHorizonsMvicTdiCameraDistortionMap::SetUndistortedFocalPlane(), Isis::TaylorCameraDistortionMap::SetUndistortedFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetUndistortedFocalPlane(), Isis::CameraDistortionMap::SetUndistortedFocalPlane(), Isis::RadarSlantRangeMap::SetUndistortedFocalPlane(), Isis::LoHighDistortionMap::SetUndistortedFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetUndistortedFocalPlane(), and SetUndistortedFocalPlane().

double Isis::CameraDistortionMap::p_undistortedFocalPlaneX
protectedinherited

Referenced by Isis::RadialDistortionMap::SetFocalPlane(), Isis::DawnFcDistortionMap::SetFocalPlane(), Isis::NewHorizonsLorriDistortionMap::SetFocalPlane(), Isis::ApolloMetricDistortionMap::SetFocalPlane(), Isis::ReseauDistortionMap::SetFocalPlane(), Isis::MocWideAngleDistortionMap::SetFocalPlane(), Isis::ThemisIrDistortionMap::SetFocalPlane(), Isis::NewHorizonsMvicFrameCameraDistortionMap::SetFocalPlane(), Isis::ThemisVisDistortionMap::SetFocalPlane(), Isis::KaguyaMiCameraDistortionMap::SetFocalPlane(), Isis::NewHorizonsMvicTdiCameraDistortionMap::SetFocalPlane(), Isis::Chandrayaan1M3DistortionMap::SetFocalPlane(), Isis::MarciDistortionMap::SetFocalPlane(), Isis::TaylorCameraDistortionMap::SetFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetFocalPlane(), Isis::CameraDistortionMap::SetFocalPlane(), Isis::RadarSlantRangeMap::SetFocalPlane(), Isis::LoHighDistortionMap::SetFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetFocalPlane(), SetFocalPlane(), Isis::RadialDistortionMap::SetUndistortedFocalPlane(), Isis::DawnFcDistortionMap::SetUndistortedFocalPlane(), Isis::ApolloMetricDistortionMap::SetUndistortedFocalPlane(), Isis::NewHorizonsLorriDistortionMap::SetUndistortedFocalPlane(), Isis::ReseauDistortionMap::SetUndistortedFocalPlane(), Isis::MocWideAngleDistortionMap::SetUndistortedFocalPlane(), Isis::ThemisIrDistortionMap::SetUndistortedFocalPlane(), Isis::ThemisVisDistortionMap::SetUndistortedFocalPlane(), Isis::NewHorizonsMvicFrameCameraDistortionMap::SetUndistortedFocalPlane(), Isis::Chandrayaan1M3DistortionMap::SetUndistortedFocalPlane(), Isis::KaguyaMiCameraDistortionMap::SetUndistortedFocalPlane(), Isis::NewHorizonsMvicTdiCameraDistortionMap::SetUndistortedFocalPlane(), Isis::MarciDistortionMap::SetUndistortedFocalPlane(), Isis::TaylorCameraDistortionMap::SetUndistortedFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetUndistortedFocalPlane(), Isis::CameraDistortionMap::SetUndistortedFocalPlane(), Isis::RadarSlantRangeMap::SetUndistortedFocalPlane(), Isis::LoHighDistortionMap::SetUndistortedFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetUndistortedFocalPlane(), SetUndistortedFocalPlane(), and Isis::CameraDistortionMap::UndistortedFocalPlaneX().

double Isis::CameraDistortionMap::p_undistortedFocalPlaneY
protectedinherited

Referenced by Isis::RadialDistortionMap::SetFocalPlane(), Isis::DawnFcDistortionMap::SetFocalPlane(), Isis::NewHorizonsLorriDistortionMap::SetFocalPlane(), Isis::ApolloMetricDistortionMap::SetFocalPlane(), Isis::ReseauDistortionMap::SetFocalPlane(), Isis::MocWideAngleDistortionMap::SetFocalPlane(), Isis::ThemisIrDistortionMap::SetFocalPlane(), Isis::NewHorizonsMvicFrameCameraDistortionMap::SetFocalPlane(), Isis::ThemisVisDistortionMap::SetFocalPlane(), Isis::KaguyaMiCameraDistortionMap::SetFocalPlane(), Isis::NewHorizonsMvicTdiCameraDistortionMap::SetFocalPlane(), Isis::Chandrayaan1M3DistortionMap::SetFocalPlane(), Isis::MarciDistortionMap::SetFocalPlane(), Isis::TaylorCameraDistortionMap::SetFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetFocalPlane(), Isis::CameraDistortionMap::SetFocalPlane(), Isis::RadarSlantRangeMap::SetFocalPlane(), Isis::LoHighDistortionMap::SetFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetFocalPlane(), SetFocalPlane(), Isis::RadialDistortionMap::SetUndistortedFocalPlane(), Isis::DawnFcDistortionMap::SetUndistortedFocalPlane(), Isis::ApolloMetricDistortionMap::SetUndistortedFocalPlane(), Isis::NewHorizonsLorriDistortionMap::SetUndistortedFocalPlane(), Isis::ReseauDistortionMap::SetUndistortedFocalPlane(), Isis::MocWideAngleDistortionMap::SetUndistortedFocalPlane(), Isis::ThemisIrDistortionMap::SetUndistortedFocalPlane(), Isis::ThemisVisDistortionMap::SetUndistortedFocalPlane(), Isis::NewHorizonsMvicFrameCameraDistortionMap::SetUndistortedFocalPlane(), Isis::Chandrayaan1M3DistortionMap::SetUndistortedFocalPlane(), Isis::KaguyaMiCameraDistortionMap::SetUndistortedFocalPlane(), Isis::NewHorizonsMvicTdiCameraDistortionMap::SetUndistortedFocalPlane(), Isis::MarciDistortionMap::SetUndistortedFocalPlane(), Isis::TaylorCameraDistortionMap::SetUndistortedFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetUndistortedFocalPlane(), Isis::CameraDistortionMap::SetUndistortedFocalPlane(), Isis::RadarSlantRangeMap::SetUndistortedFocalPlane(), Isis::LoHighDistortionMap::SetUndistortedFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetUndistortedFocalPlane(), SetUndistortedFocalPlane(), and Isis::CameraDistortionMap::UndistortedFocalPlaneY().


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