Isis 3 Programmer Reference
ApolloPanIO.h
1#ifndef ApolloPanIO_h
2#define ApolloPanIO_h
3
10/* SPDX-License-Identifier: CC0-1.0 */
11
12namespace Isis {
13 /* Numbering scheme for the fiducial marks
14 * (gages on the right)
15 * :--------------------------------------------------------------------------------------------:0
16 * :0 2 4 .... ... 84 86 88:0
17 * : :0
18 * :1 3 5 .... ... 85 87 89:0
19 * ----------------------------------------------------------------------------------------------0
20 */
21
22
43 {
44 private:
45
50 typedef struct Affine2D {
51 int flag;
52 double A2I[6];
53 double A2M[6];
54
58 double rotM[2];
59
63 double rotI[2];
64
65 double mI;
66 double mM;
67 int indeces[2];
69
73 typedef struct FidObs {
74 int flag;
75 double mach[2];
76 double image[2];
77 double residuals[2];
79
85
86 FidObs obs[90];
87 int n;
88 double maxR;
89 double meanR;
90 double stdevR;
91
93
94 public:
95
97
99
100 void initialize();
101
102 int fiducialObservation(int fiducialNumber, double machine_x, double machine_y);
103
104 int clearFiducialObservation(int fiducialNumber);
105
107
108 int machine2Image(double *machineX, double *machineY);
109
110 int machine2Image(double machineX, double machineY, double *imageX, double *imageY);
111
112 int image2Machine(double *imageX, double *imageY);
113
114 int image2Machine(double imageX, double imageY, double *machineX, double *machineY);
115
116 double stdevResiduals();
117 double meanResiduals();
118 double maxResiduals();
119 };
120} //end namespace Isis
121#endif
Calculates a series of affine transformations from the measured coordinates of the up to 90 fiducial ...
Definition ApolloPanIO.h:43
void initialize()
Initilizes member variables in preparation for solving for the interior orientation affines.
double maxR
maximum residual vector length
Definition ApolloPanIO.h:88
FidObs obs[90]
array to hold all possible observations of fiducial marks
Definition ApolloPanIO.h:86
Affine2D affines[44]
an array of discreet affine transformations pertaining to regions of the image (there can never be mo...
Definition ApolloPanIO.h:84
int machine2Image(double *machineX, double *machineY)
This method does an in place (overwriting input) conversion of a cube coordinate (sample,...
int n
the number of affines used to model the image
Definition ApolloPanIO.h:87
struct Isis::ApolloPanIO::Affine2D Affine2D
C style structure for storing the calculation optimized parameters of a forward and reverse 2D affine...
double meanR
mean of residual vector lenghts
Definition ApolloPanIO.h:89
double maxResiduals()
Accessor for the mean (average) of the residual vector lenghts Call after computeInteriorOrienation()...
double stdevResiduals()
Accessor for the standard deviation of the residual vector lenghts Call after computeInteriorOrienati...
struct Isis::ApolloPanIO::FidObs FidObs
C Style structure for storing measured fiducial coordinates.
ApolloPanIO()
Constructs an ApolloPanIO object.
double meanResiduals()
Accessor for the mean (average) of the residual vector lenghts Call after computeInteriorOrienation()...
void calc_residual_stats()
This method calculates summary statistics for the residual vector lenths for all measured fiducial ma...
int image2Machine(double *imageX, double *imageY)
This method does an in place (overwriting input) conversion of an image coordinate into cube (machine...
~ApolloPanIO()
Destroys the ApolloPanObject.
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 considera...
int clearFiducialObservation(int fiducialNumber)
This method removes a measurement of the center of an apollo panoramic image fiducial mark from consi...
double stdevR
standard deviation of residual vector lengths
Definition ApolloPanIO.h:90
int computeInteriorOrienation()
This method leverages all the fiducial obersatvions to caculate a series of affine transformations fo...
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16
C style structure for storing the calculation optimized parameters of a forward and reverse 2D affine...
Definition ApolloPanIO.h:50
double rotI[2]
Coefficients to rotate Image coordinates so that the right edge of the region is vertical.
Definition ApolloPanIO.h:63
int indeces[2]
indeces of the first and last fiducial marks included in this region
Definition ApolloPanIO.h:67
double rotM[2]
Coefficients to rotate machine coordinates so that the right edge of the region is vertical.
Definition ApolloPanIO.h:58
double mI
max rotated image y coordinate in the region
Definition ApolloPanIO.h:65
double A2I[6]
transformation coefficients to go to image coordinates
Definition ApolloPanIO.h:52
double mM
max rotate machine y coordinate in the region
Definition ApolloPanIO.h:66
double A2M[6]
transformation coefficients to go to machine coordinates
Definition ApolloPanIO.h:53
C Style structure for storing measured fiducial coordinates.
Definition ApolloPanIO.h:73
int flag
flag to tell if the observation has been made
Definition ApolloPanIO.h:74
double image[2]
theoretically perfect image coordinates
Definition ApolloPanIO.h:76
double mach[2]
machine coordinates of the fiducial mark
Definition ApolloPanIO.h:75
double residuals[2]
residuals of the fiducial mark measurement in machine coordinates
Definition ApolloPanIO.h:77