Isis 3 Programmer Reference
ApolloPanIO.h
Go to the documentation of this file.
1 #ifndef ApolloPanIO_h
2 #define ApolloPanIO_h
3 
27 namespace Isis {
28  /* Numbering scheme for the fiducial marks
29  * (gages on the right)
30  * :--------------------------------------------------------------------------------------------:0
31  * :0 2 4 .... ... 84 86 88:0
32  * : :0
33  * :1 3 5 .... ... 85 87 89:0
34  * ----------------------------------------------------------------------------------------------0
35  */
36 
37 
58  {
59  private:
60 
65  typedef struct Affine2D {
66  int flag;
67  double A2I[6];
68  double A2M[6];
69 
73  double rotM[2];
74 
78  double rotI[2];
79 
80  double mI;
81  double mM;
82  int indeces[2];
83  }Affine2D;
84 
88  typedef struct FidObs {
89  int flag;
90  double mach[2];
91  double image[2];
92  double residuals[2];
93  }FidObs;
94 
100 
101  FidObs obs[90];
102  int n;
103  double maxR;
104  double meanR;
105  double stdevR;
106 
107  void calc_residual_stats();
108 
109  public:
110 
111  ApolloPanIO();
112 
113  ~ApolloPanIO();
114 
115  void initialize();
116 
117  int fiducialObservation(int fiducialNumber, double machine_x, double machine_y);
118 
119  int clearFiducialObservation(int fiducialNumber);
120 
122 
123  int machine2Image(double *machineX, double *machineY);
124 
125  int machine2Image(double machineX, double machineY, double *imageX, double *imageY);
126 
127  int image2Machine(double *imageX, double *imageY);
128 
129  int image2Machine(double imageX, double imageY, double *machineX, double *machineY);
130 
131  double stdevResiduals();
132  double meanResiduals();
133  double maxResiduals();
134  };
135 } //end namespace Isis
136 #endif
double mI
max rotated image y coordinate in the region
Definition: ApolloPanIO.h:80
void initialize()
Initilizes member variables in preparation for solving for the interior orientation affines...
Definition: ApolloPanIO.cpp:34
double stdevR
standard deviation of residual vector lengths
Definition: ApolloPanIO.h:105
double maxR
maximum residual vector length
Definition: ApolloPanIO.h:103
double meanResiduals()
Accessor for the mean (average) of the residual vector lenghts Call after computeInteriorOrienation()...
double A2I[6]
transformation coefficients to go to image coordinates
Definition: ApolloPanIO.h:67
struct Isis::ApolloPanIO::FidObs FidObs
C Style structure for storing measured fiducial coordinates.
double stdevResiduals()
Accessor for the standard deviation of the residual vector lenghts Call after computeInteriorOrienati...
ApolloPanIO()
Constructs an ApolloPanIO object.
Definition: ApolloPanIO.cpp:20
int indeces[2]
indeces of the first and last fiducial marks included in this region
Definition: ApolloPanIO.h:82
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()
double maxResiduals()
Accessor for the mean (average) of the residual vector lenghts Call after computeInteriorOrienation()...
int flag
flag to tell if the observation has been made
Definition: ApolloPanIO.h:89
FidObs obs[90]
array to hold all possible observations of fiducial marks
Definition: ApolloPanIO.h:101
double mach[2]
machine coordinates of the fiducial mark
Definition: ApolloPanIO.h:90
struct Isis::ApolloPanIO::Affine2D Affine2D
C style structure for storing the calculation optimized parameters of a forward and reverse 2D affine...
int image2Machine(double *imageX, double *imageY)
This method does an in place (overwriting input) conversion of an image coordinate into cube (machine...
double mM
max rotate machine y coordinate in the region
Definition: ApolloPanIO.h:81
C Style structure for storing measured fiducial coordinates.
Definition: ApolloPanIO.h:88
double image[2]
theoretically perfect image coordinates
Definition: ApolloPanIO.h:91
int clearFiducialObservation(int fiducialNumber)
This method removes a measurement of the center of an apollo panoramic image fiducial mark from consi...
int n
the number of affines used to model the image
Definition: ApolloPanIO.h:102
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...
Definition: ApolloPanIO.cpp:88
Affine2D affines[44]
an array of discreet affine transformations pertaining to regions of the image (there can never be mo...
Definition: ApolloPanIO.h:99
double meanR
mean of residual vector lenghts
Definition: ApolloPanIO.h:104
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
~ApolloPanIO()
Destroys the ApolloPanObject.
Definition: ApolloPanIO.cpp:27
double residuals[2]
residuals of the fiducial mark measurement in machine coordinates
Definition: ApolloPanIO.h:92
double A2M[6]
transformation coefficients to go to machine coordinates
Definition: ApolloPanIO.h:68
void calc_residual_stats()
This method calculates summary statistics for the residual vector lenths for all measured fiducial ma...
int computeInteriorOrienation()
This method leverages all the fiducial obersatvions to caculate a series of affine transformations fo...
double rotI[2]
Coefficients to rotate Image coordinates so that the right edge of the region is vertical.
Definition: ApolloPanIO.h:78
C style structure for storing the calculation optimized parameters of a forward and reverse 2D affine...
Definition: ApolloPanIO.h:65
Calculates a series of affine transformations from the measured coordinates of the up to 90 fiducial...
Definition: ApolloPanIO.h:57
double rotM[2]
Coefficients to rotate machine coordinates so that the right edge of the region is vertical...
Definition: ApolloPanIO.h:73