Isis 3.0
Back | Home
Isis::BundleControlPoint Class Reference

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...
 
BundleControlPointoperator= (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...
 
ControlPointrawControlPoint () 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...
 
SparseBlockRowMatrixcholmodQMatrix ()
 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...
 

Detailed Description

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.

Author
2014-05-22 Ken Edmundson

Constructor & Destructor Documentation

Isis::BundleControlPoint::BundleControlPoint ( ControlPoint controlPoint)

Constructs a BundleControlPoint object from a ControlPoint.

Only the non-ignored measures are added to the BundleControlPoint.

Parameters
controlPointPointer 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.

Parameters
srcThe BundleControlPoint to be copied.

References copy().

Isis::BundleControlPoint::~BundleControlPoint ( )

Destructor for BundleControlPoint.

Member Function Documentation

BundleMeasureQsp Isis::BundleControlPoint::addMeasure ( ControlMeasure controlMeasure)

Creates a BundleMeasure from the given ControlMeasure and appends it to this BundleControlPoint's measure list.

Parameters
controlMeasureThe ControlMeasure to be converted.
Returns
BundleMeasure* A pointer to the new BundleMeasure.

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).

Returns
boost::numeric::ublas::bounded_vector<double,3>& The vector of adjusted sigmas.
SurfacePoint Isis::BundleControlPoint::adjustedSurfacePoint ( ) const

Accesses the adjusted SurfacePoint associated with this BundleControlPoint.

Returns
SurfacePoint The adjusted surface point.

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).

Returns
boost::numeric::ublas::bounded_vector<double,3>& The vector of apriori sigmas.
SparseBlockRowMatrix & Isis::BundleControlPoint::cholmodQMatrix ( )

Accesses the CholMod matrix associated with this BundleControlPoint.

Returns
SparseBlockRowMatrix& The CholMod row matrix.
void Isis::BundleControlPoint::computeResiduals ( )
void Isis::BundleControlPoint::copy ( const BundleControlPoint src)

Copies given BundleControlPoint to this BundleControlPoint.

Parameters
srcThe 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.

Returns
boost::numeric::ublas::bounded_vector<double,3>& The vector of correction values.
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.

Parameters
typeInteger code that indicates which apriori sigma value will be formatted. Latitude=0, Longitude=1, Radius=2.
fieldWidthThe return string's field width.
precisionThe precision of the double to be saved off.
errorPropagationIndicates whether error propagation was selected.
Returns
QString The formatted value, as a string.

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.

Parameters
typeInteger code that indicates which apriori sigma value will be formatted. Latitude=0, Longitude=1, Radius=2.
fieldWidthThe return string's field width.
precisionThe precision of the double to be saved off.
Returns
QString The formatted value, as a string.

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
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).

Parameters
errorPropagationIndicates whether error propagation was selected.
Returns
QString The formatted output summary string.

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.

Parameters
fieldWidthThe return string's field width.
precisionThe precision of the double to be saved off.
errorPropagationIndicates whether error propagation was selected.
Returns
QString The formatted adjusted latitude sigma value, as a string.
See Also
formatAdjustedSigmaString()

References formatAdjustedSigmaString().

Referenced by formatBundleOutputDetailString(), and formatBundleOutputSummaryString().

QString Isis::BundleControlPoint::formatLatitudeAprioriSigmaString ( int  fieldWidth,
int  precision 
) const

Formats the apriori latitude sigma value.

Parameters
fieldWidthThe return string's field width.
precisionThe precision of the double to be saved off.
Returns
QString The formatted apriori latitude sigma value, as a string.
See Also
formatAprioriSigmaString()

References formatAprioriSigmaString().

Referenced by formatBundleOutputDetailString().

QString Isis::BundleControlPoint::formatLongitudeAdjustedSigmaString ( int  fieldWidth,
int  precision,
bool  errorPropagation 
) const

Formats the adjusted longitude sigma value.

Parameters
fieldWidthThe return string's field width.
precisionThe precision of the double to be saved off.
errorPropagationIndicates whether error propagation was selected.
Returns
QString The formatted adjusted longitude sigma value, as a string.
See Also
formatAdjustedSigmaString()

References formatAdjustedSigmaString().

Referenced by formatBundleOutputDetailString(), and formatBundleOutputSummaryString().

QString Isis::BundleControlPoint::formatLongitudeAprioriSigmaString ( int  fieldWidth,
int  precision 
) const

