|
Isis 3.0 Developer's Reference (API) |
Home |
Distort/undistort focal plane coordinates. More...
#include <TaylorCameraDistortionMap.h>
Inherits Isis::CameraDistortionMap.
Public Member Functions | |
| TaylorCameraDistortionMap (Camera *parent, double zDirection=1.0) | |
| Taylor series camera distortion map constructor. | |
| void | SetDistortion (const int naifIkCode) |
| Load distortion coefficients. | |
| ~TaylorCameraDistortionMap () | |
| Destructor. | |
| bool | SetFocalPlane (const double dx, const double dy) |
| Compute undistorted focal plane x/y. | |
| bool | SetUndistortedFocalPlane (const double ux, const 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 Member Functions | |
| void | DistortionFunction (double ux, double uy, double *dx, double *dy) |
| Compute distorted focal plane dx,dy given an undistorted focal plane ux,uy. | |
| void | DistortionFunctionJacobian (double x, double y, double *Jxx, double *Jxy, double *Jyx, double *Jyy) |
| Jacobian of the distortion function. | |
Protected Attributes | |
| std::vector< double > | p_odtx |
| distortion x coefficients | |
| std::vector< double > | p_odty |
| distortion y coefficients | |
| 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. This class describes a non-radial distortion map. The distortion map is a third-order Taylor series expansion of a generic function.
| Isis::TaylorCameraDistortionMap::TaylorCameraDistortionMap | ( | Camera * | parent, | |
| double | zDirection = 1.0 | |||
| ) |
Taylor series camera distortion map constructor.
Create a geometric distortion model which is approximated by a third-order Taylor series expansion. 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) |
| Isis::TaylorCameraDistortionMap::~TaylorCameraDistortionMap | ( | ) | [inline] |
Destructor.
| void Isis::TaylorCameraDistortionMap::DistortionFunction | ( | double | ux, | |
| double | uy, | |||
| double * | dx, | |||
| double * | dy | |||
| ) | [protected] |
Compute distorted focal plane dx,dy given an undistorted focal plane ux,uy.
This describes the third order Taylor approximation to the distortion model.
| ux | Undistored x | |
| uy | Undistored y | |
| dx | Result distorted x | |
| dy | Result distorted y |
References p_odtx, and p_odty.
Referenced by SetFocalPlane(), and SetUndistortedFocalPlane().
| void Isis::TaylorCameraDistortionMap::DistortionFunctionJacobian | ( | double | x, | |
| double | y, | |||
| double * | Jxx, | |||
| double * | Jxy, | |||
| double * | Jyx, | |||
| double * | Jyy | |||
| ) | [protected] |
Jacobian of the distortion function.
The Jacobian was computed algebraically from the function described in the DistortionFunction method.
| x | ||
| y | ||
| Jxx | ||
| Jxy | ||
| Jyx | ||
| Jyy |
References p_odtx, and p_odty.
Referenced by SetFocalPlane().
| double Isis::CameraDistortionMap::FocalPlaneX | ( | ) | const [inline, inherited] |
Return distorted focal plane x.
References Isis::CameraDistortionMap::p_focalPlaneX.
Referenced by Isis::ControlPoint::ComputeResiduals(), Isis::Camera::SetRightAscensionDeclination(), and Isis::LineScanCameraSkyMap::SetSky().
| double Isis::CameraDistortionMap::FocalPlaneY | ( | ) | const [inline, inherited] |
Return distorted focal plane y.
References Isis::CameraDistortionMap::p_focalPlaneY.
Referenced by Isis::ControlPoint::ComputeResiduals(), Isis::Camera::SetRightAscensionDeclination(), and Isis::LineScanCameraSkyMap::SetSky().
| std::vector< double > Isis::CameraDistortionMap::OpticalDistortionCoefficients | ( | ) | const [inherited] |
Return optical distortion polynomial coefficients.
References Isis::CameraDistortionMap::p_odk.
| void Isis::TaylorCameraDistortionMap::SetDistortion | ( | const 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_T_X = ( xa, xb, xc, xd, xe, xf, xg, xh, xi, xj ) INSxxxxx_OD_T_Y = ( ya, yb, yc, yd, ye, yf, yg, yh, yi, yj ) where xxxxx is the instrument code (always a negative number)
These coefficient will be used to convert between focal plane xp,yp to undistorted x,y as follows
[ xp ] = [ xa xb xc xd xe xf xg xh xi xj ] * [ 1 ] [ yp ] [ ya yb yc yd ye yf yg yh yi yj ] [ x ] [ y ] [ x*x ] [ x*y ] [ y*y ] [ x*x*x ] [ x*x*y ] [ x*y*y ] [ y*y*y ]
| naifIkCode | Code to search for in instrument kernel |
Reimplemented from Isis::CameraDistortionMap.
References Isis::Spice::getDouble(), Isis::CameraDistortionMap::p_camera, p_odtx, p_odty, and Isis::toString().
Referenced by Isis::MdisCamera::MdisCamera().
| bool Isis::TaylorCameraDistortionMap::SetFocalPlane | ( | const double | dx, | |
| const double | dy | |||
| ) | [virtual] |
Compute undistorted focal plane x/y.
Compute undistorted focal plane x/y given a distorted focal plane x/y. The undistorted coordinates are solved for using the Newton-Raphson method for root-finding 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 from Isis::CameraDistortionMap.
References DistortionFunction(), DistortionFunctionJacobian(), Isis::E(), Isis::CameraDistortionMap::p_focalPlaneX, Isis::CameraDistortionMap::p_focalPlaneY, p_odtx, p_odty, Isis::CameraDistortionMap::p_undistortedFocalPlaneX, Isis::CameraDistortionMap::p_undistortedFocalPlaneY, x, and y.
| bool Isis::TaylorCameraDistortionMap::SetUndistortedFocalPlane | ( | const double | ux, | |
| const double | uy | |||
| ) | [virtual] |
Compute distorted focal plane x/y.
Compute distorted focal plane x/y given an undistorted focal plane x/y. The distortion model is approximated by a third order Taylor series expansion of a generic function 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 from Isis::CameraDistortionMap.
References DistortionFunction(), Isis::CameraDistortionMap::p_focalPlaneX, Isis::CameraDistortionMap::p_focalPlaneY, p_odtx, p_odty, Isis::CameraDistortionMap::p_undistortedFocalPlaneX, and Isis::CameraDistortionMap::p_undistortedFocalPlaneY.
| double Isis::CameraDistortionMap::UndistortedFocalPlaneX | ( | ) | const [inline, inherited] |
Return undistorted focal plane x.
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.
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.
References Isis::Camera::FocalLength(), Isis::CameraDistortionMap::p_camera, and Isis::CameraDistortionMap::p_zDirection.
Referenced by Isis::CameraGroundMap::GetdXYdOrientation(), Isis::CameraGroundMap::GetdXYdPoint(), Isis::CameraGroundMap::GetdXYdPosition(), Isis::CameraGroundMap::GetXY(), and Isis::Camera::SetImage().
| double Isis::CameraDistortionMap::ZDirection | ( | ) | const [inherited] |
Return the direction of the focal plane Z-axis.
References Isis::CameraDistortionMap::p_zDirection.
Camera* Isis::CameraDistortionMap::p_camera [protected, inherited] |
Referenced by Isis::CameraDistortionMap::CameraDistortionMap(), Isis::LroWideAngleCameraDistortionMap::LroWideAngleCameraDistortionMap(), Isis::MarciDistortionMap::MarciDistortionMap(), SetDistortion(), Isis::LroNarrowAngleDistortionMap::SetDistortion(), Isis::LoMediumDistortionMap::SetDistortion(), Isis::LoHighDistortionMap::SetDistortion(), Isis::CameraDistortionMap::SetDistortion(), Isis::MarciDistortionMap::SetFocalPlane(), Isis::MocWideAngleDistortionMap::SetFocalPlane(), Isis::LoMediumDistortionMap::SetFocalPlane(), Isis::ReseauDistortionMap::SetFocalPlane(), Isis::MarciDistortionMap::SetUndistortedFocalPlane(), Isis::MocWideAngleDistortionMap::SetUndistortedFocalPlane(), Isis::LoMediumDistortionMap::SetUndistortedFocalPlane(), Isis::ReseauDistortionMap::SetUndistortedFocalPlane(), Isis::CameraDistortionMap::SetUndistortedFocalPlane(), and Isis::CameraDistortionMap::UndistortedFocalPlaneZ().
double Isis::CameraDistortionMap::p_focalPlaneX [protected, inherited] |
Referenced by Isis::CameraDistortionMap::FocalPlaneX(), Isis::ThemisVisDistortionMap::SetFocalPlane(), Isis::ThemisIrDistortionMap::SetFocalPlane(), Isis::MarciDistortionMap::SetFocalPlane(), Isis::MocWideAngleDistortionMap::SetFocalPlane(), SetFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetFocalPlane(), Isis::LoMediumDistortionMap::SetFocalPlane(), Isis::LoHighDistortionMap::SetFocalPlane(), Isis::DawnFcDistortionMap::SetFocalPlane(), Isis::ReseauDistortionMap::SetFocalPlane(), Isis::RadialDistortionMap::SetFocalPlane(), Isis::RadarSlantRangeMap::SetFocalPlane(), Isis::CameraDistortionMap::SetFocalPlane(), Isis::ApolloMetricDistortionMap::SetFocalPlane(), Isis::ThemisVisDistortionMap::SetUndistortedFocalPlane(), Isis::ThemisIrDistortionMap::SetUndistortedFocalPlane(), Isis::MarciDistortionMap::SetUndistortedFocalPlane(), Isis::MocWideAngleDistortionMap::SetUndistortedFocalPlane(), SetUndistortedFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetUndistortedFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetUndistortedFocalPlane(), Isis::LoMediumDistortionMap::SetUndistortedFocalPlane(), Isis::LoHighDistortionMap::SetUndistortedFocalPlane(), Isis::DawnFcDistortionMap::SetUndistortedFocalPlane(), Isis::ReseauDistortionMap::SetUndistortedFocalPlane(), Isis::RadialDistortionMap::SetUndistortedFocalPlane(), Isis::RadarSlantRangeMap::SetUndistortedFocalPlane(), Isis::CameraDistortionMap::SetUndistortedFocalPlane(), and Isis::ApolloMetricDistortionMap::SetUndistortedFocalPlane().
double Isis::CameraDistortionMap::p_focalPlaneY [protected, inherited] |
Referenced by Isis::CameraDistortionMap::FocalPlaneY(), Isis::ThemisVisDistortionMap::SetFocalPlane(), Isis::ThemisIrDistortionMap::SetFocalPlane(), Isis::MarciDistortionMap::SetFocalPlane(), Isis::MocWideAngleDistortionMap::SetFocalPlane(), SetFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetFocalPlane(), Isis::LoMediumDistortionMap::SetFocalPlane(), Isis::LoHighDistortionMap::SetFocalPlane(), Isis::DawnFcDistortionMap::SetFocalPlane(), Isis::ReseauDistortionMap::SetFocalPlane(), Isis::RadialDistortionMap::SetFocalPlane(), Isis::RadarSlantRangeMap::SetFocalPlane(), Isis::CameraDistortionMap::SetFocalPlane(), Isis::ApolloMetricDistortionMap::SetFocalPlane(), Isis::ThemisVisDistortionMap::SetUndistortedFocalPlane(), Isis::ThemisIrDistortionMap::SetUndistortedFocalPlane(), Isis::MarciDistortionMap::SetUndistortedFocalPlane(), Isis::MocWideAngleDistortionMap::SetUndistortedFocalPlane(), SetUndistortedFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetUndistortedFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetUndistortedFocalPlane(), Isis::LoMediumDistortionMap::SetUndistortedFocalPlane(), Isis::LoHighDistortionMap::SetUndistortedFocalPlane(), Isis::DawnFcDistortionMap::SetUndistortedFocalPlane(), Isis::ReseauDistortionMap::SetUndistortedFocalPlane(), Isis::RadialDistortionMap::SetUndistortedFocalPlane(), Isis::RadarSlantRangeMap::SetUndistortedFocalPlane(), Isis::CameraDistortionMap::SetUndistortedFocalPlane(), and Isis::ApolloMetricDistortionMap::SetUndistortedFocalPlane().
std::vector<double> Isis::CameraDistortionMap::p_odk [protected, inherited] |
Referenced by Isis::LroWideAngleCameraDistortionMap::LroWideAngleCameraDistortionMap(), Isis::MarciDistortionMap::MarciDistortionMap(), Isis::CameraDistortionMap::OpticalDistortionCoefficients(), Isis::LroNarrowAngleDistortionMap::SetDistortion(), Isis::CameraDistortionMap::SetDistortion(), Isis::MarciDistortionMap::SetFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetFocalPlane(), Isis::LoMediumDistortionMap::SetFocalPlane(), Isis::LoHighDistortionMap::SetFocalPlane(), Isis::CameraDistortionMap::SetFocalPlane(), Isis::MarciDistortionMap::SetUndistortedFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetUndistortedFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetUndistortedFocalPlane(), Isis::LoMediumDistortionMap::SetUndistortedFocalPlane(), Isis::LoHighDistortionMap::SetUndistortedFocalPlane(), and Isis::CameraDistortionMap::SetUndistortedFocalPlane().
std::vector<double> Isis::TaylorCameraDistortionMap::p_odtx [protected] |
distortion x coefficients
Referenced by DistortionFunction(), DistortionFunctionJacobian(), SetDistortion(), SetFocalPlane(), and SetUndistortedFocalPlane().
std::vector<double> Isis::TaylorCameraDistortionMap::p_odty [protected] |
distortion y coefficients
Referenced by DistortionFunction(), DistortionFunctionJacobian(), SetDistortion(), SetFocalPlane(), and SetUndistortedFocalPlane().
double Isis::CameraDistortionMap::p_undistortedFocalPlaneX [protected, inherited] |
Referenced by Isis::ThemisVisDistortionMap::SetFocalPlane(), Isis::ThemisIrDistortionMap::SetFocalPlane(), Isis::MarciDistortionMap::SetFocalPlane(), Isis::MocWideAngleDistortionMap::SetFocalPlane(), SetFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetFocalPlane(), Isis::LoMediumDistortionMap::SetFocalPlane(), Isis::LoHighDistortionMap::SetFocalPlane(), Isis::DawnFcDistortionMap::SetFocalPlane(), Isis::ReseauDistortionMap::SetFocalPlane(), Isis::RadialDistortionMap::SetFocalPlane(), Isis::RadarSlantRangeMap::SetFocalPlane(), Isis::CameraDistortionMap::SetFocalPlane(), Isis::ApolloMetricDistortionMap::SetFocalPlane(), Isis::ThemisVisDistortionMap::SetUndistortedFocalPlane(), Isis::ThemisIrDistortionMap::SetUndistortedFocalPlane(), Isis::MarciDistortionMap::SetUndistortedFocalPlane(), Isis::MocWideAngleDistortionMap::SetUndistortedFocalPlane(), SetUndistortedFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetUndistortedFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetUndistortedFocalPlane(), Isis::LoMediumDistortionMap::SetUndistortedFocalPlane(), Isis::LoHighDistortionMap::SetUndistortedFocalPlane(), Isis::DawnFcDistortionMap::SetUndistortedFocalPlane(), Isis::ReseauDistortionMap::SetUndistortedFocalPlane(), Isis::RadialDistortionMap::SetUndistortedFocalPlane(), Isis::RadarSlantRangeMap::SetUndistortedFocalPlane(), Isis::CameraDistortionMap::SetUndistortedFocalPlane(), Isis::ApolloMetricDistortionMap::SetUndistortedFocalPlane(), and Isis::CameraDistortionMap::UndistortedFocalPlaneX().
double Isis::CameraDistortionMap::p_undistortedFocalPlaneY [protected, inherited] |
Referenced by Isis::ThemisVisDistortionMap::SetFocalPlane(), Isis::ThemisIrDistortionMap::SetFocalPlane(), Isis::MarciDistortionMap::SetFocalPlane(), Isis::MocWideAngleDistortionMap::SetFocalPlane(), SetFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetFocalPlane(), Isis::LoMediumDistortionMap::SetFocalPlane(), Isis::LoHighDistortionMap::SetFocalPlane(), Isis::DawnFcDistortionMap::SetFocalPlane(), Isis::ReseauDistortionMap::SetFocalPlane(), Isis::RadialDistortionMap::SetFocalPlane(), Isis::RadarSlantRangeMap::SetFocalPlane(), Isis::CameraDistortionMap::SetFocalPlane(), Isis::ApolloMetricDistortionMap::SetFocalPlane(), Isis::ThemisVisDistortionMap::SetUndistortedFocalPlane(), Isis::ThemisIrDistortionMap::SetUndistortedFocalPlane(), Isis::MarciDistortionMap::SetUndistortedFocalPlane(), Isis::MocWideAngleDistortionMap::SetUndistortedFocalPlane(), SetUndistortedFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetUndistortedFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetUndistortedFocalPlane(), Isis::LoMediumDistortionMap::SetUndistortedFocalPlane(), Isis::LoHighDistortionMap::SetUndistortedFocalPlane(), Isis::DawnFcDistortionMap::SetUndistortedFocalPlane(), Isis::ReseauDistortionMap::SetUndistortedFocalPlane(), Isis::RadialDistortionMap::SetUndistortedFocalPlane(), Isis::RadarSlantRangeMap::SetUndistortedFocalPlane(), Isis::CameraDistortionMap::SetUndistortedFocalPlane(), Isis::ApolloMetricDistortionMap::SetUndistortedFocalPlane(), and Isis::CameraDistortionMap::UndistortedFocalPlaneY().
double Isis::CameraDistortionMap::p_zDirection [protected, inherited] |