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. More...
 
 ~LoCameraFiducialMap ()
 Destroys LoCameraFiducialMap object. More...
 

Private Member Functions

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

Private Attributes

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

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
History:
2007-11-01 Debbie A. Cook - Revised to handle medium resolution camera
History:
2008-06-18 Steven Lambright - Fixed documentation
History:
2010-09-23 Debbie A. Cook - Added std before vector declarations to avoid confusion with boost vector
History:
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.

◆ ~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 Isis::Affine::Coefficients(), Isis::Affine::InverseCoefficients(), and Isis::Affine::Solve().

◆ 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 Isis::PvlKeyword::size(), and Isis::toDouble().

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.

◆ p_fidSamples

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

Image sample positions of fiducial map.

Definition at line 53 of file LoCameraFiducialMap.h.

◆ 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.

◆ 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.

◆ p_naifIkCode

int Isis::LoCameraFiducialMap::p_naifIkCode
private

Naif instrument code.

Definition at line 57 of file LoCameraFiducialMap.h.


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