Isis 3.0
Back | Home
Isis::CameraDistortionMap Class Reference

Distort/undistort focal plane coordinates. More...

#include <CameraDistortionMap.h>

Inherited by Isis::ApolloMetricDistortionMap, Isis::Chandrayaan1M3DistortionMap, Isis::DawnFcDistortionMap, Isis::KaguyaMiCameraDistortionMap, Isis::LoHighDistortionMap, Isis::LoMediumDistortionMap, Isis::LroNarrowAngleDistortionMap, Isis::LroWideAngleCameraDistortionMap, Isis::MarciDistortionMap, Isis::MocWideAngleDistortionMap, Isis::NewHorizonsLorriDistortionMap, Isis::NewHorizonsMvicFrameCameraDistortionMap, Isis::NewHorizonsMvicTdiCameraDistortionMap, Isis::RadarSlantRangeMap, Isis::RadialDistortionMap, Isis::ReseauDistortionMap, Isis::TaylorCameraDistortionMap, Isis::ThemisIrDistortionMap, and Isis::ThemisVisDistortionMap.

Public Member Functions

 CameraDistortionMap (Camera *parent, double zDirection=1.0)
 Camera distortion map constructor. More...
 
void SetDistortion (int naifIkCode)
 Load distortion coefficients. More...
 
virtual ~CameraDistortionMap ()
 Destructor. More...
 
virtual bool SetFocalPlane (double dx, double dy)
 Compute undistorted focal plane x/y. More...
 
virtual bool SetUndistortedFocalPlane (double ux, double uy)
 Compute distorted focal plane x/y. More...
 
std::vector< double > OpticalDistortionCoefficients () const
 Return optical distortion polynomial coefficients. More...
 
double ZDirection () const
 Return the direction of the focal plane Z-axis. More...
 
double FocalPlaneX () const
 Return distorted focal plane x. More...
 
double FocalPlaneY () const
 Return distorted focal plane y. More...
 
double UndistortedFocalPlaneX () const
 Return undistorted focal plane x. More...
 
double UndistortedFocalPlaneY () const
 Return undistorted focal plane y. More...
 
double UndistortedFocalPlaneZ () const
 Return undistorted focal plane z. More...
 

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 a camera.

See Also
Camera
Author
2005-02-01 Jeff Anderson

Constructor & Destructor Documentation

Isis::CameraDistortionMap::CameraDistortionMap ( Camera parent,
double  zDirection = 1.0 
)

Camera distortion map constructor.

Create a camera distortion map. This class maps between distorted and undistorted focal plane x/y's. The default mapping is the identity, that is, the focal plane x/y and undistorted focal plane x/y will be identical.

Parameters
parentthe parent camera that will use this distortion map
zDirectionthe direction of the focal plane Z-axis (either 1 or -1)

References p_camera, p_zDirection, and Isis::Camera::SetDistortionMap().

virtual Isis::CameraDistortionMap::~CameraDistortionMap ( )
inlinevirtual

Destructor.

Member Function Documentation

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

Return optical distortion polynomial coefficients.

References p_odk.

void Isis::CameraDistortionMap::SetDistortion ( int  naifIkCode)

Load distortion coefficients.

This method loads the distortion coefficients from the instrument kernel. The coefficients in the NAIF instrument kernel are expected to be in the form of:

* INSxxxxx_OD_K = ( coef1, coef2, ..., coefN)
*
* where xxxxx is the instrument code (always a negative number)
*

These coefficient will be used to convert from focal plane x,y to undistorted x,y as follows (add equation here)

Parameters
naifIkCodeCode to search for in instrument kernel

References p_camera, p_odk, and Isis::toString().

Referenced by Isis::CTXCamera::CTXCamera(), Isis::HayabusaAmicaCamera::HayabusaAmicaCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::LroWideAngleCameraDistortionMap::LroWideAngleCameraDistortionMap(), Isis::LoHighDistortionMap::SetDistortion(), and Isis::LoMediumDistortionMap::SetDistortion().

bool Isis::CameraDistortionMap::SetFocalPlane ( double  dx,
double  dy 
)
virtual