Formats the apriori longitude sigma value.

Parameters
fieldWidthThe return string's field width.
precisionThe precision of the double to be saved off.
Returns
QString The formatted apriori longitude sigma value, as a string.
See Also
formatAprioriSigmaString()

References formatAprioriSigmaString().

Referenced by formatBundleOutputDetailString().

QString Isis::BundleControlPoint::formatRadiusAdjustedSigmaString ( int  fieldWidth,
int  precision,
bool  errorPropagation 
) const

Formats the adjusted radius sigma value.

Parameters
fieldWidthThe return string's field width.
precisionThe precision of the double to be saved off.
errorPropagationIndicates whether error propagation was selected.
Returns
QString The formatted adjusted radius sigma value, as a string.
See Also
formatAdjustedSigmaString()

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.

Parameters
fieldWidthThe return string's field width.
precisionThe precision of the double to be saved off.
Returns
QString The formatted apriori radius sigma value, as a string.
See Also
formatAprioriSigmaString()

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.

Parameters
valueThe double value to be formattted.
fieldWidthThe return string's field width.
precisionThe precision of the given double value to be saved off.
Returns
QString The formatted value, as a string.

References Isis::IsSpecial().

Referenced by formatBundleOutputDetailString(), and formatBundleOutputSummaryString().

QString Isis::BundleControlPoint::id ( ) const

Accesses the Point ID associated with this BundleControlPoint.

Returns
QString The ID for this point.

References Isis::ControlPoint::GetId().

bool Isis::BundleControlPoint::isRejected ( ) const

Method used to determine whether this control point is rejected.

Returns
bool Indicates 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.

Returns
boost::numeric::ublas::bounded_vector<double,3>& The NIC vector.
int Isis::BundleControlPoint::numberOfMeasures ( ) const

Accesses number of measures associated with this BundleControlPoint.

Returns
int The number of measures for this point.

Referenced by formatBundleOutputDetailString(), and formatBundleOutputSummaryString().

int Isis::BundleControlPoint::numberOfRejectedMeasures ( ) const

Accesses the number of rejected measures for this BundleControlPoint.

Returns
int Returns the number of rejected measures.
See Also
ControlPoint::GetNumberOfRejectedMeasures()

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.

Returns
ControlPoint* A pointer to the raw ControlPoint.
double Isis::BundleControlPoint::residualRms ( ) const

Gets the root-mean-square (rms) of the BundleControlPoint's residuals.

Returns
double Returns the rms of the residuals.
See Also
ControlPoint::GetResidualRms()

References Isis::ControlPoint::GetResidualRms().

Referenced by formatBundleOutputSummaryString().

void Isis::BundleControlPoint::setAdjustedSurfacePoint ( SurfacePoint  surfacePoint)

Sets the adjusted surface point for this BundleControlPoint.

Parameters
surfacePointThe surface point to be set.

References Isis::ControlPoint::SetAdjustedSurfacePoint().

void Isis::BundleControlPoint::setNumberOfRejectedMeasures ( int  numRejected)

Sets the number of rejected measures for this BundleControlPoint.

Parameters
numRejectedNumber of rejected measures.
See Also
ControlPoint::SetNumberOfRejectedMeasures(int numRejected)

References Isis::ControlPoint::SetNumberOfRejectedMeasures().

void Isis::BundleControlPoint::setRejected ( bool  reject)

Sets this BundleControlPoint to rejected or not rejected.

Parameters
rejectTrue will set the BundleControlPoint to rejected.
See Also
ControlPoint::SetRejected(bool reject)

References Isis::ControlPoint::SetRejected().

ControlPoint::PointType Isis::BundleControlPoint::type ( ) const

Accesses BundleControlPoint's type.

Returns
ControlPoint::PointType The BundleControlPoint's type. Options are: Fixed = 0, Constrained = 1, Free = 2.
See Also
ControlPoint::GetType()

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.

Returns
boost::numeric::ublas::bounded_vector<double,3>& The vector of weight values.
void Isis::BundleControlPoint::zeroNumberOfRejectedMeasures ( )

Resets the number of rejected measures for this BundleControlPoint to zero.

See Also
ControlPoint::ZeroNumberOfRejectedMeasures()

References Isis::ControlPoint::ZeroNumberOfRejectedMeasures().


The documentation for this class was generated from the following files:

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