Isis 3.0 Object Programmers' Reference |
Home |
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 |
struct | FidObs |
C Style structure for storing measured fiducial coorinates. More... | |
Public Member Functions | |
ApolloPanIO () | |
Constructs an ApolloPanIO object. | |
~ApolloPanIO () | |
Destroys the ApolloPanObject. | |
void | initialize () |
Initilizes member vairables 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() | |
Private Types | |
typedef struct Isis::ApolloPanIO::Affine2D | Affine2D |
typedef struct Isis::ApolloPanIO::FidObs | FidObs |
C Style structure for storing measured fiducial coorinates. | |
Private Member Functions | |
void | calc_residual_stats () |
This method calculates summary statistics for the residual vector lenths for all measured fiducial marks. | |
Private Attributes | |
Affine2D | affines [44] |
FidObs | obs [90] |
int | n |
double | maxR |
maximum residual vector length | |
double | meanR |
mean of residual vector lenghts | |
double | stdevR |
standard deviation of residual vector lengths | |
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
Definition at line 56 of file ApolloPanIO.h.
|
private |
C Style structure for storing measured fiducial coorinates.
Isis::ApolloPanIO::ApolloPanIO | ( | ) |
Constructs an ApolloPanIO object.
Definition at line 18 of file ApolloPanIO.cpp.
Isis::ApolloPanIO::~ApolloPanIO | ( | ) |
Destroys the ApolloPanObject.
Definition at line 23 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 693 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 126 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 146 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 82 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 615 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()
machineX | Input, the x coordinate (sample) in cube space |
machineY | 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 668 of file ApolloPanIO.cpp.
void Isis::ApolloPanIO::initialize | ( | ) |
Initilizes member vairables in preparation for solving for the interior orientation affines.
Definition at line 28 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 532 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 |
machineX | Output, the x coordinate (sample) in cube space |
machineY | Output, the y coordinate (line) in cube space |
Definition at line 585 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 763 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 752 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 740 of file ApolloPanIO.cpp.
Referenced by Isis::ApolloPanoramicDetectorMap::stdevResidual().
|
private |
maximum residual vector length
Definition at line 88 of file ApolloPanIO.h.
|
private |
mean of residual vector lenghts
Definition at line 90 of file ApolloPanIO.h.
|
private |
standard deviation of residual vector lengths
Definition at line 92 of file ApolloPanIO.h.