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.