USGS

Isis 3.0 Object Programmers' Reference

Home

Isis::ThemisVisDistortionMap Class Reference

Distort/undistort focal plane coordinates. More...

#include <ThemisVisDistortionMap.h>

Inheritance diagram for Isis::ThemisVisDistortionMap:
Inheritance graph
Collaboration diagram for Isis::ThemisVisDistortionMap:
Collaboration graph

Public Member Functions

 ThemisVisDistortionMap (Camera *parent)
 Constructs a Distortion Map for the Themis Vis Camera.
 
virtual bool SetFocalPlane (const double dx, const double dy)
 Sets the focal plane value for the distortion map.
 
virtual bool SetUndistortedFocalPlane (const double ux, const double uy)
 Sets the focal plane value for the distortion map.
 
void SetDistortion (int naifIkCode)
 Load distortion coefficients.
 
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
 

Private Attributes

double p_irPixelPitch
 Pixel Pitch for Themis Ir Camera (in meters per pixel).
 
double p_visPixelPitch
 Pixel Pitch for Themis Vis Camera (in meters per pixel).
 
double p_ir_b5_effectiveDetectorLine
 
 Effective 1-based detector line number used for 

observing the Band 5, i.e., average of the 16 detector lines used for the band.

 
double p_irBoreLine
 The bore line for Themis IR instrument.
 

Detailed Description

Distort/undistort focal plane coordinates.

Creates a map for adding/removing optical distortions from the focal plane of the Themis VIS camera.

See Also
ThemisVisCamera
Author
2006-01-03 Elizabeth Miller
History:

2011-05-03 Jeannie Walldren - Fixed documentation. Removed Odyssey namespace wrap inside Isis wrap.

2014-04-17 Jeannie Backer - Updated documentation for forward/reverse directions using ISIS2 lev1u_m01_thm_routines.c. Added empty destructor.

2014-04-17 Jeannie Backer - Rewrote the reverse direction map (setFocalPlane) to solve for the forward direction and iterate until a solution in found. Fixes #1659

Definition at line 47 of file ThemisVisDistortionMap.h.

Constructor & Destructor Documentation

Isis::ThemisVisDistortionMap::ThemisVisDistortionMap ( Camera parent)

Constructs a Distortion Map for the Themis Vis Camera.

Parameters
parentPointer to the parent Camera object
History:
2011-05-03 Jeannie Walldren - Added NAIF error check. Fixed documentation.

Definition at line 36 of file ThemisVisDistortionMap.cpp.

References p_ir_b5_effectiveDetectorLine, p_irBoreLine, p_irPixelPitch, and p_visPixelPitch.

Member Function Documentation

double Isis::CameraDistortionMap::FocalPlaneX ( ) const
inlineinherited
double Isis::CameraDistortionMap::FocalPlaneY ( ) const
inlineinherited
std::vector< double > Isis::CameraDistortionMap::OpticalDistortionCoefficients ( ) const
inherited

Return optical distortion polynomial coefficients.

Definition at line 195 of file CameraDistortionMap.cpp.

void Isis::CameraDistortionMap::SetDistortion ( 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
naifIkCodeCode to search for in instrument kernel
Todo:

Generalize to read variable number of coefficients

Add latex equation to the documentation

Definition at line 65 of file CameraDistortionMap.cpp.

References Isis::toString().

Referenced by Isis::AmicaCamera::AmicaCamera(), Isis::CTXCamera::CTXCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::LroWideAngleCameraDistortionMap::LroWideAngleCameraDistortionMap(), Isis::LoHighDistortionMap::SetDistortion(), and Isis::LoMediumDistortionMap::SetDistortion().

bool Isis::ThemisVisDistortionMap::SetFocalPlane ( const double  dx,
const double  dy 
)
virtual

Sets the focal plane value for the distortion map.

Parameters
dxThe focal plane x value
dyThe focal plane y value
Returns
bool Returns true if the set was successful and false if it was not

Reimplemented from Isis::CameraDistortionMap.

Definition at line 171 of file ThemisVisDistortionMap.cpp.

References p_ir_b5_effectiveDetectorLine, p_irBoreLine, and p_irPixelPitch.

bool Isis::ThemisVisDistortionMap::SetUndistortedFocalPlane ( const double  ux,
const double  uy 
)
virtual

Sets the focal plane value for the distortion map.

Parameters
dxThe focal plane x value
dyThe focal plane y value
Returns
bool Returns true if the set was successful and false if it was not Sets the undistorted focal plane value for the distortion map
Parameters
uxThe undistorted focal plane x value
uyThe undistorted focal plane y value
Returns
bool Returns true if the set was successful and false if it was not

Reimplemented from Isis::CameraDistortionMap.

Definition at line 115 of file ThemisVisDistortionMap.cpp.

References p_ir_b5_effectiveDetectorLine, p_irBoreLine, and p_irPixelPitch.

double Isis::CameraDistortionMap::UndistortedFocalPlaneX ( ) const
inlineinherited
double Isis::CameraDistortionMap::UndistortedFocalPlaneY ( ) const
inlineinherited
double Isis::CameraDistortionMap::UndistortedFocalPlaneZ ( ) const
inlineinherited

Return undistorted focal plane z.

Definition at line 92 of file CameraDistortionMap.h.

References Isis::Camera::FocalLength().

Referenced by Isis::BundleAdjust::ApproximatePoint_ClosestApproach(), and Isis::Camera::SetImage().

double Isis::CameraDistortionMap::ZDirection ( ) const
inherited

Return the direction of the focal plane Z-axis.

Definition at line 201 of file CameraDistortionMap.cpp.

Member Data Documentation

double Isis::ThemisVisDistortionMap::p_ir_b5_effectiveDetectorLine
private

 Effective 1-based detector line number used for 

observing the Band 5, i.e., average of the 16 detector lines used for the band.

Detector line numbers increase upwards in the image.

Definition at line 59 of file ThemisVisDistortionMap.h.

Referenced by SetFocalPlane(), SetUndistortedFocalPlane(), and ThemisVisDistortionMap().

double Isis::ThemisVisDistortionMap::p_irBoreLine
private

The bore line for Themis IR instrument.

Definition at line 63 of file ThemisVisDistortionMap.h.

Referenced by SetFocalPlane(), SetUndistortedFocalPlane(), and ThemisVisDistortionMap().

double Isis::ThemisVisDistortionMap::p_irPixelPitch
private

Pixel Pitch for Themis Ir Camera (in meters per pixel).

Definition at line 56 of file ThemisVisDistortionMap.h.

Referenced by SetFocalPlane(), SetUndistortedFocalPlane(), and ThemisVisDistortionMap().

double Isis::ThemisVisDistortionMap::p_visPixelPitch
private

Pixel Pitch for Themis Vis Camera (in meters per pixel).

Definition at line 57 of file ThemisVisDistortionMap.h.

Referenced by ThemisVisDistortionMap().


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