Isis 3 Programmer Reference
Isis::BundleControlPoint Class Reference

This class holds information about a control point that BundleAdjust needs to run correctly. More...

#include <BundleControlPoint.h>

Inheritance diagram for Isis::BundleControlPoint:
Inheritance graph
Collaboration diagram for Isis::BundleControlPoint:
Collaboration graph

Public Member Functions

 BundleControlPoint (BundleSettingsQsp bundleSettings, ControlPoint *point)
 Constructs a BundleControlPoint object from a ControlPoint.
 
 BundleControlPoint (const BundleControlPoint &src)
 Copy constructor.
 
virtual ~BundleControlPoint ()
 Destructor for BundleControlPoint.
 
BundleControlPointoperator= (const BundleControlPoint &src)
 
void copy (const BundleControlPoint &src)
 Copies given BundleControlPoint to this BundleControlPoint.
 
BundleMeasureQsp addMeasure (ControlMeasure *controlMeasure)
 Creates a BundleMeasure from the given ControlMeasure and appends it to this BundleControlPoint's measure list.
 
void computeResiduals ()
 Computes the residuals for this BundleControlPoint.
 
void setAdjustedSurfacePoint (SurfacePoint surfacePoint)
 Sets the adjusted surface point for this BundleControlPoint.
 
void setNumberOfRejectedMeasures (int numRejected)
 Sets the number of rejected measures for this BundleControlPoint.
 
void setRejected (bool reject)
 Sets this BundleControlPoint to rejected or not rejected.
 
void setWeights (const BundleSettingsQsp settings)
 Sets the weights using the given BundleSettings QSharedPointer and a conversion value for meters to radians.
 
void setSigmaWeightFromGlobals (double gSigma, int index)
 Sets the member sigmas and weights from a global sigma.
 
void setSigmaWeightFromGlobals (double gSigma, int index, double cFactor)
 
void zeroNumberOfRejectedMeasures ()
 Resets the number of rejected measures for this BundleControlPoint to zero.
 
void productAlphaAV (double alpha, SparseBlockMatrix &sparseNormals, LinearAlgebra::Vector &v1)
 Perform the matrix multiplication v2 = alpha ( Q x v1 ).
 
virtual void applyParameterCorrections (LinearAlgebra::Vector imageSolution, SparseBlockMatrix &sparseNormals, const BundleTargetBodyQsp target)
 Apply the parameter corrections to the bundle control point.
 
double vtpv ()
 Compute vtpv, the weighted sum of squares of constrained point residuals.
 
double vtpvMeasures ()
 Compute vtpv of image measures (weighted sum of squares of measure residuals).
 
ControlPointrawControlPoint () const
 Accessor for the raw ControlPoint object used for this BundleControlPoint.
 
bool isRejected () const
 Method used to determine whether this control point is rejected.
 
int numberOfMeasures () const
 Accesses number of measures associated with this BundleControlPoint.
 
int numberOfRejectedMeasures () const
 Accesses the number of rejected measures for this BundleControlPoint.
 
double residualRms () const
 Gets the root-mean-square (rms) of the BundleControlPoint's residuals.
 
SurfacePoint adjustedSurfacePoint () const
 Accesses the adjusted SurfacePoint associated with this BundleControlPoint.
 
QString id () const
 Accesses the Point ID associated with this BundleControlPoint.
 
ControlPoint::PointType type () const
 Accesses BundleControlPoint's type.
 
SurfacePoint::CoordinateType coordTypeReports () const
 Accesses BundleControlPoint's coordinate type for reports.
 
SurfacePoint::CoordinateType coordTypeBundle () const
 Accesses BundleControlPoint's control point coordinate type for the bundle adjustment.
 
