Loading [MathJax]/jax/output/NativeMML/config.js
Isis 3 Programmer Reference
ApolloPanIO.h
1 #ifndef ApolloPanIO_h
2 #define ApolloPanIO_h
3 
10 /* SPDX-License-Identifier: CC0-1.0 */
11 
12 namespace 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 
92  void calc_residual_stats();
93 
94  public:
95 
96  ApolloPanIO();
97 
98  ~ApolloPanIO();
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
Isis::ApolloPanIO::obs
FidObs obs[90]
array to hold all possible observations of fiducial marks
Definition: ApolloPanIO.h:86
Isis::ApolloPanIO::FidObs
struct Isis::ApolloPanIO::FidObs FidObs
C Style structure for storing measured fiducial coordinates.
Isis::ApolloPanIO::~ApolloPanIO
~ApolloPanIO()
Destroys the ApolloPanObject.
Definition: ApolloPanIO.cpp:35
Isis::ApolloPanIO::FidObs::mach
double mach[2]
machine coordinates of the fiducial mark
Definition: ApolloPanIO.h:75
Isis::ApolloPanIO::initialize
void initialize()
Initilizes member variables in preparation for solving for the interior orientation affines.
Definition: ApolloPanIO.cpp:42
Isis::ApolloPanIO::Affine2D::rotM
double rotM[2]
Coefficients to rotate machine coordinates so that the right edge of the region is vertical.
Definition: ApolloPanIO.h:58
Isis::ApolloPanIO::machine2Image
int machine2Image(double *machineX, double *machineY)
This method does an in place (overwriting input) conversion of a cube coordinate (sample,...
Definition: ApolloPanIO.cpp:546
Isis::ApolloPanIO::maxR
double maxR
maximum residual vector length
Definition: ApolloPanIO.h:88
Isis::ApolloPanIO::maxResiduals
double maxResiduals()
Accessor for the mean (average) of the residual vector lenghts Call after computeInteriorOrienation()...
Definition: ApolloPanIO.cpp:777
Isis::ApolloPanIO::stdevResiduals
double stdevResiduals()
Accessor for the standard deviation of the residual vector lenghts Call after computeInteriorOrienati...
Definition: ApolloPanIO.cpp:754
Isis::ApolloPanIO::ApolloPanIO
ApolloPanIO()
Constructs an ApolloPanIO object.
Definition: ApolloPanIO.cpp:28
Isis::ApolloPanIO::Affine2D::A2M
double A2M[6]
transformation coefficients to go to machine coordinates
Definition: ApolloPanIO.h:53
Isis::ApolloPanIO::image2Machine
int image2Machine(double *imageX, double *imageY)
This method does an in place (overwriting input) conversion of an image coordinate into cube (machine...
Definition: ApolloPanIO.cpp:629
Isis::ApolloPanIO::FidObs::flag
int flag
flag to tell if the observation has been made
Definition: ApolloPanIO.h:74
Isis::ApolloPanIO::Affine2D
C style structure for storing the calculation optimized parameters of a forward and reverse 2D affine...
Definition: ApolloPanIO.h:50
Isis::ApolloPanIO::Affine2D::rotI
double rotI[2]
Coefficients to rotate Image coordinates so that the right edge of the region is vertical.
Definition: ApolloPanIO.h:63
Isis::ApolloPanIO::Affine2D
struct Isis::ApolloPanIO::Affine2D Affine2D
C style structure for storing the calculation optimized parameters of a forward and reverse 2D affine...
Isis::ApolloPanIO::FidObs::residuals
double residuals[2]
residuals of the fiducial mark measurement in machine coordinates
Definition: ApolloPanIO.h:77
Isis::ApolloPanIO::n
int n
the number of affines used to model the image
Definition: ApolloPanIO.h:87
Isis::ApolloPanIO::Affine2D::flag
int flag
solve flag
Definition: ApolloPanIO.h:51
Isis::ApolloPanIO::Affine2D::indeces
int indeces[2]
indeces of the first and last fiducial marks included in this region
Definition: ApolloPanIO.h:67
Isis::ApolloPanIO::FidObs::image
double image[2]
theoretically perfect image coordinates
Definition: ApolloPanIO.h:76
Isis::ApolloPanIO::clearFiducialObservation
int clearFiducialObservation(int fiducialNumber)
This method removes a measurement of the center of an apollo panoramic image fiducial mark from consi...
Definition: ApolloPanIO.cpp:140
Isis::ApolloPanIO::stdevR
double stdevR
standard deviation of residual vector lengths
Definition: ApolloPanIO.h:90
Isis::ApolloPanIO::calc_residual_stats
void calc_residual_stats()
This method calculates summary statistics for the residual vector lenths for all measured fiducial ma...
Definition: ApolloPanIO.cpp:707
Isis::ApolloPanIO::affines
Affine2D affines[44]
an array of discreet affine transformations pertaining to regions of the image (there can never be mo...
Definition: ApolloPanIO.h:84
Isis::ApolloPanIO::meanR
double meanR
mean of residual vector lenghts
Definition: ApolloPanIO.h:89
Isis::ApolloPanIO
Calculates a series of affine transformations from the measured coordinates of the up to 90 fiducial ...
Definition: ApolloPanIO.h:43
Isis::ApolloPanIO::fiducialObservation
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:96
Isis::ApolloPanIO::FidObs
C Style structure for storing measured fiducial coordinates.
Definition: ApolloPanIO.h:73
Isis::ApolloPanIO::computeInteriorOrienation
int computeInteriorOrienation()
This method leverages all the fiducial obersatvions to caculate a series of affine transformations fo...
Definition: ApolloPanIO.cpp:160
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::ApolloPanIO::Affine2D::A2I
double A2I[6]
transformation coefficients to go to image coordinates
Definition: ApolloPanIO.h:52
Isis::ApolloPanIO::Affine2D::mM
double mM
max rotate machine y coordinate in the region
Definition: ApolloPanIO.h:66
Isis::ApolloPanIO::Affine2D::mI
double mI
max rotated image y coordinate in the region
Definition: ApolloPanIO.h:65
Isis::ApolloPanIO::meanResiduals
double meanResiduals()
Accessor for the mean (average) of the residual vector lenghts Call after computeInteriorOrienation()...
Definition: ApolloPanIO.cpp:766

U.S. Department of the Interior | U.S. Geological Survey
ISIS | Privacy & Disclaimers | Astrogeology Research Program
To contact us, please post comments and questions on the USGS Astrogeology Discussion Board
To report a bug, or suggest a feature go to: ISIS Github
File Modified: 07/13/2023 15:16:07