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 | |
Camera * | p_camera |
double | p_focalPlaneX |
double | p_focalPlaneY |
double | p_undistortedFocalPlaneX |
double | p_undistortedFocalPlaneY |
double | p_zDirection |
std::vector< double > | p_odk |
Distort/undistort focal plane coordinates.
Creates a map for adding/removing optical distortions from the focal plane of a camera.
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.
parent | the parent camera that will use this distortion map |
zDirection | the direction of the focal plane Z-axis (either 1 or -1) |
References p_camera, p_zDirection, and Isis::Camera::SetDistortionMap().
|
inlinevirtual |
Destructor.
|
inline |
Return distorted focal plane x.
References p_focalPlaneX.
Referenced by Isis::ControlPoint::ComputeResiduals(), Isis::Camera::SetRightAscensionDeclination(), and Isis::LineScanCameraSkyMap::SetSky().
|
inline |
Return distorted focal plane y.
References p_focalPlaneY.
Referenced by Isis::ControlPoint::ComputeResiduals(), Isis::Camera::SetRightAscensionDeclination(), and Isis::LineScanCameraSkyMap::SetSky().
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:
These coefficient will be used to convert from focal plane x,y to undistorted x,y as follows (add equation here)
naifIkCode | Code 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().
|
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
dx | distorted focal plane x in millimeters |
dy | distorted focal plane y in millimeters |
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().
|
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
ux | undistorted focal plane x in millimeters |
uy | undistorted focal plane y in millimeters |
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().
|
inline |
Return undistorted focal plane x.
References p_undistortedFocalPlaneX.
Referenced by Isis::ControlPoint::ComputeApriori(), and Isis::Camera::SetImage().
|
inline |
Return undistorted focal plane y.
References p_undistortedFocalPlaneY.
Referenced by Isis::ControlPoint::ComputeApriori(), and Isis::Camera::SetImage().
|
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.
|
protected |
Referenced by Isis::LroWideAngleCameraDistortionMap::addFilter(), CameraDistortionMap(), Isis::MarciDistortionMap::MarciDistortionMap(), Isis::NewHorizonsMvicFrameCameraDistortionMap::NewHorizonsMvicFrameCameraDistortionMap(), Isis::NewHorizonsMvicTdiCameraDistortionMap::NewHorizonsMvicTdiCameraDistortionMap(), Isis::KaguyaMiCameraDistortionMap::SetDistortion(), Isis::TaylorCameraDistortionMap::SetDistortion(), SetDistortion(), Isis::LroNarrowAngleDistortionMap::SetDistortion(), Isis::LoHighDistortionMap::SetDistortion(), Isis::LoMediumDistortionMap::SetDistortion(), Isis::ReseauDistortionMap::SetFocalPlane(), Isis::MocWideAngleDistortionMap::SetFocalPlane(), Isis::MarciDistortionMap::SetFocalPlane(), Isis::LoMediumDistortionMap::SetFocalPlane(), Isis::ReseauDistortionMap::SetUndistortedFocalPlane(), Isis::MocWideAngleDistortionMap::SetUndistortedFocalPlane(), Isis::MarciDistortionMap::SetUndistortedFocalPlane(), SetUndistortedFocalPlane(), Isis::LoMediumDistortionMap::SetUndistortedFocalPlane(), and UndistortedFocalPlaneZ().
|
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().
|
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().
|
protected |
Referenced by Isis::MarciDistortionMap::MarciDistortionMap(), OpticalDistortionCoefficients(), Isis::LroWideAngleCameraDistortionMap::setBand(), SetDistortion(), Isis::LroNarrowAngleDistortionMap::SetDistortion(), Isis::MarciDistortionMap::SetFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetFocalPlane(), SetFocalPlane(), Isis::LoHighDistortionMap::SetFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetFocalPlane(), Isis::LoMediumDistortionMap::SetFocalPlane(), Isis::MarciDistortionMap::SetUndistortedFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetUndistortedFocalPlane(), SetUndistortedFocalPlane(), Isis::LoHighDistortionMap::SetUndistortedFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetUndistortedFocalPlane(), and Isis::LoMediumDistortionMap::SetUndistortedFocalPlane().
|
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().
|
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().
|
protected |
Referenced by CameraDistortionMap(), UndistortedFocalPlaneZ(), and ZDirection().
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 |