boost::numeric::ublas::bounded_vector< double, 3 > & corrections ()
 Accesses the 3 dimensional ordered vector of correction values associated with coord1, coord2, and coord 3 (latitude, longitude, and radius or X, Y, and Z.
 
boost::numeric::ublas::bounded_vector< double, 3 > & aprioriSigmas ()
 Accesses the 3 dimensional ordered vector of apriori sigmas (apriori coordinate1, apriori coordinate2, apriori coordinate3).
 
boost::numeric::ublas::bounded_vector< double, 3 > & adjustedSigmas ()
 Accesses the 3 dimensional ordered vector of adjusted sigmas (adjusted coordinate1, adjusted coordinate2, adjusted coordinate3).
 
boost::numeric::ublas::bounded_vector< double, 3 > & weights ()
 Accesses the 3 dimensional ordered vector of weight values associated with coordinate1, coordinate2, and coordinate3.
 
boost::numeric::ublas::bounded_vector< double, 3 > & nicVector ()
 Accesses the 3 dimensional ordered NIC vector.
 
SparseBlockRowMatrixcholmodQMatrix ()
 Accesses the CholMod matrix associated with this BundleControlPoint.
 
QString formatBundleOutputSummaryString (bool errorPropagation) const
 Formats an output summary string for this BundleControlPoint.
 
QString formatBundleOutputDetailString (bool errorPropagation, bool solveRadius=false) const
 Formats a detailed output string table for this BundleControlPoint.
 
QString formatBundleLatitudinalOutputDetailString (bool errorPropagation, bool solveRadius=false) const
 Formats a detailed output string table for this Latitudinal BundleControlPoint.
 
QString formatBundleRectangularOutputDetailString (bool errorPropagation) const
 Formats a detailed output string table for this Rectangular BundleControlPoint.
 
QString formatValue (double value, int fieldWidth, int precision) const
 Formats the given double precision value using the specified field width and precision.
 
QString formatAprioriSigmaString (SurfacePoint::CoordIndex index, int fieldWidth, int precision, bool solveRadius=false) const
 Formats the apriori sigma value indicated by the given type code.
 
QString formatCoordAprioriSigmaString (SurfacePoint::CoordIndex index, int fieldWidth, int precision, bool solveRadius=false) const
 Formats the apriori coordinate 1 (latitude or X) sigma value.
 
QString formatAdjustedSigmaString (SurfacePoint::CoordIndex, int fieldWidth, int precision, bool errorPropagation) const
 Formats the adjusted sigma value indicated by the given type code.
 
QString formatCoordAdjustedSigmaString (SurfacePoint::CoordIndex, int fieldWidth, int precision, bool errorPropagation) const
 Formats the adjusted coordinate sigma value.
 

Protected Attributes

ControlPointm_controlPoint
 < pointer to the control point object this represents
 

Private Member Functions

void updateAdjustedSurfacePointLatitudinally (const BundleTargetBodyQsp target)
 Apply the parameter corrections to the bundle control point latitudinally.
 
void updateAdjustedSurfacePointRectangularly ()
 Apply the parameter corrections to the bundle control point rectangularly.
 

Private Attributes

boost::numeric::ublas::bounded_vector< double, 3 > m_corrections
 corrections to point parameters
 
boost::numeric::ublas::bounded_vector< double, 3 > m_aprioriSigmas
 apriori sigmas for point parameters
 
boost::numeric::ublas::bounded_vector< double, 3 > m_adjustedSigmas
 adjusted sigmas for point parameters
 
boost::numeric::ublas::bounded_vector< double, 3 > m_weights
 weights for point parameters
 
boost::numeric::ublas::bounded_vector< double, 3 > m_nicVector
 array of NICs (see Brown, 1976)
 
SparseBlockRowMatrix m_cholmodQMatrix
 The CholMod matrix associated with this point.
 
SurfacePoint::CoordinateType m_coordTypeReports
 BundleControlPoint coordinate type.
 
SurfacePoint::CoordinateType m_coordTypeBundle
 

Detailed Description

This class holds information about a control point that BundleAdjust needs to run correctly.

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
History

2014-05-22 Ken Edmundson - Original version.

2015-02-20 Jeannie Backer - Added unitTest. Reformatted output strings. Brought closer to ISIS coding standards.

2016-06-27 Jesse Mapel - Updated documentation and ISIS coding standards in preparation for merging IPCE into ISIS. Fixes #4075.

2016-08-15 Ian Humphrey - Added computeResiduals(), setNumberOfRejectedMeasures(), setRejected(), zeroNumberOfRejectedMeasures(), numberOfRejectedMeasures(), residualRms(), and type(). Modified numberMeasures() to return this->size(), since only non-ignored control measures will be added to this BundleControlPoint. Updated unit test for these methods (except computeResiduals). References #4173.

2016-08-15 Jesse Mapel - Changed contained member data type to a shared pointer. Added wrapper methods for several ControlPoint methods. Fixes #4159.

2016-10-27 Tyler Wilson - Modified formatRadiusAprioriSigmaString, formatAprioriSigmaString, and formatBundleOutputDetailString to accept a third argument (bool solveRadius) with a default value = false. References #4317.

2017-07-26 Debbie A. Cook - Added BundleSettings and metersToRadians as arguments to constructor and moved setWeights call from BundleAdjust::init into constructor. Added m_bundleControlPointCoordinateType. This option determines how control point coordinates are entered into BundleControlPoint, interpreted throughout the adjustment, and output. The coordinate type needs to be in this class, because BundleControlPoints are created without a parent control net and added to a control net later. Made format methods generic in regards to coordinate type. Added utility method setSigmaWeightFromGlobals. Merged methods formatLatitudeAdjustedSigmaString, formatLongitudeAdjustedSigmaString, and formatRadiusAdjustedSigmaString into a single generic coordinate method with an additional argument for the coordinate index. Did a similar merge for the family of methods like formatLatitudeAprioriSigmaString. Moved some of the functionality from BundleAdjust to this class as a new method applyParameterCorrections. Also had to move BundleAdjust method productAlphaAV to this class to support applyParameterCorrections. References #4649 and #501.

2017-08-24 Debbie A. Cook - Revised output units to be compatible with output from previous versions, corrected units throughout in comments and code. Reference #4649 and #501.

2018-01-05 Debbie A. Cook - Added new members m_coordTypeReports and m_coordTypeBundle to copy method. Reference #4649 and #501.

2018-05-31 Debbie A. Cook - Moved code from BundleAdjust::applyParameterCorrections pertaining to updating the adjusted surface point and method productAlphaAv into new methods applyParameterCorrections, updateAdjustedSurfacePointLatitudinally, and updateAdjustedSurfacePointRectangularly in BundleControlPoint. Reference #4649 and #501.

2018-09-28 Debbie A. Cook - Removed the metersToRadians argument from the constructor and from the setWeights method since we are now using the local radius of the point to convert lat/lon sigmas from meters to radians. References #4649 and #501.

Definition at line 91 of file BundleControlPoint.h.

Constructor & Destructor Documentation

◆ BundleControlPoint() [1/2]

Isis::BundleControlPoint::BundleControlPoint ( BundleSettingsQsp bundleSettings,
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.

Definition at line 33 of file BundleControlPoint.cpp.

References addMeasure(), Isis::ControlPoint::GetMeasure(), m_adjustedSigmas, m_aprioriSigmas, m_controlPoint, m_coordTypeReports, m_corrections, m_nicVector, m_weights, Isis::Null, and setWeights().

◆ BundleControlPoint() [2/2]

Isis::BundleControlPoint::BundleControlPoint ( const BundleControlPoint & src)

Copy constructor.

Constructs a BundleControlPoint object from an existing BundleControlPoint.

Parameters
srcThe BundleControlPoint to be copied.

Definition at line 77 of file BundleControlPoint.cpp.

References copy().

◆ ~BundleControlPoint()

Isis::BundleControlPoint::~BundleControlPoint ( )
virtual

Destructor for BundleControlPoint.

Definition at line 85 of file BundleControlPoint.cpp.

Member Function Documentation

◆ addMeasure()

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.

Definition at line 125 of file BundleControlPoint.cpp.

Referenced by BundleControlPoint().

◆ adjustedSigmas()

boost::numeric::ublas::bounded_vector< double, 3 > & Isis::BundleControlPoint::adjustedSigmas ( )

Accesses the 3 dimensional ordered vector of adjusted sigmas (adjusted coordinate1, adjusted coordinate2, adjusted coordinate3).

Returns
boost::numeric::ublas::bounded_vector<double,3>& The vector of adjusted sigmas.

Definition at line 571 of file BundleControlPoint.cpp.

References m_adjustedSigmas.

◆ adjustedSurfacePoint()

◆ applyParameterCorrections()

void Isis::BundleControlPoint::applyParameterCorrections ( LinearAlgebra::Vector imageSolution,
SparseBlockMatrix & sparseNormals,
const BundleTargetBodyQsp target )
virtual

Apply the parameter corrections to the bundle control point.

Parameters
imageSolutionImage vector.
factorThe unit conversion factor to use on lat and lon rad or x/y/z km.
targetThe BundleTargetBody.

Reimplemented in Isis::BundleLidarControlPoint.

Definition at line 395 of file BundleControlPoint.cpp.

References isRejected(), Isis::SurfacePoint::Latitudinal, m_corrections, m_nicVector, productAlphaAV(), Isis::IException::Programmer, Isis::SurfacePoint::Rectangular, Isis::toString(), updateAdjustedSurfacePointLatitudinally(), and updateAdjustedSurfacePointRectangularly().

Referenced by Isis::BundleLidarControlPoint::applyParameterCorrections().

◆ aprioriSigmas()

boost::numeric::ublas::bounded_vector< double, 3 > & Isis::BundleControlPoint::aprioriSigmas ( )

Accesses the 3 dimensional ordered vector of apriori sigmas (apriori coordinate1, apriori coordinate2, apriori coordinate3).

Returns
boost::numeric::ublas::bounded_vector<double,3>& The vector of apriori sigmas.

Definition at line 557 of file BundleControlPoint.cpp.

References m_aprioriSigmas.

◆ cholmodQMatrix()

SparseBlockRowMatrix & Isis::BundleControlPoint::cholmodQMatrix ( )

Accesses the CholMod matrix associated with this BundleControlPoint.

Returns
SparseBlockRowMatrix& The CholMod row matrix.

Definition at line 602 of file BundleControlPoint.cpp.

References m_cholmodQMatrix.

◆ computeResiduals()

void Isis::BundleControlPoint::computeResiduals ( )

Computes the residuals for this BundleControlPoint.

See also
ControlPoint::ComputeResiduals()

Definition at line 140 of file BundleControlPoint.cpp.

References Isis::ControlPoint::ComputeResiduals(), and m_controlPoint.

◆ coordTypeBundle()

SurfacePoint::CoordinateType Isis::BundleControlPoint::coordTypeBundle ( ) const

Accesses BundleControlPoint's control point coordinate type for the bundle adjustment.

Returns
ControlPoint::CoordinateType The BundleControlPoint's coordinate type. See SurfacePoint for the options.
See also
ControlPoint::getCoordTypeBundle()

Definition at line 533 of file BundleControlPoint.cpp.

◆ coordTypeReports()

SurfacePoint::CoordinateType Isis::BundleControlPoint::coordTypeReports ( ) const

Accesses BundleControlPoint's coordinate type for reports.

Returns
ControlPoint::CoordinateType The BundleControlPoint's coordinate type. See SurfacePoint for the options.
See also
ControlPoint::getCoordType()

Definition at line 520 of file BundleControlPoint.cpp.

References m_coordTypeReports.

◆ copy()

void Isis::BundleControlPoint::copy ( const BundleControlPoint & src)

◆ corrections()

boost::numeric::ublas::bounded_vector< double, 3 > & Isis::BundleControlPoint::corrections ( )

Accesses the 3 dimensional ordered vector of correction values associated with coord1, coord2, and coord 3 (latitude, longitude, and radius or X, Y, and Z.

A bounded vector is recommended because the size will always be 3.

Returns
boost::numeric::ublas::bounded_vector<double,3>& The vector of correction values.

Definition at line 546 of file BundleControlPoint.cpp.

References m_corrections.

◆ formatAdjustedSigmaString()

QString Isis::BundleControlPoint::formatAdjustedSigmaString ( SurfacePoint::CoordIndex index,
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
indexCoordIndex Coordinate index One: Latitude or X, Two: Longitude or Y, or Three: Radius or Z
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.

Definition at line 1048 of file BundleControlPoint.cpp.

References adjustedSurfacePoint(), Isis::SurfacePoint::GetSigmaDistance(), Isis::IsSpecial(), m_coordTypeReports, Isis::Distance::meters(), and Isis::Null.

Referenced by formatCoordAdjustedSigmaString().

◆ formatAprioriSigmaString()

QString Isis::BundleControlPoint::formatAprioriSigmaString ( SurfacePoint::CoordIndex index,
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
indexCoordIndex Coordinate index One: Latitude or X, Two: Longitude or Y, or Three: Radius or Z
fieldWidthThe return string's field width.
precisionThe precision of the double to be saved off.
solveRadiusA flag indicating to solve for each points individual radius. When solveRadius is false, the point radius is heavily weighted
Returns
QString The formatted value, as a string.

Definition at line 998 of file BundleControlPoint.cpp.

References Isis::IsSpecial(), m_aprioriSigmas, Isis::ControlPoint::PointTypeToString(), and type().

Referenced by formatCoordAprioriSigmaString().

◆ formatBundleLatitudinalOutputDetailString()

QString Isis::BundleControlPoint::formatBundleLatitudinalOutputDetailString ( bool errorPropagation,
bool solveRadius = false ) const

Formats a detailed output string table for this Latitudinal BundleControlPoint.

Parameters
errorPropagationIndicates whether error propagation was selected.
RTMConversion factor from radians to meters. Used to convert the latitude and longitude corrections to meters.
solveRadiusA flag indicating to solve for each points individual radius. When solveRadius is false, the point radius is heavily weighted
Returns
QString The formatted output detailed string.
History
2017-08-24 Debbie A. Cook - Revised units of cor_rad to be km instead of meters when outputting latitudinal corrections in degrees. Fixed coordinate type for rectPoint to be Displacement::Kilometers instead of Distance::Kilometers. Corrected conversions of corrections in lat/longitudinal degrees to rectangular meters. Fixed output of radius corrections in km. It was outputting Z corrections.

Definition at line 707 of file BundleControlPoint.cpp.

References Isis::DEG2RAD, Isis::Angle::degrees(), formatCoordAdjustedSigmaString(), formatCoordAprioriSigmaString(), formatValue(), Isis::SurfacePoint::GetLatitude(), Isis::SurfacePoint::GetLocalRadius(), Isis::SurfacePoint::GetLongitude(), Isis::IsSpecial(), Isis::Displacement::Kilometers, Isis::Displacement::kilometers(), Isis::Distance::kilometers(), Isis::SurfacePoint::LatitudeToMeters(), Isis::SurfacePoint::Latitudinal, Isis::SurfacePoint::LongitudeToMeters(), m_controlPoint, m_corrections, Isis::Null, numberOfMeasures(), numberOfRejectedMeasures(), Isis::ControlPoint::PointTypeToString(), Isis::IException::Programmer, Isis::RAD2DEG, Isis::SurfacePoint::Rectangular, Isis::toString(), and type().

Referenced by formatBundleOutputDetailString().

◆ formatBundleOutputDetailString()

QString Isis::BundleControlPoint::formatBundleOutputDetailString ( bool errorPropagation,
bool solveRadius = false ) const

Formats a detailed output string table for this BundleControlPoint.

Parameters
errorPropagationIndicates whether error propagation was selected.
RTMConversion factor from radians to meters. Used to convert the latitude and longitude corrections to meters.
solveRadiusA flag indicating to solve for each points individual radius. When solveRadius is false, the point radius is heavily weighted
Returns
QString The formatted output detailed string.

Definition at line 668 of file BundleControlPoint.cpp.

References formatBundleLatitudinalOutputDetailString(), formatBundleRectangularOutputDetailString(), Isis::SurfacePoint::Latitudinal, m_coordTypeReports, Isis::IException::Programmer, Isis::SurfacePoint::Rectangular, and Isis::toString().

◆ formatBundleOutputSummaryString()

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 coordinate1, adjusted coordinate 2, and adjusted coordinate 3 followed by the adjusted sigmas. In the case of Latitudinal coordinates, the coordinates will be adjusted latitude and longitude (in degrees), the adjusted radius (in km), and the adjusted sigmas for latitude, longitude and radius all in meters. In the case of Rectangular coordinates, the coordinates will be X, Y, Z (in km), and the adjusted sigmas for X, Y, and Z all in meters.

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

Definition at line 621 of file BundleControlPoint.cpp.

References formatCoordAdjustedSigmaString(), formatValue(), Isis::SurfacePoint::GetCoord(), m_controlPoint, m_coordTypeReports, numberOfMeasures(), numberOfRejectedMeasures(), Isis::ControlPoint::PointTypeToString(), Isis::SurfacePoint::Rectangular, residualRms(), and type().

◆ formatBundleRectangularOutputDetailString()

QString Isis::BundleControlPoint::formatBundleRectangularOutputDetailString ( bool errorPropagation) const

◆ formatCoordAdjustedSigmaString()

QString Isis::BundleControlPoint::formatCoordAdjustedSigmaString ( SurfacePoint::CoordIndex index,
int fieldWidth,
int precision,
bool errorPropagation ) const

Formats the adjusted coordinate sigma value.

Parameters
indexThe coordinate index of the sigma to return.
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 coordinate sigma value, as a string.
See also
formatAdjustedSigmaString()

Definition at line 1084 of file BundleControlPoint.cpp.

References formatAdjustedSigmaString().

Referenced by formatBundleLatitudinalOutputDetailString(), formatBundleOutputSummaryString(), and formatBundleRectangularOutputDetailString().

◆ formatCoordAprioriSigmaString()

QString Isis::BundleControlPoint::formatCoordAprioriSigmaString ( SurfacePoint::CoordIndex index,
int fieldWidth,
int precision,
bool solveRadius = false ) const

Formats the apriori coordinate 1 (latitude or X) sigma value.

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

Definition at line 1027 of file BundleControlPoint.cpp.

References formatAprioriSigmaString().

Referenced by formatBundleLatitudinalOutputDetailString(), and formatBundleRectangularOutputDetailString().

◆ formatValue()

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.

Definition at line 976 of file BundleControlPoint.cpp.

References Isis::IsSpecial().

Referenced by formatBundleLatitudinalOutputDetailString(), formatBundleOutputSummaryString(), and formatBundleRectangularOutputDetailString().

◆ id()

QString Isis::BundleControlPoint::id ( ) const

Accesses the Point ID associated with this BundleControlPoint.

Returns
QString The ID for this point.

Definition at line 494 of file BundleControlPoint.cpp.

References Isis::ControlPoint::GetId(), and m_controlPoint.

Referenced by Isis::BundleAdjust::computePartials(), Isis::IsisBundleObservation::computeRHSPartials(), and Isis::CsmBundleObservation::computeRHSPartials().

◆ isRejected()

bool Isis::BundleControlPoint::isRejected ( ) const

Method used to determine whether this control point is rejected.

Returns
bool Indicates whether this control point is rejected.

Definition at line 440 of file BundleControlPoint.cpp.

References m_controlPoint.

Referenced by applyParameterCorrections().

◆ nicVector()

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.

Definition at line 592 of file BundleControlPoint.cpp.

References m_nicVector.

◆ numberOfMeasures()

int Isis::BundleControlPoint::numberOfMeasures ( ) const

Accesses number of measures associated with this BundleControlPoint.

Returns
int The number of measures for this point.

Definition at line 450 of file BundleControlPoint.cpp.

Referenced by formatBundleLatitudinalOutputDetailString(), formatBundleOutputSummaryString(), and formatBundleRectangularOutputDetailString().

◆ numberOfRejectedMeasures()

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

Definition at line 462 of file BundleControlPoint.cpp.

References Isis::ControlPoint::GetNumberOfRejectedMeasures(), and m_controlPoint.

Referenced by formatBundleLatitudinalOutputDetailString(), formatBundleOutputSummaryString(), and formatBundleRectangularOutputDetailString().

◆ productAlphaAV()

void Isis::BundleControlPoint::productAlphaAV ( double alpha,
SparseBlockMatrix & sparseNormals,
LinearAlgebra::Vector & v1 )

Perform the matrix multiplication v2 = alpha ( Q x v1 ).

Parameters
alphaA constant multiplier.
sparseNormalsThe sparse block normal equations matrix.
v2The output vector.
QA sparse block matrix.
v1A vector.

Definition at line 367 of file BundleControlPoint.cpp.

References m_cholmodQMatrix, and m_nicVector.

Referenced by applyParameterCorrections().

◆ rawControlPoint()

ControlPoint * Isis::BundleControlPoint::rawControlPoint ( ) const

Accessor for the raw ControlPoint object used for this BundleControlPoint.

Returns
ControlPoint* A pointer to the raw ControlPoint.

Definition at line 430 of file BundleControlPoint.cpp.

References m_controlPoint.

◆ residualRms()

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

Definition at line 474 of file BundleControlPoint.cpp.

References Isis::ControlPoint::GetResidualRms(), and m_controlPoint.

Referenced by formatBundleOutputSummaryString().

◆ setAdjustedSurfacePoint()

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

Sets the adjusted surface point for this BundleControlPoint.

Parameters
surfacePointThe surface point to be set.

Definition at line 155 of file BundleControlPoint.cpp.

References m_controlPoint, and Isis::ControlPoint::SetAdjustedSurfacePoint().

Referenced by updateAdjustedSurfacePointLatitudinally(), and updateAdjustedSurfacePointRectangularly().

◆ setNumberOfRejectedMeasures()

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)

Definition at line 167 of file BundleControlPoint.cpp.

References m_controlPoint, and Isis::ControlPoint::SetNumberOfRejectedMeasures().

◆ setRejected()

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)

Definition at line 179 of file BundleControlPoint.cpp.

References m_controlPoint, and Isis::ControlPoint::SetRejected().

◆ setSigmaWeightFromGlobals()

void Isis::BundleControlPoint::setSigmaWeightFromGlobals ( double gSigma,
int index )

Sets the member sigmas and weights from a global sigma.

TODO *** Should index be SurfacePoint::CoordIndex?

Parameters
gSigmaThe global sigma to assign.
indexThe index of the point coordinate being set (0, 1, or 2).
cFactorThe conversion factor applied to gSigma to match bundle variable units.
See also
formatAprioriSigmaString()

Definition at line 288 of file BundleControlPoint.cpp.

References Isis::SurfacePoint::Latitudinal, m_aprioriSigmas, m_controlPoint, m_weights, Isis::SurfacePoint::MetersToLatitude(), Isis::SurfacePoint::MetersToLongitude(), Isis::IException::Programmer, Isis::SurfacePoint::Rectangular, and Isis::toString().

Referenced by setWeights().

◆ setWeights()

◆ type()

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

◆ updateAdjustedSurfacePointLatitudinally()

void Isis::BundleControlPoint::updateAdjustedSurfacePointLatitudinally ( const BundleTargetBodyQsp target)
private

Apply the parameter corrections to the bundle control point latitudinally.

Parameters
factorThe unit conversion factor to use on lat & lon. Radius is in km & converted to m
targetThe BundleTargetBody.

Definition at line 1097 of file BundleControlPoint.cpp.

References adjustedSurfacePoint(), Isis::Angle::Degrees, m_nicVector, Isis::Distance::Meters, Isis::RAD2DEG, and setAdjustedSurfacePoint().

Referenced by applyParameterCorrections().

◆ updateAdjustedSurfacePointRectangularly()

void Isis::BundleControlPoint::updateAdjustedSurfacePointRectangularly ( )
private

Apply the parameter corrections to the bundle control point rectangularly.

Parameters
factorThe unit conversion factor to use on the coordinates.

Definition at line 1164 of file BundleControlPoint.cpp.

References adjustedSurfacePoint(), m_nicVector, Isis::Displacement::Meters, and setAdjustedSurfacePoint().

Referenced by applyParameterCorrections().

◆ vtpv()

double Isis::BundleControlPoint::vtpv ( )

Compute vtpv, the weighted sum of squares of constrained point residuals.

Returns
double Weighted sum of squares of constrained point residuals.

Definition at line 1221 of file BundleControlPoint.cpp.

References m_corrections, m_weights, and vtpv().

Referenced by vtpv(), vtpvMeasures(), and Isis::BundleLidarControlPoint::vtpvRangeContribution().

◆ vtpvMeasures()

double Isis::BundleControlPoint::vtpvMeasures ( )

Compute vtpv of image measures (weighted sum of squares of measure residuals).

Returns
double weighted sum of squares of measure residuals (vtpv).

Definition at line 1193 of file BundleControlPoint.cpp.

References vtpv().

◆ weights()

boost::numeric::ublas::bounded_vector< double, 3 > & Isis::BundleControlPoint::weights ( )

Accesses the 3 dimensional ordered vector of weight values associated with coordinate1, coordinate2, and coordinate3.

Returns
boost::numeric::ublas::bounded_vector<double,3>& The vector of weight values.

Definition at line 582 of file BundleControlPoint.cpp.

References m_weights.

◆ zeroNumberOfRejectedMeasures()

void Isis::BundleControlPoint::zeroNumberOfRejectedMeasures ( )

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

See also
ControlPoint::ZeroNumberOfRejectedMeasures()

Definition at line 353 of file BundleControlPoint.cpp.

References m_controlPoint, and Isis::ControlPoint::ZeroNumberOfRejectedMeasures().

Member Data Documentation

◆ m_adjustedSigmas

boost::numeric::ublas::bounded_vector< double, 3 > Isis::BundleControlPoint::m_adjustedSigmas
private

adjusted sigmas for point parameters

Definition at line 178 of file BundleControlPoint.h.

Referenced by adjustedSigmas(), BundleControlPoint(), and copy().

◆ m_aprioriSigmas

boost::numeric::ublas::bounded_vector< double, 3 > Isis::BundleControlPoint::m_aprioriSigmas
private

apriori sigmas for point parameters

Definition at line 176 of file BundleControlPoint.h.

Referenced by aprioriSigmas(), BundleControlPoint(), copy(), formatAprioriSigmaString(), setSigmaWeightFromGlobals(), and setWeights().

◆ m_cholmodQMatrix

SparseBlockRowMatrix Isis::BundleControlPoint::m_cholmodQMatrix
private

The CholMod matrix associated with this point.

Definition at line 184 of file BundleControlPoint.h.

Referenced by cholmodQMatrix(), and productAlphaAV().

◆ m_controlPoint

◆ m_coordTypeBundle

SurfacePoint::CoordinateType Isis::BundleControlPoint::m_coordTypeBundle
private

Definition at line 187 of file BundleControlPoint.h.

◆ m_coordTypeReports

◆ m_corrections

boost::numeric::ublas::bounded_vector< double, 3 > Isis::BundleControlPoint::m_corrections
private

◆ m_nicVector

boost::numeric::ublas::bounded_vector<double, 3> Isis::BundleControlPoint::m_nicVector
private

◆ m_weights

boost::numeric::ublas::bounded_vector< double, 3 > Isis::BundleControlPoint::m_weights
private

weights for point parameters

Definition at line 180 of file BundleControlPoint.h.

Referenced by BundleControlPoint(), copy(), setSigmaWeightFromGlobals(), setWeights(), vtpv(), and weights().


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