Isis Developer Reference
Isis::ApolloPanIO Class Reference

Calculates a series of affine transformations from the measured coordinates of the up to 90 fiducial marks on a complete (stiched) apollo panoramic cube. More...

#include <ApolloPanIO.h>

Collaboration diagram for Isis::ApolloPanIO:
Collaboration graph

Public Member Functions

 ApolloPanIO ()
 Constructs an ApolloPanIO object.
 
 ~ApolloPanIO ()
 Destroys the ApolloPanObject.
 
void initialize ()
 Initilizes member variables in preparation for solving for the interior orientation affines.
 
int fiducialObservation (int fiducialNumber, double machine_x, double machine_y)
 This method adds a measurement of the center of an apollo panoramic image fiducial mark for consideration in calculation of the image interior orienation.
 
int clearFiducialObservation (int fiducialNumber)
 This method removes a measurement of the center of an apollo panoramic image fiducial mark from consideration in calculation of the image interior orienation.
 
int computeInteriorOrienation ()
 This method leverages all the fiducial obersatvions to caculate a series of affine transformations for cube (machine) space into image space.
 
int machine2Image (double *machineX, double *machineY)
 This method does an in place (overwriting input) conversion of a cube coordinate (sample, line) into image coordinates Call after computeInteriorOrienation()
 
int machine2Image (double machineX, double machineY, double *imageX, double *imageY)
 This method does a conversion of a cube coordinates (sample, line) into image coordinates Call after computeInteriorOrienation()
 
int image2Machine (double *imageX, double *imageY)
 This method does an in place (overwriting input) conversion of an image coordinate into cube (machine) coordinates (sample, line) Call after computeInteriorOrienation()
 
int image2Machine (double imageX, double imageY, double *machineX, double *machineY)
 This method does a conversion of an image coordinates to a cube (sample, line) coordinates.
 
double stdevResiduals ()
 Accessor for the standard deviation of the residual vector lenghts Call after computeInteriorOrienation() and calc_residual_stats()
 
double meanResiduals ()
 Accessor for the mean (average) of the residual vector lenghts Call after computeInteriorOrienation() and calc_residual_stats()
 
double maxResiduals ()
 Accessor for the mean (average) of the residual vector lenghts Call after computeInteriorOrienation() and calc_residual_stats()
 

Detailed Description

Calculates a series of affine transformations from the measured coordinates of the up to 90 fiducial marks on a complete (stiched) apollo panoramic cube.

Description: The 90 Fiducial marks effectively divide a complete (stitched) apollo panormaic cube into 44 rectangular regions. 42 of these represent the same period of time, T, the center two are 0.5T. This class uses up to 44 2 dimensional affine transformations linked together with first order continuity conditions at the boundaries to enforce consistent line scan durations and correct warping in the film.

Author
2011-09-19 Orrin Thomas

Constructor & Destructor Documentation

◆ ApolloPanIO()

Isis::ApolloPanIO::ApolloPanIO ( )

Constructs an ApolloPanIO object.

References initialize().

◆ ~ApolloPanIO()

Isis::ApolloPanIO::~ApolloPanIO ( )

Destroys the ApolloPanObject.

Member Function Documentation

◆ clearFiducialObservation()

int Isis::ApolloPanIO::clearFiducialObservation ( int fiducialNumber)

This method removes a measurement of the center of an apollo panoramic image fiducial mark from consideration in calculation of the image interior orienation.

Parameters
fiducialNumberthe index of the fiducial mark [0,89], see ApolloPanIO.h documnetation for the numbering sequence
Returns
1 success
-1 failure, fiducial index invalid

◆ computeInteriorOrienation()

int Isis::ApolloPanIO::computeInteriorOrienation ( )

This method leverages all the fiducial obersatvions to caculate a series of affine transformations for cube (machine) space into image space.

The quality of solution can be accessed using the residual stats accessors.

Returns
1 success
-1 failure, insufficient fiducial measurements

References Isis::choleski_solve(), image2Machine(), and Isis::isymp().

◆ fiducialObservation()

int Isis::ApolloPanIO::fiducialObservation ( int fiducialNumber,
double machineX,
double machineY )

This method adds a measurement of the center of an apollo panoramic image fiducial mark for consideration in calculation of the image interior orienation.

