Isis 3.0
Back | Home
BundleObservation.h
Go to the documentation of this file.
1 #ifndef BundleObservation_h
2 #define BundleObservation_h
3 
26 #include <QStringList>
27 #include <QVector>
28 
29 #include "BundleImage.h"
31 #include "BundleTargetBody.h"
32 #include "LinearAlgebra.h"
33 
34 namespace Isis {
35  class BundleObservationSolveSettings;
36  class SpicePosition;
37  class SpiceRotation;
38 
81  class BundleObservation : public QVector<BundleImageQsp> {
82 
83  public:
84  // default constructor
86 
87  // constructor
88  BundleObservation(BundleImageQsp image, QString observationNumber, QString instrumentId,
89  BundleTargetBodyQsp bundleTargetBody);
90 
91  // copy constructor
93 
94  // destructor
96 
97  // equals operator
99 
100  // copy method
101  void copy(const BundleObservation &src);
102 
103  void append(const BundleImageQsp &value);
104 
105  BundleImageQsp imageByCubeSerialNumber(QString cubeSerialNumber);
106 
108 
109  void setIndex(int n);
110  int index();
111 
114  int numberParameters();
115 
116  QString instrumentId();
117 
120 
123 // LinearAlgebra::Vector &parameterSolution();
126 
128 
129 // QStringList serialNumbers();
130 
133  void initializeBodyRotation();
134  void updateBodyRotation();
135 
136  QString formatBundleOutputString(bool errorPropagation, bool imageCSV=false);
139 
140  private:
141  bool initParameterWeights();
142 
143  private:
144  QString m_observationNumber;
150  int m_index;
151 
153  QMap<QString, BundleImageQsp> m_cubeSerialNumberToBundleImageMap;
154 
155  QStringList m_serialNumbers;
156  QStringList m_parameterNamesList;
157  QStringList m_imageNames;
158 
159  QString m_instrumentId;
160 
161  BundleObservationSolveSettingsQsp m_solveSettings;
162 
163  SpiceRotation *m_instrumentRotation;
164  SpicePosition *m_instrumentPosition;
165 // SpiceRotation *m_bodyRotation; //!< Instrument body rotation (in primary image).
166 
167  BundleTargetBodyQsp m_bundleTargetBody;
168 
169  // TODO??? change these to LinearAlgebra vectors...
170  LinearAlgebra::Vector m_weights;
171  LinearAlgebra::Vector m_corrections;
173  //LinearAlgebra::Vector m_solution; //!< parameter solution vector.
175  LinearAlgebra::Vector m_aprioriSigmas;
177  LinearAlgebra::Vector m_adjustedSigmas;
178  };
179 
181  typedef QSharedPointer<BundleObservation> BundleObservationQsp;
182 }
183 
184 #endif // BundleObservation_h
LinearAlgebra::Vector & parameterWeights()
Accesses the solve parameter weights.
Definition: BundleObservation.cpp:272
LinearAlgebra::Vector & adjustedSigmas()
Accesses the adjusted sigmas.
Definition: BundleObservation.cpp:311
int numberPointingParameters()
Returns the number of pointing parameters being solved for.
Definition: BundleObservation.cpp:743
void append(const BundleImageQsp &value)
Appends a BundleImage shared pointer to the BundleObservation.
Definition: BundleObservation.cpp:164
bool initializeExteriorOrientation()
Initializes the exterior orientation.
Definition: BundleObservation.cpp:335
QSharedPointer< BundleImage > BundleImageQsp
Definition: BundleImage.h:82
BundleImageQsp imageByCubeSerialNumber(QString cubeSerialNumber)
Returns the BundleImage shared pointer associated with the given serial number.
Definition: BundleObservation.cpp:180
QSharedPointer< BundleObservationSolveSettings > BundleObservationSolveSettingsQsp
Definition for BundleObservationSolveSettingsQsp, a QSharedPointer to a &lt; BundleObservationSolveSet...
Definition: BundleObservationSolveSettings.h:265
QSharedPointer< BundleTargetBody > BundleTargetBodyQsp
Definition for BundleTargetBodyQsp, a QSharedPointer to a BundleTargetBody.
Definition: BundleTargetBody.h:198
Class for bundle observations.
Definition: BundleObservation.h:81
bool setSolveSettings(BundleObservationSolveSettings solveSettings)
Set solve parameters.
Definition: BundleObservation.cpp:202
QSharedPointer< BundleObservation > BundleObservationQsp
Typdef for BundleObservation QSharedPointer.
Definition: BundleObservation.h:181
QString instrumentId()
Accesses the instrument id.
Definition: BundleObservation.cpp:242
SpiceRotation * spiceRotation()
Accesses the instrument&#39;s spice rotation.
Definition: BundleObservation.cpp:252
boost::numeric::ublas::vector< double > Vector
Definition for an Isis::LinearAlgebra::Vector of doubles.
Definition: LinearAlgebra.h:124
LinearAlgebra::Vector & aprioriSigmas()
Accesses the a priori sigmas.
Definition: BundleObservation.cpp:301
~BundleObservation()
Destructor.
Definition: BundleObservation.cpp:124
void copy(const BundleObservation &src)
BundleObservation & operator=(const BundleObservation &src)
Assignment operator.
Definition: BundleObservation.cpp:138
int numberPositionParameters()
Returns the number of position parameters there are.
Definition: BundleObservation.cpp:733
QString formatBundleOutputString(bool errorPropagation, bool imageCSV=false)
Creates and returns a formatted QString representing the bundle coefficients and parameters.
Definition: BundleObservation.cpp:802
void setIndex(int n)
Sets the index for the observation.
Definition: BundleObservation.cpp:771
void initializeBodyRotation()
Intializes the body rotation.
Definition: BundleObservation.cpp:420
QStringList imageNames()
Access to image names for CorrelationMatrix to use.
Definition: BundleObservation.cpp:1151
Obtain SPICE rotation information for a body.
Definition: SpiceRotation.h:214
QStringList parameterList()
Access to parameters for CorrelationMatrix to use.
Definition: BundleObservation.cpp:1141
This class is used to modify and manage solve settings for 1 to many BundleObservations.
Definition: BundleObservationSolveSettings.h:84
Definition: Calculator.h:33
int index()
Accesses the observation&#39;s index.
Definition: BundleObservation.cpp:781
bool applyParameterCorrections(LinearAlgebra::Vector corrections)
Applies the parameter corrections.
Definition: BundleObservation.cpp:618
Obtain SPICE position information for a body.
Definition: SpicePosition.h:180
LinearAlgebra::Vector & parameterCorrections()
Accesses the parameter corrections.
Definition: BundleObservation.cpp:282
int numberParameters()
Returns the number of total parameters there are for solving.
Definition: BundleObservation.cpp:761
void updateBodyRotation()
Updates the body rotation.
Definition: BundleObservation.cpp:438
const BundleObservationSolveSettingsQsp solveSettings()
Accesses the solve settings.
Definition: BundleObservation.cpp:322
BundleObservation()
Constructs a BundleObservation initialized to a default state.
Definition: BundleObservation.cpp:22
SpicePosition * spicePosition()
Accesses the instrument&#39;s spice position.
Definition: BundleObservation.cpp:262

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 ISIS Support Center
File Modified: 07/12/2023 23:15:10