USGS

Isis 3.0 Object Programmers' Reference

Home

Isis::NewHorizonsLorriDistortionMap Class Reference

New Horizons LORRI Distortion Map. More...

#include <NewHorizonsLorriDistortionMap.h>

Inheritance diagram for Isis::NewHorizonsLorriDistortionMap:
Inheritance graph
Collaboration diagram for Isis::NewHorizonsLorriDistortionMap:
Collaboration graph

Public Member Functions

 NewHorizonsLorriDistortionMap (Camera *parent, double e2, double e5, double e6, double zDirection=1.0)
 Constructs a Distortion Map object for the New Horizons LORRI Camera.
bool SetFocalPlane (const double ux, const double uy)
 Compute undistorted focal plane x/y.
bool SetUndistortedFocalPlane (const double dx, const double dy)
 Compute distorted focal plane x/y.
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_e2
double p_e5
double p_e6

Detailed Description

New Horizons LORRI Distortion Map.

Author
2014-06-14 Stuart Sides
History:
2014-06-08 Staurt Sides - Original version. Equations and coefficients taken from Jet Propulsion Laboratory Interoffice Memorandum 2011/06/08 "New Horizons LORRI Geometric Calibration of August 2006" From: W. M. Owen Jr. and D. O'Coonnell
History:
2016-02-24 Staurt Sides - New Horizons LORRI distortion model changed to subtract the distortion when going from distorted to undistorted instead of adding, and adding the distortion when going from undistorted to destorted.

Definition at line 41 of file NewHorizonsLorriDistortionMap.h.

Constructor & Destructor Documentation

Isis::NewHorizonsLorriDistortionMap::NewHorizonsLorriDistortionMap ( Camera parent,
double  e2,
double  e5,
double  e6,
double  zDirection = 1.0 
)

Constructs a Distortion Map object for the New Horizons LORRI Camera.

Parameters
parentPointer to parent Camera object
e2
e2
e2
zDirectionpassed on to the parrent
History:
2014-06-15 Stuart Sides - Original version

Definition at line 42 of file NewHorizonsLorriDistortionMap.cpp.

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

Reimplemented in Isis::LoMediumDistortionMap, Isis::LoHighDistortionMap, Isis::LroNarrowAngleDistortionMap, Isis::TaylorCameraDistortionMap, and Isis::KaguyaMiCameraDistortionMap.

Definition at line 65 of file CameraDistortionMap.cpp.

References Isis::toString().

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

bool Isis::NewHorizonsLorriDistortionMap::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. After calling this method, you can obtain the undistorted x/y via the UndistortedFocalPlaneX and UndistortedFocalPlaneY methods

Parameters
dxDistorted focal plane x, in millimeters
dyDistorted focal plane y, in millimeters
Returns
whether the conversion was successful

Reimplemented from Isis::CameraDistortionMap.

Definition at line 62 of file NewHorizonsLorriDistortionMap.cpp.

bool Isis::NewHorizonsLorriDistortionMap::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. After calling this method, you can obtain the distorted x/y via the FocalPlaneX and FocalPlaneY methods

Parameters
uxUndistorted focal plane x, in millimeters
uyUndistorted focal plane y, in millimeters
Returns
whether the conversion was successful

Reimplemented from Isis::CameraDistortionMap.

Definition at line 109 of file NewHorizonsLorriDistortionMap.cpp.

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

Return the direction of the focal plane Z-axis.

Definition at line 201 of file CameraDistortionMap.cpp.


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