Parameters
fiducialNumberthe index of the fiducial mark [0,89], see ApolloPanIO.h documnetation for the numbering sequence
machineXThe x coordinate (sample) of the fiducial mark in cube space
machineYThe y coordinate (line) of the fiducial mark in cube space
Returns
1 success
-1 failure, fiducial index invalid, or coordinates too large

◆ image2Machine() [1/2]

int Isis::ApolloPanIO::image2Machine ( double * imageX,
double * imageY )

This method does an in place (overwriting input) conversion of an image coordinate into cube (machine) coordinates (sample, line) Call after computeInteriorOrienation()

Parameters
imageXThe x coordinate (sample) of in image space cube space overwriten with the cube (machine) sample coordinate
imageYThe y coordinate of in image space overwriten with the cube machine sample coordinate
Returns
1 success
-1 failure, machine coordinate not within the image

Referenced by computeInteriorOrienation(), image2Machine(), and Isis::ApolloPanoramicDetectorMap::SetDetector().

◆ image2Machine() [2/2]

int Isis::ApolloPanIO::image2Machine ( double imageX,
double imageY,
double * machineX,
double * machineY )

This method does a conversion of an image coordinates to a cube (sample, line) coordinates.

Call after computeInteriorOrienation()

Parameters
imageXInput, the x coordinate (sample) in cube space
imageYINput, the y coordinate (line) in cube space
machineXOutput, the x coordinate (sample) in cube space
machineYOutput, the y coordinate (line) in cube space
Returns
1 success
-1 failure, y coordinate to be converted is too small, it is not within the domain of the image machine space
-2 failure, y coordinate to be converted is too large, it is not within the domain of the image machine space
0 failure, coordinate not within domain of the affines
1 successful conversion

References image2Machine().

◆ initialize()

void Isis::ApolloPanIO::initialize ( )

Initilizes member variables in preparation for solving for the interior orientation affines.

References FIDL, and FIDS.

Referenced by ApolloPanIO().

◆ machine2Image() [1/2]

int Isis::ApolloPanIO::machine2Image ( double * machineX,
double * machineY )

This method does an in place (overwriting input) conversion of a cube coordinate (sample, line) into image coordinates Call after computeInteriorOrienation()

Parameters
machineXThe x coordinate (sample) in cube space overwriten with the image coordinate
machineYThe y coordinate (line) in cube space overwriten with the image coordinate
Returns
1 success
-1 failure, machine coordinate not within the image

Referenced by machine2Image(), and Isis::ApolloPanoramicDetectorMap::SetParent().

◆ machine2Image() [2/2]

int Isis::ApolloPanIO::machine2Image ( double machineX,
double machineY,
double * imageX,
double * imageY )

This method does a conversion of a cube coordinates (sample, line) into image coordinates Call after computeInteriorOrienation()

Parameters
machineXInput, the x coordinate (sample) in cube space
machineYInput, the y coordinate (line) in cube space
imageXOutput, the x coordinate (sample) in cube space
imageYOutput, the y coordinate (line) in cube space
Returns
1 success
-1 failure, y coordinate to be converted is too small, it is not within the domain of the image machine space
-2 failure, y coordinate to be converted is too large, it is not within the domain of the image machine space
0 failure, coordinate not within domain of the affines
1 successful conversion

References machine2Image().

◆ maxResiduals()

double Isis::ApolloPanIO::maxResiduals ( )

Accessor for the mean (average) of the residual vector lenghts Call after computeInteriorOrienation() and calc_residual_stats()

Returns
-1 value not yet calculated

Referenced by Isis::ApolloPanoramicDetectorMap::maxResidual().

◆ meanResiduals()

double Isis::ApolloPanIO::meanResiduals ( )

Accessor for the mean (average) of the residual vector lenghts Call after computeInteriorOrienation() and calc_residual_stats()

Returns
-1 value not yet calculated

Referenced by Isis::ApolloPanoramicDetectorMap::meanResidual().

◆ stdevResiduals()

double Isis::ApolloPanIO::stdevResiduals ( )

Accessor for the standard deviation of the residual vector lenghts Call after computeInteriorOrienation() and calc_residual_stats()

Returns
-1 value not yet calculated

Referenced by Isis::ApolloPanoramicDetectorMap::stdevResidual().


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