USGS

Isis 3.0 Object Programmers' Reference

Home

Isis::Lro::LroWideAngleCameraDistortionMap Class Reference

#include <LroWideAngleCameraDistortionMap.h>

Inheritance diagram for Isis::Lro::LroWideAngleCameraDistortionMap:

Inheritance graph
[legend]
Collaboration diagram for Isis::Lro::LroWideAngleCameraDistortionMap:

Collaboration graph
[legend]
List of all members.

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:
2008-08-22 Steven Lambright

For internal use only.

Definition at line 43 of file LroWideAngleCameraDistortionMap.h.

Public Member Functions

 LroWideAngleCameraDistortionMap (Camera *parent, int naifIkCode)
 Camera distortion map constructor.
virtual ~LroWideAngleCameraDistortionMap ()
 Destructor.
virtual bool SetFocalPlane (const double dx, const double dy)
 Compute undistorted focal plane x/y.
virtual bool SetUndistortedFocalPlane (const double ux, const double uy)
 Compute distorted focal plane x/y.
void SetFilter (int filter)
void SetDistortion (const int naifIkCode)
 Load distortion coefficients.
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

Camerap_camera
double p_focalPlaneX
double p_focalPlaneY
double p_undistortedFocalPlaneX
double p_undistortedFocalPlaneY
double p_zDirection
std::vector< double > p_odk

Private Member Functions

double GuessDx (double uX)

Private Attributes

int p_filter
double p_k1
double p_k2


Constructor & Destructor Documentation

Isis::Lro::LroWideAngleCameraDistortionMap::LroWideAngleCameraDistortionMap ( Camera parent,
int  naifIkCode 
)

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:
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 42 of file LroWideAngleCameraDistortionMap.cpp.

References p_k1, and p_k2.

virtual Isis::Lro::LroWideAngleCameraDistortionMap::~LroWideAngleCameraDistortionMap (  )  [inline, virtual]

Destructor.

Definition at line 48 of file LroWideAngleCameraDistortionMap.h.


Member Function Documentation

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::CameraDistortionMap::SetDistortion ( const int  naifIkCode  )  [inherited]

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:
naifIkCode Code to search for in instrument kernel
Todo:
Generalize to read variable number of coefficients

Add latex equation to the documentation

Reimplemented in Isis::Lo::LoHighDistortionMap, Isis::Lo::LoMediumDistortionMap, Isis::Lro::LroNarrowAngleDistortionMap, and Isis::TaylorCameraDistortionMap.

Definition at line 64 of file CameraDistortionMap.cpp.

References Isis::CameraDistortionMap::p_camera, and Isis::CameraDistortionMap::p_odk.

Referenced by Isis::Mro::CTXCamera::CTXCamera(), Isis::Mro::HiriseCamera::HiriseCamera(), Isis::Messenger::MdisCamera::MdisCamera(), Isis::Lo::LoMediumDistortionMap::SetDistortion(), and Isis::Lo::LoHighDistortionMap::SetDistortion().

bool Isis::Lro::LroWideAngleCameraDistortionMap::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.

Parameters:
dx distorted focal plane x in millimeters
dy distorted focal plane y in millimeters
Returns:
if the conversion was successful
See also:
SetDistortion
Todo:
Generalize polynomial equation

Reimplemented from Isis::CameraDistortionMap.

Definition at line 74 of file LroWideAngleCameraDistortionMap.cpp.

References Isis::CameraDistortionMap::p_focalPlaneX, Isis::CameraDistortionMap::p_focalPlaneY, p_k1, p_k2, Isis::CameraDistortionMap::p_undistortedFocalPlaneX, and Isis::CameraDistortionMap::p_undistortedFocalPlaneY.

bool Isis::Lro::LroWideAngleCameraDistortionMap::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.

Parameters:
ux undistorted focal plane x in millimeters
uy undistorted focal plane y in millimeters
Returns:
if the conversion was successful
See also:
SetDistortion
Todo:
Generalize polynomial equation

Figure out a better solution for divergence condition

Reimplemented from Isis::CameraDistortionMap.

Definition at line 106 of file LroWideAngleCameraDistortionMap.cpp.

References delta, Isis::E(), mult, Isis::CameraDistortionMap::p_focalPlaneX, Isis::CameraDistortionMap::p_focalPlaneY, p_k1, p_k2, Isis::CameraDistortionMap::p_undistortedFocalPlaneX, and Isis::CameraDistortionMap::p_undistortedFocalPlaneY.

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().


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