![]() |
Isis 3 Programmer 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>

Classes | |
| struct | Affine2D |
| C style structure for storing the calculation optimized parameters of a forward and reverse 2D affine transformation. More... | |
| struct | FidObs |
| C Style structure for storing measured fiducial coordinates. More... | |
Public Member Functions | |
| ApolloPanIO () | |
| Constructs an ApolloPanIO object. More... | |
| ~ApolloPanIO () | |
| Destroys the ApolloPanObject. More... | |
| void | initialize () |
| Initilizes member variables in preparation for solving for the interior orientation affines. More... | |
| 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. More... | |
| 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. More... | |
| int | computeInteriorOrienation () |
| This method leverages all the fiducial obersatvions to caculate a series of affine transformations for cube (machine) space into image space. More... | |
| 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() More... | |
| 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() More... | |
| 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() More... | |
| 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. More... | |
| double | stdevResiduals () |
| Accessor for the standard deviation of the residual vector lenghts Call after computeInteriorOrienation() and calc_residual_stats() More... | |
| double | meanResiduals () |
| Accessor for the mean (average) of the residual vector lenghts Call after computeInteriorOrienation() and calc_residual_stats() More... | |
| double | maxResiduals () |
| Accessor for the mean (average) of the residual vector lenghts Call after computeInteriorOrienation() and calc_residual_stats() More... | |
Private Types | |
| typedef struct Isis::ApolloPanIO::Affine2D | Affine2D |
| C style structure for storing the calculation optimized parameters of a forward and reverse 2D affine transformation. More... | |
| typedef struct Isis::ApolloPanIO::FidObs | FidObs |
| C Style structure for storing measured fiducial coordinates. More... | |
Private Member Functions | |
| void | calc_residual_stats () |
| This method calculates summary statistics for the residual vector lenths for all measured fiducial marks. More... | |
Private Attributes | |
| Affine2D | affines [44] |
| an array of discreet affine transformations pertaining to regions of the image (there can never be more than 44) More... | |
| FidObs | obs [90] |
| array to hold all possible observations of fiducial marks More... | |
| int | n |
| the number of affines used to model the image More... | |
| double | maxR |
| maximum residual vector length More... | |
| double | meanR |
| mean of residual vector lenghts More... | |
| double | stdevR |
| standard deviation of residual vector lengths More... | |
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.
2011-09-19 Orrin Thomas - Original version
2012-07-10 Orrin Thomas - Updated to current coding standards
2017-06-28 Makayla Shepherd - Updated documentation. References #4807.
Definition at line 57 of file ApolloPanIO.h.
|
private |
C style structure for storing the calculation optimized parameters of a forward and reverse 2D affine transformation.
|
private |
C Style structure for storing measured fiducial coordinates.
| Isis::ApolloPanIO::ApolloPanIO | ( | ) |
Constructs an ApolloPanIO object.
Definition at line 20 of file ApolloPanIO.cpp.
| Isis::ApolloPanIO::~ApolloPanIO | ( | ) |
Destroys the ApolloPanObject.
Definition at line 27 of file ApolloPanIO.cpp.
|
private |
This method calculates summary statistics for the residual vector lenths for all measured fiducial marks.
Call after computeInteriorOrienation()
Definition at line 699 of file ApolloPanIO.cpp.
| 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.
| fiducialNumber | the index of the fiducial mark [0,89], see ApolloPanIO.h documnetation for the numbering sequence |
Definition at line 132 of file ApolloPanIO.cpp.
| 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.
affines[i].mI = pt2[0]*affines[i].rotI[0] + pt2[1]*affines[i].rotI[1];
Definition at line 152 of file ApolloPanIO.cpp.
| 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.
| fiducialNumber | the index of the fiducial mark [0,89], see ApolloPanIO.h documnetation for the numbering sequence |
| machineX | The x coordinate (sample) of the fiducial mark in cube space |
| machineY | The y coordinate (line) of the fiducial mark in cube space |
Definition at line 88 of file ApolloPanIO.cpp.
| 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()
| imageX | The x coordinate (sample) of in image space cube space overwriten with the cube (machine) sample coordinate |
| imageY | The y coordinate of in image space overwriten with the cube machine sample coordinate |
Definition at line 621 of file ApolloPanIO.cpp.
| 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()
| imageX | Input, the x coordinate (sample) in cube space |
| imageY | INput, the y coordinate (line) in cube space |
| machineX | Output, the x coordinate (sample) in cube space |
| machineY | Output, the y coordinate (line) in cube space |
Definition at line 674 of file ApolloPanIO.cpp.
| void Isis::ApolloPanIO::initialize | ( | ) |
Initilizes member variables in preparation for solving for the interior orientation affines.
Definition at line 34 of file ApolloPanIO.cpp.
| 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()
| machineX | The x coordinate (sample) in cube space overwriten with the image coordinate |
| machineY | The y coordinate (line) in cube space overwriten with the image coordinate |
Definition at line 538 of file ApolloPanIO.cpp.
| 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()
| machineX | Input, the x coordinate (sample) in cube space |
| machineY | Input, the y coordinate (line) in cube space |
| imageX | Output, the x coordinate (sample) in cube space |
| imageY | Output, the y coordinate (line) in cube space |
Definition at line 591 of file ApolloPanIO.cpp.
| double Isis::ApolloPanIO::maxResiduals | ( | ) |
Accessor for the mean (average) of the residual vector lenghts Call after computeInteriorOrienation() and calc_residual_stats()
Definition at line 769 of file ApolloPanIO.cpp.
Referenced by Isis::ApolloPanoramicDetectorMap::maxResidual().
| double Isis::ApolloPanIO::meanResiduals | ( | ) |
Accessor for the mean (average) of the residual vector lenghts Call after computeInteriorOrienation() and calc_residual_stats()
Definition at line 758 of file ApolloPanIO.cpp.
Referenced by Isis::ApolloPanoramicDetectorMap::meanResidual().
| double Isis::ApolloPanIO::stdevResiduals | ( | ) |
Accessor for the standard deviation of the residual vector lenghts Call after computeInteriorOrienation() and calc_residual_stats()
Definition at line 746 of file ApolloPanIO.cpp.
Referenced by Isis::ApolloPanoramicDetectorMap::stdevResidual().
|
private |
an array of discreet affine transformations pertaining to regions of the image (there can never be more than 44)
Definition at line 99 of file ApolloPanIO.h.
|
private |
maximum residual vector length
Definition at line 103 of file ApolloPanIO.h.
|
private |
mean of residual vector lenghts
Definition at line 104 of file ApolloPanIO.h.
|
private |
the number of affines used to model the image
Definition at line 102 of file ApolloPanIO.h.
|
private |
array to hold all possible observations of fiducial marks
Definition at line 101 of file ApolloPanIO.h.
|
private |
standard deviation of residual vector lengths
Definition at line 105 of file ApolloPanIO.h.