Isis 3.0 Programmer Reference
Back | Home
BundleControlPoint.h
Go to the documentation of this file.
1 #ifndef BundleControlPoint_h
2 #define BundleControlPoint_h
3 
26 #include <QVector>
27 
28 #include <QSharedPointer>
29 
30 #include "BundleMeasure.h"
31 #include "BundleSettings.h"
32 #include "ControlPoint.h"
33 #include "SparseBlockMatrix.h"
34 #include "SurfacePoint.h"
35 
36 namespace Isis {
37 
38  class ControlMeasure;
39 
71  class BundleControlPoint : public QVector<BundleMeasureQsp> {
72 
73  public:
74  BundleControlPoint(ControlPoint *point); // default constructor
77 
78  // copy
79  BundleControlPoint &operator=(const BundleControlPoint &src);// ??? not implemented
80  void copy(const BundleControlPoint &src);
81 
82  // mutators
84  void computeResiduals();
85  void setAdjustedSurfacePoint(SurfacePoint surfacePoint);
86  void setNumberOfRejectedMeasures(int numRejected);
87  void setRejected(bool reject);
88  void setWeights(const BundleSettingsQsp settings, double metersToRadians);
90 
91  // accessors
93  bool isRejected() const;
94  int numberOfMeasures() const;
95  int numberOfRejectedMeasures() const;
96  double residualRms() const;
98  QString id() const;
100  boost::numeric::ublas::bounded_vector< double, 3 > &corrections();
101  boost::numeric::ublas::bounded_vector< double, 3 > &aprioriSigmas();
102  boost::numeric::ublas::bounded_vector< double, 3 > &adjustedSigmas();
103  boost::numeric::ublas::bounded_vector< double, 3 > &weights();
104  boost::numeric::ublas::bounded_vector<double, 3> &nicVector();
106 
107  // string format methods
108  QString formatBundleOutputSummaryString(bool errorPropagation) const;
109  QString formatBundleOutputDetailString(bool errorPropagation, double RTM, bool solveRadius=false) const;
110  QString formatValue(double value, int fieldWidth, int precision) const;
111  QString formatAprioriSigmaString(int type, int fieldWidth, int precision, bool solveRadius=false) const;
112  QString formatLatitudeAprioriSigmaString(int fieldWidth, int precision) const;
113  QString formatLongitudeAprioriSigmaString(int fieldWidth, int precision) const;
114  QString formatRadiusAprioriSigmaString(int fieldWidth, int precision, bool solveRadius=false) const;
115  QString formatAdjustedSigmaString(int type, int fieldWidth, int precision,
116  bool errorPropagation) const;
117  QString formatLatitudeAdjustedSigmaString(int fieldWidth, int precision,
118  bool errorPropagation) const;
119  QString formatLongitudeAdjustedSigmaString(int fieldWidth, int precision,
120  bool errorPropagation) const;
121  QString formatRadiusAdjustedSigmaString(int fieldWidth, int precision,
122  bool errorPropagation) const;
123 
124  private:
127 
129  boost::numeric::ublas::bounded_vector< double, 3 > m_corrections;
131  boost::numeric::ublas::bounded_vector< double, 3 > m_aprioriSigmas;
133  boost::numeric::ublas::bounded_vector< double, 3 > m_adjustedSigmas;
135  boost::numeric::ublas::bounded_vector< double, 3 > m_weights;
137  boost::numeric::ublas::bounded_vector<double, 3> m_nicVector;
140  };
141 
142  // typedefs
144  typedef QSharedPointer<BundleControlPoint> BundleControlPointQsp;
145 }
146 
147 #endif // BundleControlPoint_h
148 
This class defines a body-fixed surface point.
Definition: SurfacePoint.h:86
int numberOfRejectedMeasures() const
Accesses the number of rejected measures for this BundleControlPoint.
QSharedPointer< BundleSettings > BundleSettingsQsp
Definition for a BundleSettingsQsp, a shared pointer to a BundleSettings object.
boost::numeric::ublas::bounded_vector< double, 3 > m_adjustedSigmas
adjusted sigmas for point parameters
QString formatAprioriSigmaString(int type, int fieldWidth, int precision, bool solveRadius=false) const
Formats the apriori sigma value indicated by the given type code.
QString formatLatitudeAprioriSigmaString(int fieldWidth, int precision) const
Formats the apriori latitude sigma value.
BundleControlPoint(ControlPoint *point)
Constructs a BundleControlPoint object from a ControlPoint.
void setRejected(bool reject)
Sets this BundleControlPoint to rejected or not rejected.
BundleMeasureQsp addMeasure(ControlMeasure *controlMeasure)
Creates a BundleMeasure from the given ControlMeasure and appends it to this BundleControlPoint&#39;s mea...
QString formatLatitudeAdjustedSigmaString(int fieldWidth, int precision, bool errorPropagation) const
Formats the adjusted latitude sigma value.
void copy(const BundleControlPoint &src)
Copies given BundleControlPoint to this BundleControlPoint.
PointType
These are the valid &#39;types&#39; of point.
Definition: ControlPoint.h:349
void computeResiduals()
Computes the residuals for this BundleControlPoint.
boost::numeric::ublas::bounded_vector< double, 3 > & weights()
Accesses the 3 dimensional ordered vector of weight values associated with latitude, longitude, and radius.
int numberOfMeasures() const
Accesses number of measures associated with this BundleControlPoint.
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
boost::numeric::ublas::bounded_vector< double, 3 > & aprioriSigmas()
Accesses the 3 dimenstional ordered vector of apriori sigmas (apriori latitude, apriori longitude...
ControlPoint * rawControlPoint() const
Accessor for the raw ControlPoint object used for this BundleControlPoint.
QString formatBundleOutputSummaryString(bool errorPropagation) const
Formats an output summary string for this BundleControlPoint.
boost::numeric::ublas::bounded_vector< double, 3 > & adjustedSigmas()
Accesses the 3 dimenstional ordered vector of adjusted sigmas (adjusted latitude, adjusted longitude...
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
boost::numeric::ublas::bounded_vector< double, 3 > & corrections()
Accesses the 3 dimensional ordered vector of correction values associated with latitude, longitude, and radius.
boost::numeric::ublas::bounded_vector< double, 3 > & nicVector()
Accesses the 3 dimensional ordered NIC vector.
boost::numeric::ublas::bounded_vector< double, 3 > m_nicVector
array of NICs (see Brown, 1976)
ControlPoint * m_controlPoint
&lt; pointer to the control point object this represents
SurfacePoint adjustedSurfacePoint() const
Accesses the adjusted SurfacePoint associated with this BundleControlPoint.
boost::numeric::ublas::bounded_vector< double, 3 > m_aprioriSigmas
apriori sigmas for point parameters
void zeroNumberOfRejectedMeasures()
Resets the number of rejected measures for this BundleControlPoint to zero.
void setAdjustedSurfacePoint(SurfacePoint surfacePoint)
Sets the adjusted surface point for this BundleControlPoint.
bool isRejected() const
Method used to determine whether this control point is rejected.
boost::numeric::ublas::bounded_vector< double, 3 > m_weights
weights for point parameters
ControlPoint::PointType type() const
Accesses BundleControlPoint&#39;s type.
This class holds information about a control point that BundleAdjust needs to run corretly...
~BundleControlPoint()
Destructor for BundleControlPoint.
A single control point.
Definition: ControlPoint.h:339
double residualRms() const
Gets the root-mean-square (rms) of the BundleControlPoint&#39;s residuals.
boost::numeric::ublas::bounded_vector< double, 3 > m_corrections
corrections to point parameters
QString formatValue(double value, int fieldWidth, int precision) const
Formats the given double precision value using the specified field width and precision.
QString formatRadiusAprioriSigmaString(int fieldWidth, int precision, bool solveRadius=false) const
Formats the apriori radius sigma value.
QString formatLongitudeAprioriSigmaString(int fieldWidth, int precision) const
Formats the apriori longitude sigma value.
void setWeights(const BundleSettingsQsp settings, double metersToRadians)
Sets the weights using the given BundleSettings QSharedPointer and a conversion value for meters to r...
QSharedPointer< BundleMeasure > BundleMeasureQsp
Definition for BundleMeasureQsp, a shared pointer to a BundleMeasure.
QString formatRadiusAdjustedSigmaString(int fieldWidth, int precision, bool errorPropagation) const
Formats the adjusted radius sigma value.
SparseBlockRowMatrix m_cholmodQMatrix
The CholMod matrix associated with this point.
a control measurement
QString formatLongitudeAdjustedSigmaString(int fieldWidth, int precision, bool errorPropagation) const
Formats the adjusted longitude sigma value.
QString id() const
Accesses the Point ID associated with this BundleControlPoint.
QString formatAdjustedSigmaString(int type, int fieldWidth, int precision, bool errorPropagation) const
Formats the adjusted sigma value indicated by the given type code.
QSharedPointer< BundleControlPoint > BundleControlPointQsp
Definition for BundleControlPointQSP, a shared pointer to a BundleControlPoint.
QString formatBundleOutputDetailString(bool errorPropagation, double RTM, bool solveRadius=false) const
Formats a detailed output string table for this BundleControlPoint.
void setNumberOfRejectedMeasures(int numRejected)
Sets the number of rejected measures for this BundleControlPoint.
SparseBlockRowMatrix & cholmodQMatrix()
Accesses the CholMod matrix associated with this BundleControlPoint.
SparseBlockRowMatrix.

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:01