This class holds information about a control point that BundleAdjust needs to run corretly. More...
#include <BundleControlPoint.h>
Inherits QVector< BundleMeasureQsp >.
Public Member Functions | |
BundleControlPoint (ControlPoint *point) | |
Constructs a BundleControlPoint object from a ControlPoint. More... | |
BundleControlPoint (const BundleControlPoint &src) | |
Copy constructor. More... | |
~BundleControlPoint () | |
Destructor for BundleControlPoint. More... | |
BundleControlPoint & | operator= (const BundleControlPoint &src) |
void | copy (const BundleControlPoint &src) |
Copies given BundleControlPoint to this BundleControlPoint. More... | |
BundleMeasureQsp | addMeasure (ControlMeasure *controlMeasure) |
Creates a BundleMeasure from the given ControlMeasure and appends it to this BundleControlPoint's measure list. More... | |
void | computeResiduals () |
Computes the residuals for this BundleControlPoint. More... | |
void | setAdjustedSurfacePoint (SurfacePoint surfacePoint) |
Sets the adjusted surface point for this BundleControlPoint. More... | |
void | setNumberOfRejectedMeasures (int numRejected) |
Sets the number of rejected measures for this BundleControlPoint. More... | |
void | setRejected (bool reject) |
Sets this BundleControlPoint to rejected or not rejected. More... | |
void | setWeights (const BundleSettingsQsp settings, double metersToRadians) |
Sets the weights using the given BundleSettings QSharedPointer and a conversion value for meters to radians. More... | |
void | zeroNumberOfRejectedMeasures () |
Resets the number of rejected measures for this BundleControlPoint to zero. More... | |
ControlPoint * | rawControlPoint () const |
Accessor for the raw ControlPoint object used for this BundleControlPoint. More... | |
bool | isRejected () const |
Method used to determine whether this control point is rejected. More... | |
int | numberOfMeasures () const |
Accesses number of measures associated with this BundleControlPoint. More... | |
int | numberOfRejectedMeasures () const |
Accesses the number of rejected measures for this BundleControlPoint. More... | |
double | residualRms () const |
Gets the root-mean-square (rms) of the BundleControlPoint's residuals. More... | |
SurfacePoint | adjustedSurfacePoint () const |
Accesses the adjusted SurfacePoint associated with this BundleControlPoint. More... | |
QString | id () const |
Accesses the Point ID associated with this BundleControlPoint. More... | |
ControlPoint::PointType | type () const |
Accesses BundleControlPoint's type. More... | |
boost::numeric::ublas::bounded_vector < double, 3 > & | corrections () |
Accesses the 3 dimensional ordered vector of correction values associated with latitude, longitude, and radius. More... | |
boost::numeric::ublas::bounded_vector < double, 3 > & | aprioriSigmas () |
Accesses the 3 dimenstional ordered vector of apriori sigmas (apriori latitude, apriori longitude, apriori radius). More... | |
boost::numeric::ublas::bounded_vector < double, 3 > & | adjustedSigmas () |
Accesses the 3 dimenstional ordered vector of adjusted sigmas (adjusted latitude, adjusted longitude, adjusted radius). More... | |
boost::numeric::ublas::bounded_vector < double, 3 > & | weights () |
Accesses the 3 dimensional ordered vector of weight values associated with latitude, longitude, and radius. More... | |
boost::numeric::ublas::bounded_vector < double, 3 > & | nicVector () |
Accesses the 3 dimensional ordered NIC vector. More... | |
SparseBlockRowMatrix & | cholmodQMatrix () |
Accesses the CholMod matrix associated with this BundleControlPoint. More... | |
QString | formatBundleOutputSummaryString (bool errorPropagation) const |
Formats an output summary string for this BundleControlPoint. More... | |
QString | formatBundleOutputDetailString (bool errorPropagation, double RTM, bool solveRadius=false) const |
Formats a detailed output string table for this BundleControlPoint. More... | |
QString | formatValue (double value, int fieldWidth, int precision) const |
Formats the given double precision value using the specified field width and precision. More... | |
QString | formatAprioriSigmaString (int type, int fieldWidth, int precision, bool solveRadius=false) const |
Formats the apriori sigma value indicated by the given type code. More... | |
QString | formatLatitudeAprioriSigmaString (int fieldWidth, int precision) const |
Formats the apriori latitude sigma value. More... | |
QString | formatLongitudeAprioriSigmaString (int fieldWidth, int precision) const |
Formats the apriori longitude sigma value. More... | |
QString | formatRadiusAprioriSigmaString (int fieldWidth, int precision, bool solveRadius=false) const |
Formats the apriori radius sigma value. More... | |
QString | formatAdjustedSigmaString (int type, int fieldWidth, int precision, bool errorPropagation) const |
Formats the adjusted sigma value indicated by the given type code. More... | |
QString | formatLatitudeAdjustedSigmaString (int fieldWidth, int precision, bool errorPropagation) const |
Formats the adjusted latitude sigma value. More... | |
QString | formatLongitudeAdjustedSigmaString (int fieldWidth, int precision, bool errorPropagation) const |
Formats the adjusted longitude sigma value. More... | |
QString | formatRadiusAdjustedSigmaString (int fieldWidth, int precision, bool errorPropagation) const |
Formats the adjusted radius sigma value. More... | |
This class holds information about a control point that BundleAdjust needs to run corretly.
This class was created to extract functionality from BundleAdjust and wrap a ControlPoint with the extra necessary information to correctly perform a bundle adjustment.
Note that only non-ignored control points should be used to construct a BundleControlPoint. Similarly, a BundleControlPoint should only contain non-ignored control measures.
Isis::BundleControlPoint::BundleControlPoint | ( | ControlPoint * | controlPoint | ) |
Constructs a BundleControlPoint object from a ControlPoint.
Only the non-ignored measures are added to the BundleControlPoint.
controlPoint | Pointer to a ControlPoint that will be used to construct this BundleControlPoint. |
References addMeasure(), Isis::ControlPoint::GetMeasure(), Isis::ControlPoint::GetNumMeasures(), Isis::ControlMeasure::IsIgnored(), and Isis::Null.
Isis::BundleControlPoint::BundleControlPoint | ( | const BundleControlPoint & | src | ) |
Copy constructor.
Constructs a BundleControlPoint object from an existing BundleControlPoint.
src | The BundleControlPoint to be copied. |
References copy().
Isis::BundleControlPoint::~BundleControlPoint | ( | ) |
Destructor for BundleControlPoint.
BundleMeasureQsp Isis::BundleControlPoint::addMeasure | ( | ControlMeasure * | controlMeasure | ) |
Creates a BundleMeasure from the given ControlMeasure and appends it to this BundleControlPoint's measure list.
controlMeasure | The ControlMeasure to be converted. |
Referenced by BundleControlPoint().
boost::numeric::ublas::bounded_vector< double, 3 > & Isis::BundleControlPoint::adjustedSigmas | ( | ) |
Accesses the 3 dimenstional ordered vector of adjusted sigmas (adjusted latitude, adjusted longitude, adjusted radius).
SurfacePoint Isis::BundleControlPoint::adjustedSurfacePoint | ( | ) | const |
Accesses the adjusted SurfacePoint associated with this BundleControlPoint.
References Isis::ControlPoint::GetAdjustedSurfacePoint().
boost::numeric::ublas::bounded_vector< double, 3 > & Isis::BundleControlPoint::aprioriSigmas | ( | ) |
Accesses the 3 dimenstional ordered vector of apriori sigmas (apriori latitude, apriori longitude, apriori radius).
SparseBlockRowMatrix & Isis::BundleControlPoint::cholmodQMatrix | ( | ) |
Accesses the CholMod matrix associated with this BundleControlPoint.
void Isis::BundleControlPoint::computeResiduals | ( | ) |
Computes the residuals for this BundleControlPoint.
References Isis::ControlPoint::ComputeResiduals().
void Isis::BundleControlPoint::copy | ( | const BundleControlPoint & | src | ) |
Copies given BundleControlPoint to this BundleControlPoint.
src | The BundleControlPoint to be copied. |
Referenced by BundleControlPoint().
boost::numeric::ublas::bounded_vector< double, 3 > & Isis::BundleControlPoint::corrections | ( | ) |
Accesses the 3 dimensional ordered vector of correction values associated with latitude, longitude, and radius.
QString Isis::BundleControlPoint::formatAdjustedSigmaString | ( | int | type, |
int | fieldWidth, | ||
int | precision, | ||
bool | errorPropagation | ||
) | const |
Formats the adjusted sigma value indicated by the given type code.
If error propagation is false or the selected sigma type was set to Null, then only "N/A" will be returned.
type | Integer code that indicates which apriori sigma value will be formatted. Latitude=0, Longitude=1, Radius=2. |
fieldWidth | The return string's field width. |
precision | The precision of the double to be saved off. |
errorPropagation | Indicates whether error propagation was selected. |
References Isis::ControlPoint::GetAdjustedSurfacePoint(), Isis::SurfacePoint::GetLatSigmaDistance(), Isis::SurfacePoint::GetLocalRadiusSigma(), Isis::SurfacePoint::GetLonSigmaDistance(), Isis::IsSpecial(), Isis::Distance::meters(), and Isis::Null.
Referenced by formatLatitudeAdjustedSigmaString(), formatLongitudeAdjustedSigmaString(), and formatRadiusAdjustedSigmaString().
QString Isis::BundleControlPoint::formatAprioriSigmaString | ( | int | version, |
int | fieldWidth, | ||
int | precision, | ||
bool | solveRadius = false |
||
) | const |
Formats the apriori sigma value indicated by the given type code.
If no sigma was set, then the string "N/A" will be returned.
type | Integer code that indicates which apriori sigma value will be formatted. Latitude=0, Longitude=1, Radius=2. |
fieldWidth | The return string's field width. |
precision | The precision of the double to be saved off. |
References Isis::IsSpecial(), Isis::ControlPoint::PointTypeToString(), and type().
Referenced by formatLatitudeAprioriSigmaString(), formatLongitudeAprioriSigmaString(), and formatRadiusAprioriSigmaString().
QString Isis::BundleControlPoint::formatBundleOutputDetailString | ( | bool | errorPropagation, |
double | RTM, | ||
bool | solveRadius = false |
||
) | const |
Formats a detailed output string table for this BundleControlPoint.
errorPropagation | Indicates whether error propagation was selected. |
RTM | Conversion factor from radians to meters. Used to convert the latitude and longitude corrections to meters. |
References Isis::DEG2RAD(), Isis::Angle::degrees(), formatLatitudeAdjustedSigmaString(), formatLatitudeAprioriSigmaString(), formatLongitudeAdjustedSigmaString(), formatLongitudeAprioriSigmaString(), formatRadiusAdjustedSigmaString(), formatRadiusAprioriSigmaString(), formatValue(), Isis::ControlPoint::GetAdjustedSurfacePoint(), Isis::SurfacePoint::GetLatitude(), Isis::SurfacePoint::GetLocalRadius(), Isis::SurfacePoint::GetLongitude(), Isis::IsSpecial(), Isis::Distance::kilometers(), Isis::Null, numberOfMeasures(), numberOfRejectedMeasures(), Isis::ControlPoint::PointTypeToString(), Isis::RAD2DEG(), and type().
QString Isis::BundleControlPoint::formatBundleOutputSummaryString | ( | bool | errorPropagation | ) | const |
Formats an output summary string for this BundleControlPoint.
This string includes ID, point type, number of rays from non-rejected measures, residual RMS, adjusted latitude and longitude (in degrees), adjusted radius (in km), and the adjusted sigmas (for latitude, longitude and radius).
errorPropagation | Indicates whether error propagation was selected. |
References Isis::Angle::degrees(), formatLatitudeAdjustedSigmaString(), formatLongitudeAdjustedSigmaString(), formatRadiusAdjustedSigmaString(), formatValue(), Isis::ControlPoint::GetAdjustedSurfacePoint(), Isis::SurfacePoint::GetLatitude(), Isis::SurfacePoint::GetLocalRadius(), Isis::SurfacePoint::GetLongitude(), Isis::Distance::kilometers(), numberOfMeasures(), numberOfRejectedMeasures(), Isis::ControlPoint::PointTypeToString(), residualRms(), and type().
QString Isis::BundleControlPoint::formatLatitudeAdjustedSigmaString | ( | int | fieldWidth, |
int | precision, | ||
bool | errorPropagation | ||
) | const |
Formats the adjusted latitude sigma value.
fieldWidth | The return string's field width. |
precision | The precision of the double to be saved off. |
errorPropagation | Indicates whether error propagation was selected. |
References formatAdjustedSigmaString().
Referenced by formatBundleOutputDetailString(), and formatBundleOutputSummaryString().
QString Isis::BundleControlPoint::formatLatitudeAprioriSigmaString | ( | int | fieldWidth, |
int | precision | ||
) | const |
Formats the apriori latitude sigma value.
fieldWidth | The return string's field width. |
precision | The precision of the double to be saved off. |
References formatAprioriSigmaString().
Referenced by formatBundleOutputDetailString().
QString Isis::BundleControlPoint::formatLongitudeAdjustedSigmaString | ( | int | fieldWidth, |
int | precision, | ||
bool | errorPropagation | ||
) | const |
Formats the adjusted longitude sigma value.
fieldWidth | The return string's field width. |
precision | The precision of the double to be saved off. |
errorPropagation | Indicates whether error propagation was selected. |
References formatAdjustedSigmaString().
Referenced by formatBundleOutputDetailString(), and formatBundleOutputSummaryString().
QString Isis::BundleControlPoint::formatLongitudeAprioriSigmaString | ( | int | fieldWidth, |
int | precision | ||
) | const |
Formats the apriori longitude sigma value.
fieldWidth | The return string's field width. |
precision | The precision of the double to be saved off. |
References formatAprioriSigmaString().
Referenced by formatBundleOutputDetailString().
QString Isis::BundleControlPoint::formatRadiusAdjustedSigmaString | ( | int | fieldWidth, |
int | precision, | ||
bool | errorPropagation | ||
) | const |
Formats the adjusted radius sigma value.
fieldWidth | The return string's field width. |
precision | The precision of the double to be saved off. |
errorPropagation | Indicates whether error propagation was selected. |
References formatAdjustedSigmaString().
Referenced by formatBundleOutputDetailString(), and formatBundleOutputSummaryString().
QString Isis::BundleControlPoint::formatRadiusAprioriSigmaString | ( | int | fieldWidth, |
int | precision, | ||
bool | solveRadius = false |
||
) | const |
Formats the apriori radius sigma value.
fieldWidth | The return string's field width. |
precision | The precision of the double to be saved off. |
References formatAprioriSigmaString().
Referenced by formatBundleOutputDetailString().
QString Isis::BundleControlPoint::formatValue | ( | double | value, |
int | fieldWidth, | ||
int | precision | ||
) | const |
Formats the given double precision value using the specified field width and precision.
If the given value is special, then "Null" is returned.
value | The double value to be formattted. |
fieldWidth | The return string's field width. |
precision | The precision of the given double value to be saved off. |
References Isis::IsSpecial().
Referenced by formatBundleOutputDetailString(), and formatBundleOutputSummaryString().
QString Isis::BundleControlPoint::id | ( | ) | const |
Accesses the Point ID associated with this BundleControlPoint.
References Isis::ControlPoint::GetId().
bool Isis::BundleControlPoint::isRejected | ( | ) | const |
Method used to determine whether this control point is rejected.
References Isis::ControlPoint::IsRejected().
boost::numeric::ublas::bounded_vector< double, 3 > & Isis::BundleControlPoint::nicVector | ( | ) |
Accesses the 3 dimensional ordered NIC vector.
int Isis::BundleControlPoint::numberOfMeasures | ( | ) | const |
Accesses number of measures associated with this BundleControlPoint.
Referenced by formatBundleOutputDetailString(), and formatBundleOutputSummaryString().
int Isis::BundleControlPoint::numberOfRejectedMeasures | ( | ) | const |
Accesses the number of rejected measures for this BundleControlPoint.
References Isis::ControlPoint::GetNumberOfRejectedMeasures().
Referenced by formatBundleOutputDetailString(), and formatBundleOutputSummaryString().
BundleControlPoint& Isis::BundleControlPoint::operator= | ( | const BundleControlPoint & | src | ) |
ControlPoint * Isis::BundleControlPoint::rawControlPoint | ( | ) | const |
Accessor for the raw ControlPoint object used for this BundleControlPoint.
double Isis::BundleControlPoint::residualRms | ( | ) | const |
Gets the root-mean-square (rms) of the BundleControlPoint's residuals.
References Isis::ControlPoint::GetResidualRms().
Referenced by formatBundleOutputSummaryString().
void Isis::BundleControlPoint::setAdjustedSurfacePoint | ( | SurfacePoint | surfacePoint | ) |
Sets the adjusted surface point for this BundleControlPoint.
surfacePoint | The surface point to be set. |
References Isis::ControlPoint::SetAdjustedSurfacePoint().
void Isis::BundleControlPoint::setNumberOfRejectedMeasures | ( | int | numRejected | ) |
Sets the number of rejected measures for this BundleControlPoint.
numRejected | Number of rejected measures. |
References Isis::ControlPoint::SetNumberOfRejectedMeasures().
void Isis::BundleControlPoint::setRejected | ( | bool | reject | ) |
Sets this BundleControlPoint to rejected or not rejected.
reject | True will set the BundleControlPoint to rejected. |
References Isis::ControlPoint::SetRejected().
void Isis::BundleControlPoint::setWeights | ( | const BundleSettingsQsp | settings, |
double | metersToRadians | ||
) |
Sets the weights using the given BundleSettings QSharedPointer and a conversion value for meters to radians.
settings | A QSharedPointer to BundleSettings object. |
metersToRadians | A double precision conversion factor. |
References Isis::ControlPoint::Constrained, Isis::ControlPoint::Fixed, Isis::ControlPoint::Free, Isis::ControlPoint::GetAprioriSurfacePoint(), Isis::SurfacePoint::GetLatSigmaDistance(), Isis::SurfacePoint::GetLatWeight(), Isis::SurfacePoint::GetLocalRadiusSigma(), Isis::SurfacePoint::GetLocalRadiusWeight(), Isis::SurfacePoint::GetLonSigmaDistance(), Isis::SurfacePoint::GetLonWeight(), Isis::ControlPoint::GetType(), Isis::ControlPoint::IsLatitudeConstrained(), Isis::ControlPoint::IsLongitudeConstrained(), Isis::ControlPoint::IsRadiusConstrained(), Isis::IsSpecial(), and Isis::Distance::meters().
ControlPoint::PointType Isis::BundleControlPoint::type | ( | ) | const |
Accesses BundleControlPoint's type.
References Isis::ControlPoint::GetType().
Referenced by formatAprioriSigmaString(), formatBundleOutputDetailString(), and formatBundleOutputSummaryString().
boost::numeric::ublas::bounded_vector< double, 3 > & Isis::BundleControlPoint::weights | ( | ) |
Accesses the 3 dimensional ordered vector of weight values associated with latitude, longitude, and radius.
void Isis::BundleControlPoint::zeroNumberOfRejectedMeasures | ( | ) |
Resets the number of rejected measures for this BundleControlPoint to zero.
References Isis::ControlPoint::ZeroNumberOfRejectedMeasures().
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:32:32 |