Compute undistorted focal plane x/y.

Compute undistorted focal plane x/y given a distorted focal plane x/y. This virtual method can be used to apply various techniques for removing optical distortion in the focal plane of a camera. The default implementation uses a polynomial distortion if the SetDistortion method is invoked. After calling this method, you can obtain the undistorted x/y via the UndistortedFocalPlaneX and UndistortedFocalPlaneY methods

Parameters
dxdistorted focal plane x in millimeters
dydistorted focal plane y in millimeters
Returns
if the conversion was successful
See Also
SetDistortion

Reimplemented in Isis::LoMediumDistortionMap, Isis::RadarSlantRangeMap, Isis::LoHighDistortionMap, Isis::LroWideAngleCameraDistortionMap, Isis::LroNarrowAngleDistortionMap, Isis::TaylorCameraDistortionMap, Isis::Chandrayaan1M3DistortionMap, Isis::KaguyaMiCameraDistortionMap, Isis::MarciDistortionMap, Isis::NewHorizonsMvicTdiCameraDistortionMap, Isis::NewHorizonsMvicFrameCameraDistortionMap, Isis::ThemisVisDistortionMap, Isis::ThemisIrDistortionMap, Isis::MocWideAngleDistortionMap, Isis::ReseauDistortionMap, Isis::NewHorizonsLorriDistortionMap, Isis::ApolloMetricDistortionMap, Isis::RadialDistortionMap, and Isis::DawnFcDistortionMap.

References Isis::E(), p_focalPlaneX, p_focalPlaneY, p_odk, p_undistortedFocalPlaneX, and p_undistortedFocalPlaneY.

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

bool Isis::CameraDistortionMap::SetUndistortedFocalPlane ( double  ux,
double  uy 
)
virtual

Compute distorted focal plane x/y.

Compute distorted focal plane x/y given an undistorted focal plane x/y. This virtual method is used to apply various techniques for adding optical distortion in the focal plane of a camera. The default implementation of this virtual method uses a polynomial distortion if the SetDistortion method was invoked. After calling this method, you can obtain the distorted x/y via the FocalPlaneX and FocalPlaneY methods

Parameters
uxundistorted focal plane x in millimeters
uyundistorted focal plane y in millimeters
Returns
if the conversion was successful
See Also
SetDistortion

Reimplemented in Isis::LoMediumDistortionMap, Isis::RadarSlantRangeMap, Isis::LoHighDistortionMap, Isis::LroWideAngleCameraDistortionMap, Isis::LroNarrowAngleDistortionMap, Isis::TaylorCameraDistortionMap, Isis::Chandrayaan1M3DistortionMap, Isis::KaguyaMiCameraDistortionMap, Isis::MarciDistortionMap, Isis::NewHorizonsMvicTdiCameraDistortionMap, Isis::NewHorizonsMvicFrameCameraDistortionMap, Isis::ThemisIrDistortionMap, Isis::ThemisVisDistortionMap, Isis::MocWideAngleDistortionMap, Isis::ReseauDistortionMap, Isis::NewHorizonsLorriDistortionMap, Isis::ApolloMetricDistortionMap, Isis::RadialDistortionMap, and Isis::DawnFcDistortionMap.

References Isis::E(), p_camera, p_focalPlaneX, p_focalPlaneY, p_odk, p_undistortedFocalPlaneX, p_undistortedFocalPlaneY, and Isis::Camera::PixelPitch().

Referenced by Isis::ControlPoint::ComputeResiduals(), Isis::Camera::SetRightAscensionDeclination(), and Isis::LineScanCameraSkyMap::SetSky().

double Isis::CameraDistortionMap::UndistortedFocalPlaneX ( ) const
inline

Return undistorted focal plane x.

References p_undistortedFocalPlaneX.

Referenced by Isis::ControlPoint::ComputeApriori(), and Isis::Camera::SetImage().

double Isis::CameraDistortionMap::UndistortedFocalPlaneY ( ) const
inline

Return undistorted focal plane y.

References p_undistortedFocalPlaneY.

