|
Isis 3.0
| Home |
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().