Isis 3 Programmer Reference
Isis::LoCameraFiducialMap Class Reference

Computes map from image coordinates to focal plane based on fiducials. More...

#include <LoCameraFiducialMap.h>

Collaboration diagram for Isis::LoCameraFiducialMap:
Collaboration graph

Public Member Functions

 LoCameraFiducialMap (PvlGroup &inst, const int naifIkCode)
 Constructs mapping between Lunar Orbiter detectors and focal plane x/y.
 
 ~LoCameraFiducialMap ()
 Destroys LoCameraFiducialMap object.
 

Private Member Functions

void ReadFiducials (PvlGroup &inst)
 Reads the fiducials from the instrument group of the labels.
 
void CreateTrans (int xdir)
 Creates focal plane affine transform.
 

Private Attributes

std::vector< double > p_fidSamples
 Image sample positions of fiducial map.
 
std::vector< double > p_fidLines
 Image line positions of fiducial map.
 
std::vector< double > p_fidXCoords
 Focal plane X positions of fiducial map.
 
std::vector< double > p_fidYCoords
 Focal plane Y positions of fiducial map.
 
int p_naifIkCode
 Naif instrument code.
 

Detailed Description

Computes map from image coordinates to focal plane based on fiducials.

The LoCameraFiducialMap class allows for the computation of a transformation from image coordinates (sample,line) to focal plane coordinates (x,y) for either the Lunar Orbiter High Resolution Camera or the Lunar Orbiter Medium resolution camera for any of the last three Lunar Orbiter missions. The transformation map is an affine transformation defined by values written in the Isis Instrument group labels.

This class will load the fiducial sample/line and x/y values from the labels, compute the coefficients of the affine transformation, and place the coefficients in to the data pool. Typically these values are read from an iak, but for Lunar Orbiter they are frame dependent.

Author
2007-07-17 Debbie A. Cook
History

2007-07-17 Debbie A. Cook - Original Version

2007-11-01 Debbie A. Cook - Revised to handle medium resolution camera

2008-06-18 Steven Lambright - Fixed documentation

2010-09-23 Debbie A. Cook - Added std before vector declarations to avoid confusion with boost vector

2011-05-03 Jeannie Walldren - Updated documentation. Removed Lo namespace wrap inside Isis namespace wrap.

Definition at line 44 of file LoCameraFiducialMap.h.

Constructor & Destructor Documentation

◆ LoCameraFiducialMap()

Isis::LoCameraFiducialMap::LoCameraFiducialMap ( PvlGroup & inst,
const int naifIkCode )

Constructs mapping between Lunar Orbiter detectors and focal plane x/y.

This method sets the x-axis direction to -1 if the NAIF IK code is even and to 1 if the code is odd.

Parameters
instInstrument group from the Pvl labels
naifIkCodeNaif code of the Lunar Orbiter instrument for reading coefficients

Definition at line 27 of file LoCameraFiducialMap.cpp.

References CreateTrans(), p_naifIkCode, and ReadFiducials().

◆ ~LoCameraFiducialMap()

Isis::LoCameraFiducialMap::~LoCameraFiducialMap ( )
inline

Destroys LoCameraFiducialMap object.

Definition at line 48 of file LoCameraFiducialMap.h.

Member Function Documentation

◆ CreateTrans()

void Isis::LoCameraFiducialMap::CreateTrans ( int xdir)
private

Creates focal plane affine transform.

Parameters
xdirThe x-axis direction.
Exceptions
IException::User- "Unable to create fiducial map."

Definition at line 86 of file LoCameraFiducialMap.cpp.

References p_fidLines, p_fidSamples, p_fidXCoords, p_fidYCoords, p_naifIkCode, and Isis::IException::User.

Referenced by LoCameraFiducialMap().

◆ ReadFiducials()

void Isis::LoCameraFiducialMap::ReadFiducials ( PvlGroup & inst)
private

Reads the fiducials from the instrument group of the labels.

Parameters
instInstrument group from the Pvl labels
Exceptions
IException::User- "Unable to read fiducial mapping from cube labels - Input cube must be processed in Isis 2 through lofixlabel and converted to Isis with pds2isis"

Definition at line 53 of file LoCameraFiducialMap.cpp.

References p_fidLines, p_fidSamples, p_fidXCoords, p_fidYCoords, Isis::toDouble(), and Isis::IException::User.

Referenced by LoCameraFiducialMap().

Member Data Documentation

◆ p_fidLines

std::vector<double> Isis::LoCameraFiducialMap::p_fidLines
private

Image line positions of fiducial map.

Definition at line 54 of file LoCameraFiducialMap.h.

Referenced by CreateTrans(), and ReadFiducials().

◆ p_fidSamples

std::vector<double> Isis::LoCameraFiducialMap::p_fidSamples
private

Image sample positions of fiducial map.

Definition at line 53 of file LoCameraFiducialMap.h.

Referenced by CreateTrans(), and ReadFiducials().

◆ p_fidXCoords

std::vector<double> Isis::LoCameraFiducialMap::p_fidXCoords
private

Focal plane X positions of fiducial map.

Definition at line 55 of file LoCameraFiducialMap.h.

Referenced by CreateTrans(), and ReadFiducials().

◆ p_fidYCoords

std::vector<double> Isis::LoCameraFiducialMap::p_fidYCoords
private

Focal plane Y positions of fiducial map.

Definition at line 56 of file LoCameraFiducialMap.h.

Referenced by CreateTrans(), and ReadFiducials().

◆ p_naifIkCode

int Isis::LoCameraFiducialMap::p_naifIkCode
private

Naif instrument code.

Definition at line 57 of file LoCameraFiducialMap.h.

Referenced by CreateTrans(), and LoCameraFiducialMap().


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