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.
Definition at line 42 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 28 of file ApolloPanIO.cpp.
Isis::ApolloPanIO::~ApolloPanIO | ( | ) |
Destroys the ApolloPanObject.
Definition at line 35 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 707 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 140 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 160 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 96 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 629 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 682 of file ApolloPanIO.cpp.
void Isis::ApolloPanIO::initialize | ( | ) |
Initilizes member variables in preparation for solving for the interior orientation affines.
Definition at line 42 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 546 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 599 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 777 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 766 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 754 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 84 of file ApolloPanIO.h.
|
private |
maximum residual vector length
Definition at line 88 of file ApolloPanIO.h.
|
private |
mean of residual vector lenghts
Definition at line 89 of file ApolloPanIO.h.
|
private |
the number of affines used to model the image
Definition at line 87 of file ApolloPanIO.h.
|
private |
array to hold all possible observations of fiducial marks
Definition at line 86 of file ApolloPanIO.h.
|
private |
standard deviation of residual vector lengths
Definition at line 90 of file ApolloPanIO.h.