Referenced by Isis::ControlPoint::ComputeApriori(), and Isis::Camera::SetImage().

double Isis::CameraDistortionMap::UndistortedFocalPlaneZ ( ) const
inline

Return undistorted focal plane z.

References Isis::Camera::FocalLength(), p_camera, and p_zDirection.

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

double Isis::CameraDistortionMap::ZDirection ( ) const

Return the direction of the focal plane Z-axis.

References p_zDirection.

Member Data Documentation

double Isis::CameraDistortionMap::p_focalPlaneX
protected

Referenced by 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::NewHorizonsMvicTdiCameraDistortionMap::SetFocalPlane(), Isis::MarciDistortionMap::SetFocalPlane(), Isis::KaguyaMiCameraDistortionMap::SetFocalPlane(), Isis::Chandrayaan1M3DistortionMap::SetFocalPlane(), Isis::TaylorCameraDistortionMap::SetFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetFocalPlane(), SetFocalPlane(), Isis::LoHighDistortionMap::SetFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetFocalPlane(), Isis::RadarSlantRangeMap::SetFocalPlane(), Isis::LoMediumDistortionMap::SetFocalPlane(), Isis::DawnFcDistortionMap::SetUndistortedFocalPlane(), Isis::RadialDistortionMap::SetUndistortedFocalPlane(), Isis::ApolloMetricDistortionMap::SetUndistortedFocalPlane(), Isis::NewHorizonsLorriDistortionMap::SetUndistortedFocalPlane(), Isis::ReseauDistortionMap::SetUndistortedFocalPlane(), Isis::MocWideAngleDistortionMap::SetUndistortedFocalPlane(), Isis::ThemisVisDistortionMap::SetUndistortedFocalPlane(), Isis::ThemisIrDistortionMap::SetUndistortedFocalPlane(), Isis::NewHorizonsMvicFrameCameraDistortionMap::SetUndistortedFocalPlane(), Isis::MarciDistortionMap::SetUndistortedFocalPlane(), Isis::NewHorizonsMvicTdiCameraDistortionMap::SetUndistortedFocalPlane(), Isis::Chandrayaan1M3DistortionMap::SetUndistortedFocalPlane(), Isis::KaguyaMiCameraDistortionMap::SetUndistortedFocalPlane(), Isis::TaylorCameraDistortionMap::SetUndistortedFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetUndistortedFocalPlane(), SetUndistortedFocalPlane(), Isis::LoHighDistortionMap::SetUndistortedFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetUndistortedFocalPlane(), Isis::RadarSlantRangeMap::SetUndistortedFocalPlane(), and Isis::LoMediumDistortionMap::SetUndistortedFocalPlane().

double Isis::CameraDistortionMap::p_focalPlaneY
protected

Referenced by 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::NewHorizonsMvicTdiCameraDistortionMap::SetFocalPlane(), Isis::MarciDistortionMap::SetFocalPlane(), Isis::KaguyaMiCameraDistortionMap::SetFocalPlane(), Isis::Chandrayaan1M3DistortionMap::SetFocalPlane(), Isis::TaylorCameraDistortionMap::SetFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetFocalPlane(), SetFocalPlane(), Isis::LoHighDistortionMap::SetFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetFocalPlane(), Isis::RadarSlantRangeMap::SetFocalPlane(), Isis::LoMediumDistortionMap::SetFocalPlane(), Isis::DawnFcDistortionMap::SetUndistortedFocalPlane(), Isis::RadialDistortionMap::SetUndistortedFocalPlane(), Isis::ApolloMetricDistortionMap::SetUndistortedFocalPlane(), Isis::NewHorizonsLorriDistortionMap::SetUndistortedFocalPlane(), Isis::ReseauDistortionMap::SetUndistortedFocalPlane(), Isis::MocWideAngleDistortionMap::SetUndistortedFocalPlane(), Isis::ThemisVisDistortionMap::SetUndistortedFocalPlane(), Isis::ThemisIrDistortionMap::SetUndistortedFocalPlane(), Isis::NewHorizonsMvicFrameCameraDistortionMap::SetUndistortedFocalPlane(), Isis::MarciDistortionMap::SetUndistortedFocalPlane(), Isis::NewHorizonsMvicTdiCameraDistortionMap::SetUndistortedFocalPlane(), Isis::Chandrayaan1M3DistortionMap::SetUndistortedFocalPlane(), Isis::KaguyaMiCameraDistortionMap::SetUndistortedFocalPlane(), Isis::TaylorCameraDistortionMap::SetUndistortedFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetUndistortedFocalPlane(), SetUndistortedFocalPlane(), Isis::LoHighDistortionMap::SetUndistortedFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetUndistortedFocalPlane(), Isis::RadarSlantRangeMap::SetUndistortedFocalPlane(), and Isis::LoMediumDistortionMap::SetUndistortedFocalPlane().

