|
Isis 3.0 Object Programmers' Reference |
Home |
#include <LoMediumDistortionMap.h>
Inheritance diagram for Isis::Lo::LoMediumDistortionMap:


Creates a map for adding/removing optical distortions from the focal plane of the Lunar Orbiter medium resolution camera.
For internal use only.
Definition at line 37 of file LoMediumDistortionMap.h.
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. | |
| 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 |
Private Attributes | |
| double | p_sample0 |
| double | p_line0 |
| std::vector< double > | p_coefs |
| std::vector< double > | p_icoefs |
| Isis::Lo::LoMediumDistortionMap::LoMediumDistortionMap | ( | Camera * | parent | ) |
Constructor for LunarOrbiterMediumDistortionMap class.
Define the distortion model coefficients for a Lunar Orbiter Medium Resolution camera.
| parent | A pointer to the parent camera object |
For internal use only.
Definition at line 23 of file LoMediumDistortionMap.cpp.
| double Isis::CameraDistortionMap::FocalPlaneX | ( | ) | const [inline, inherited] |
Return distorted focal plane x.
Definition at line 62 of file CameraDistortionMap.h.
References Isis::CameraDistortionMap::p_focalPlaneX.
Referenced by Isis::PushFrameCameraGroundMap::FindDistance(), Isis::LineScanCameraGroundMap::FindFocalPlane(), Isis::Camera::RawFocalPlanetoImage(), Isis::Camera::SetRightAscensionDeclination(), and Isis::LineScanCameraSkyMap::SetSky().
| double Isis::CameraDistortionMap::FocalPlaneY | ( | ) | const [inline, inherited] |
Return distorted focal plane y.
Definition at line 65 of file CameraDistortionMap.h.
References Isis::CameraDistortionMap::p_focalPlaneY.
Referenced by Isis::PushFrameCameraGroundMap::FindDistance(), Isis::LineScanCameraGroundMap::FindFocalPlane(), Isis::Camera::RawFocalPlanetoImage(), Isis::Camera::SetRightAscensionDeclination(), and Isis::LineScanCameraSkyMap::SetSky().
| void Isis::Lo::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
| naifIkCode | Code to search for in instrument kernel |
Reimplemented from Isis::CameraDistortionMap.
Definition at line 65 of file LoMediumDistortionMap.cpp.
References Isis::CameraFocalPlaneMap::DetectorLine(), Isis::CameraFocalPlaneMap::DetectorSample(), Isis::Camera::FocalPlaneMap(), Isis::CameraDistortionMap::p_camera, p_line0, p_sample0, Isis::CameraDistortionMap::SetDistortion(), and Isis::CameraFocalPlaneMap::SetFocalPlane().
Referenced by Isis::Lo::LoMediumCamera::LoMediumCamera().
| bool Isis::Lo::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.
| dx | distorted focal plane x in millimeters | |
| dy | distorted focal plane y in millimeters |
Reimplemented from Isis::CameraDistortionMap.
Definition at line 93 of file LoMediumDistortionMap.cpp.
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, p_line0, Isis::CameraDistortionMap::p_odk, p_sample0, Isis::CameraDistortionMap::p_undistortedFocalPlaneX, Isis::CameraDistortionMap::p_undistortedFocalPlaneY, ratio(), Isis::CameraFocalPlaneMap::SetDetector(), and Isis::CameraFocalPlaneMap::SetFocalPlane().
| bool Isis::Lo::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.
| ux | undistorted focal plane x in millimeters | |
| uy | undistorted focal plane y in millimeters |
Reimplemented from Isis::CameraDistortionMap.
Definition at line 176 of file LoMediumDistortionMap.cpp.
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, p_line0, Isis::CameraDistortionMap::p_odk, p_sample0, Isis::CameraDistortionMap::p_undistortedFocalPlaneX, Isis::CameraDistortionMap::p_undistortedFocalPlaneY, Isis::CameraDistortionMap::p_zDirection, Isis::CameraFocalPlaneMap::SetDetector(), and Isis::CameraFocalPlaneMap::SetFocalPlane().
| double Isis::CameraDistortionMap::UndistortedFocalPlaneX | ( | ) | const [inline, inherited] |
Return undistorted focal plane x.
Definition at line 68 of file CameraDistortionMap.h.
References Isis::CameraDistortionMap::p_undistortedFocalPlaneX.
Referenced by Isis::ControlPoint::ComputeApriori(), and Isis::Camera::SetImage().
| double Isis::CameraDistortionMap::UndistortedFocalPlaneY | ( | ) | const [inline, inherited] |
Return undistorted focal plane y.
Definition at line 71 of file CameraDistortionMap.h.
References Isis::CameraDistortionMap::p_undistortedFocalPlaneY.
Referenced by Isis::ControlPoint::ComputeApriori(), and Isis::Camera::SetImage().
| double Isis::CameraDistortionMap::UndistortedFocalPlaneZ | ( | ) | const [inline, inherited] |
Return undistorted focal plane z.
Definition at line 74 of file CameraDistortionMap.h.
Referenced by Isis::BundleAdjust::AddPartials(), and Isis::Camera::SetImage().