USGS

Isis 3.0 Developer's Reference (API)

Home

Isis::LoHighDistortionMap Class Reference
[Spice, Instruments, and CamerasLunar Orbiter]

Distort/undistort focal plane coordinates. More...

#include <LoHighDistortionMap.h>

Inherits Isis::CameraDistortionMap.

List of all members.

Public Member Functions

 LoHighDistortionMap (Camera *parent)
 Constructor for LunarOrbiterHighDistortionMap class.
void SetDistortion (const int naifIkCode)
 Load LO High Resolution Camera perspective & distortion coefficients.
virtual bool SetFocalPlane (const double dx, const double dy)
 Compute undistorted focal plane x/y for Lo High Resolution Camera.
virtual bool SetUndistortedFocalPlane (const double ux, const double uy)
 Compute distorted focal plane x/y for Lo High Resolution Camera.
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

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

Detailed Description

Distort/undistort focal plane coordinates.

Creates a map for adding/removing optical distortions from the focal plane of the Lunar Orbiter high resolution camera.

See also:
LoHighCamera
Author:
2007-06-29 Debbie A. Cook

Constructor & Destructor Documentation

Isis::LoHighDistortionMap::LoHighDistortionMap ( Camera parent  ) 

Constructor for LunarOrbiterHighDistortionMap class.

Define the distortion model coefficients for a Lunar Orbiter High Resolution camera.

Parameters:
parent A pointer to the parent camera object

Member Function Documentation

double Isis::CameraDistortionMap::FocalPlaneX (  )  const [inline, inherited]
double Isis::CameraDistortionMap::FocalPlaneY (  )  const [inline, inherited]
std::vector< double > Isis::CameraDistortionMap::OpticalDistortionCoefficients (  )  const [inherited]

Return optical distortion polynomial coefficients.

References Isis::CameraDistortionMap::p_odk.

void Isis::LoHighDistortionMap::SetDistortion ( const int  naifIkCode  ) 

Load LO High Resolution Camera perspective & distortion coefficients.

This method loads the perspective correction factors, distortion centers, and coefficients from the instrument kernel. The perspective correction factors in the NAIF instrument kernel are expected to be in the form of:

 INSxxxxxxx_PERSPECTIVE_FACTORS = ( xpers, ypers)

 where xxxxxxx is the instrument code (always a negative number) and
 xpers and ypers are the X and Y perspective correction factors.

These factors will be used to convert from focal plane x,y to perspective-corrected x,y as follows.

pcx = FocalPlaneX * ( 1. + xpers*FocalPlaneX + ypers*FocalPlaneY); pcy = FocalPlaneY * ( 1. + xpers*FocalPlaneX + ypers*FocalPlaneY);

The distortion center coordinates (in mm) are expected to be in the form of:

 INSxxxxxxx_DISTORTION_CENTER = ( xcenter, ycenter)

 where xxxxxxx as is described above for the perspective factors.

The center will be used to calculate the radius of distortion in the equations below.

distX = PersCorrectedX - x0 distY = PersCorrectedY - y0

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 about for the perspective factors.

These coefficient will be used to convert from focal plane x,y to to undistorted x,y as follows (add equation here)

r^2 = DistX^2 + DistY^2 dr/r = k0 + k1*r^2 ux = PersCorrectedX - DistX*dr/r, similarly for uy

Parameters:
naifIkCode Code to search for in instrument kernel

Reimplemented from Isis::CameraDistortionMap.

References Isis::CameraDistortionMap::p_camera, and Isis::toString().

Referenced by Isis::LoHighCamera::LoHighCamera().

bool Isis::LoHighDistortionMap::SetFocalPlane ( const double  dx,
const double  dy 
) [virtual]

Compute undistorted focal plane x/y for Lo High Resolution Camera.

Compute undistorted focal plane x/y given a distorted focal plane x/y for the Lunar Orbiter High 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.

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

Reimplemented from Isis::CameraDistortionMap.

References Isis::E(), Isis::CameraDistortionMap::p_focalPlaneX, Isis::CameraDistortionMap::p_focalPlaneY, Isis::CameraDistortionMap::p_odk, Isis::CameraDistortionMap::p_undistortedFocalPlaneX, Isis::CameraDistortionMap::p_undistortedFocalPlaneY, and r2.

bool Isis::LoHighDistortionMap::SetUndistortedFocalPlane ( const double  ux,
const double  uy 
) [virtual]

