|
Isis 3.0 Object Programmers' Reference |
Home |
Distort/undistort focal plane coordinates. More...
#include <CameraDistortionMap.h>


Public Member Functions | |
| CameraDistortionMap (Camera *parent, double zDirection=1.0) | |
| Camera distortion map constructor. | |
| void | SetDistortion (int naifIkCode) |
| Load distortion coefficients. | |
| virtual | ~CameraDistortionMap () |
| Destructor. | |
| virtual bool | SetFocalPlane (double dx, double dy) |
| Compute undistorted focal plane x/y. | |
| virtual bool | SetUndistortedFocalPlane (double ux, double uy) |
| Compute distorted focal plane x/y. | |
| 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 | |
| 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.
For internal use only.
Definition at line 54 of file CameraDistortionMap.h.
| 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) |
Definition at line 39 of file CameraDistortionMap.cpp.
References Isis::Camera::SetDistortionMap().
| virtual Isis::CameraDistortionMap::~CameraDistortionMap | ( | ) | [inline, virtual] |
Destructor.
Definition at line 61 of file CameraDistortionMap.h.
| double Isis::CameraDistortionMap::FocalPlaneX | ( | ) | const [inline] |
Return distorted focal plane x.
Definition at line 72 of file CameraDistortionMap.h.
Referenced by Isis::ControlPoint::ComputeResiduals(), Isis::PushFrameCameraGroundMap::FindDistance(), LineOffsetFunctor::operator()(), Isis::Camera::RawFocalPlanetoImage(), Isis::Camera::SetRightAscensionDeclination(), and Isis::LineScanCameraSkyMap::SetSky().
| double Isis::CameraDistortionMap::FocalPlaneY | ( | ) | const [inline] |
Return distorted focal plane y.
Definition at line 77 of file CameraDistortionMap.h.
Referenced by Isis::ControlPoint::ComputeResiduals(), Isis::PushFrameCameraGroundMap::FindDistance(), LineOffsetFunctor::operator()(), Isis::Camera::RawFocalPlanetoImage(), Isis::Camera::SetRightAscensionDeclination(), and Isis::LineScanCameraSkyMap::SetSky().
| std::vector< double > Isis::CameraDistortionMap::OpticalDistortionCoefficients | ( | ) | const |
Return optical distortion polynomial coefficients.
Definition at line 191 of file CameraDistortionMap.cpp.
| 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)
| naifIkCode | Code to search for in instrument kernel |
Generalize to read variable number of coefficients
Add latex equation to the documentation
Reimplemented in Isis::LoHighDistortionMap, Isis::LoMediumDistortionMap, Isis::LroNarrowAngleDistortionMap, and Isis::TaylorCameraDistortionMap.
Definition at line 64 of file CameraDistortionMap.cpp.
References Isis::toString().
Referenced by Isis::CTXCamera::CTXCamera(), and Isis::HiriseCamera::HiriseCamera().
| 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
| dx | distorted focal plane x in millimeters | |
| dy | distorted focal plane y in millimeters |
Reimplemented in Isis::ApolloMetricDistortionMap, Isis::RadarSlantRangeMap, Isis::RadialDistortionMap, Isis::ReseauDistortionMap, Isis::DawnFcDistortionMap, Isis::LoHighDistortionMap, Isis::LoMediumDistortionMap, Isis::LroNarrowAngleDistortionMap, Isis::LroWideAngleCameraDistortionMap, Isis::TaylorCameraDistortionMap, Isis::MocWideAngleDistortionMap, Isis::MarciDistortionMap, Isis::ThemisIrDistortionMap, and Isis::ThemisVisDistortionMap.
Definition at line 87 of file CameraDistortionMap.cpp.
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
| ux | undistorted focal plane x in millimeters | |
| uy | undistorted focal plane y in millimeters |
Generalize polynomial equation
Figure out a better solution for divergence condition
Reimplemented in Isis::ApolloMetricDistortionMap, Isis::RadarSlantRangeMap, Isis::RadialDistortionMap, Isis::ReseauDistortionMap, Isis::DawnFcDistortionMap, Isis::LoHighDistortionMap, Isis::LoMediumDistortionMap, Isis::LroNarrowAngleDistortionMap, Isis::LroWideAngleCameraDistortionMap, Isis::TaylorCameraDistortionMap, Isis::MocWideAngleDistortionMap, Isis::MarciDistortionMap, Isis::ThemisIrDistortionMap, and Isis::ThemisVisDistortionMap.
Definition at line 132 of file CameraDistortionMap.cpp.
References Isis::E(), and Isis::Camera::PixelPitch().
Referenced by Isis::ControlPoint::ComputeResiduals(), Isis::PushFrameCameraGroundMap::FindDistance(), LineOffsetFunctor::operator()(), Isis::Camera::RawFocalPlanetoImage(), Isis::Camera::SetRightAscensionDeclination(), and Isis::LineScanCameraSkyMap::SetSky().
| double Isis::CameraDistortionMap::UndistortedFocalPlaneX | ( | ) | const [inline] |
Return undistorted focal plane x.
Definition at line 82 of file CameraDistortionMap.h.
Referenced by Isis::BundleAdjust::ApproximatePoint_ClosestApproach(), Isis::ControlPoint::ComputeApriori(), and Isis::Camera::SetImage().
| double Isis::CameraDistortionMap::UndistortedFocalPlaneY | ( | ) | const [inline] |
Return undistorted focal plane y.
Definition at line 87 of file CameraDistortionMap.h.
Referenced by Isis::BundleAdjust::ApproximatePoint_ClosestApproach(), Isis::ControlPoint::ComputeApriori(), and Isis::Camera::SetImage().
| double Isis::CameraDistortionMap::UndistortedFocalPlaneZ | ( | ) | const [inline] |
Return undistorted focal plane z.
Definition at line 92 of file CameraDistortionMap.h.
References Isis::Camera::FocalLength().
Referenced by Isis::BundleAdjust::ApproximatePoint_ClosestApproach(), Isis::CameraGroundMap::GetdXYdOrientation(), Isis::CameraGroundMap::GetdXYdPoint(), Isis::CameraGroundMap::GetdXYdPosition(), Isis::CameraGroundMap::GetXY(), and Isis::Camera::SetImage().
| double Isis::CameraDistortionMap::ZDirection | ( | ) | const |
Return the direction of the focal plane Z-axis.
Definition at line 196 of file CameraDistortionMap.cpp.