double Isis::CameraDistortionMap::p_undistortedFocalPlaneX
protected

Referenced by 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::NewHorizonsMvicTdiCameraDistortionMap::SetFocalPlane(), Isis::MarciDistortionMap::SetFocalPlane(), Isis::KaguyaMiCameraDistortionMap::SetFocalPlane(), Isis::Chandrayaan1M3DistortionMap::SetFocalPlane(), Isis::TaylorCameraDistortionMap::SetFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetFocalPlane(), SetFocalPlane(), Isis::LoHighDistortionMap::SetFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetFocalPlane(), Isis::RadarSlantRangeMap::SetFocalPlane(), Isis::LoMediumDistortionMap::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::NewHorizonsMvicTdiCameraDistortionMap::SetUndistortedFocalPlane(), Isis::MarciDistortionMap::SetUndistortedFocalPlane(), Isis::KaguyaMiCameraDistortionMap::SetUndistortedFocalPlane(), Isis::Chandrayaan1M3DistortionMap::SetUndistortedFocalPlane(), Isis::TaylorCameraDistortionMap::SetUndistortedFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetUndistortedFocalPlane(), SetUndistortedFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetUndistortedFocalPlane(), Isis::LoHighDistortionMap::SetUndistortedFocalPlane(), Isis::RadarSlantRangeMap::SetUndistortedFocalPlane(), Isis::LoMediumDistortionMap::SetUndistortedFocalPlane(), and UndistortedFocalPlaneX().

double Isis::CameraDistortionMap::p_undistortedFocalPlaneY
protected

Referenced by 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::NewHorizonsMvicTdiCameraDistortionMap::SetFocalPlane(), Isis::MarciDistortionMap::SetFocalPlane(), Isis::KaguyaMiCameraDistortionMap::SetFocalPlane(), Isis::Chandrayaan1M3DistortionMap::SetFocalPlane(), Isis::TaylorCameraDistortionMap::SetFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetFocalPlane(), SetFocalPlane(), Isis::LoHighDistortionMap::SetFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetFocalPlane(), Isis::RadarSlantRangeMap::SetFocalPlane(), Isis::LoMediumDistortionMap::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::NewHorizonsMvicTdiCameraDistortionMap::SetUndistortedFocalPlane(), Isis::MarciDistortionMap::SetUndistortedFocalPlane(), Isis::KaguyaMiCameraDistortionMap::SetUndistortedFocalPlane(), Isis::Chandrayaan1M3DistortionMap::SetUndistortedFocalPlane(), Isis::TaylorCameraDistortionMap::SetUndistortedFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetUndistortedFocalPlane(), SetUndistortedFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetUndistortedFocalPlane(), Isis::LoHighDistortionMap::SetUndistortedFocalPlane(), Isis::RadarSlantRangeMap::SetUndistortedFocalPlane(), Isis::LoMediumDistortionMap::SetUndistortedFocalPlane(), and UndistortedFocalPlaneY().

double Isis::CameraDistortionMap::p_zDirection
protected

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

U.S. Department of the Interior | U.S. Geological Survey
ISIS | Privacy & Disclaimers | Astrogeology Research Program
To contact us, please post comments and questions on the ISIS Support Center
File Modified: 07/12/2023 23:32:57