Compute distorted focal plane x/y for Lo High Resolution Camera.

Compute distorted focal plane x/y given an undistorted focal plane x/y for the Lunar Orbiter High Resolution Camera. This method applies both a perspective error and 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.

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

Reimplemented from Isis::CameraDistortionMap.

References Isis::E(), Isis::CameraDistortionMap::p_focalPlaneX, Isis::CameraDistortionMap::p_focalPlaneY, Isis::CameraDistortionMap::p_odk, Isis::CameraDistortionMap::p_undistortedFocalPlaneX, Isis::CameraDistortionMap::p_undistortedFocalPlaneY, and Isis::CameraDistortionMap::p_zDirection.

double Isis::CameraDistortionMap::UndistortedFocalPlaneX (  )  const [inline, inherited]
double Isis::CameraDistortionMap::UndistortedFocalPlaneY (  )  const [inline, inherited]
double Isis::CameraDistortionMap::UndistortedFocalPlaneZ (  )  const [inline, inherited]
double Isis::CameraDistortionMap::ZDirection (  )  const [inherited]

Return the direction of the focal plane Z-axis.

References Isis::CameraDistortionMap::p_zDirection.


Member Data Documentation

double Isis::CameraDistortionMap::p_focalPlaneX [protected, inherited]

Referenced by Isis::CameraDistortionMap::FocalPlaneX(), Isis::ThemisVisDistortionMap::SetFocalPlane(), Isis::ThemisIrDistortionMap::SetFocalPlane(), Isis::MarciDistortionMap::SetFocalPlane(), Isis::MocWideAngleDistortionMap::SetFocalPlane(), Isis::TaylorCameraDistortionMap::SetFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetFocalPlane(), Isis::LoMediumDistortionMap::SetFocalPlane(), 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(), Isis::TaylorCameraDistortionMap::SetUndistortedFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetUndistortedFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetUndistortedFocalPlane(), Isis::LoMediumDistortionMap::SetUndistortedFocalPlane(), 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(), Isis::TaylorCameraDistortionMap::SetFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetFocalPlane(), Isis::LoMediumDistortionMap::SetFocalPlane(), 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(), Isis::TaylorCameraDistortionMap::SetUndistortedFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetUndistortedFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetUndistortedFocalPlane(), Isis::LoMediumDistortionMap::SetUndistortedFocalPlane(), 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::ThemisVisDistortionMap::SetFocalPlane(), Isis::ThemisIrDistortionMap::SetFocalPlane(), Isis::MarciDistortionMap::SetFocalPlane(), Isis::MocWideAngleDistortionMap::SetFocalPlane(), Isis::TaylorCameraDistortionMap::SetFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetFocalPlane(), Isis::LoMediumDistortionMap::SetFocalPlane(), 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(), Isis::TaylorCameraDistortionMap::SetUndistortedFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetUndistortedFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetUndistortedFocalPlane(), Isis::LoMediumDistortionMap::SetUndistortedFocalPlane(), SetUndistortedFocalPlane(), Isis::DawnFcDistortionMap::SetUndistortedFocalPlane(), Isis::ReseauDistortionMap::SetUndistortedFocalPlane(), Isis::RadialDistortionMap::SetUndistortedFocalPlane(), Isis::RadarSlantRangeMap::SetUndistortedFocalPlane(), Isis::CameraDistortionMap::SetUndistortedFocalPlane(), Isis::ApolloMetricDistortionMap::SetUndistortedFocalPlane(), and Isis::CameraDistortionMap::UndistortedFocalPlaneX().

Referenced by Isis::ThemisVisDistortionMap::SetFocalPlane(), Isis::ThemisIrDistortionMap::SetFocalPlane(), Isis::MarciDistortionMap::SetFocalPlane(), Isis::MocWideAngleDistortionMap::SetFocalPlane(), Isis::TaylorCameraDistortionMap::SetFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetFocalPlane(), Isis::LoMediumDistortionMap::SetFocalPlane(), 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(), Isis::TaylorCameraDistortionMap::SetUndistortedFocalPlane(), Isis::LroWideAngleCameraDistortionMap::SetUndistortedFocalPlane(), Isis::LroNarrowAngleDistortionMap::SetUndistortedFocalPlane(), Isis::LoMediumDistortionMap::SetUndistortedFocalPlane(), 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]

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