Isis 3 Programmer Reference
Isis::BundleLidarControlPoint Class Reference

This class holds information about a lidar control point that BundleAdjust requires. More...

#include <BundleLidarControlPoint.h>

Inheritance diagram for Isis::BundleLidarControlPoint:
Inheritance graph
Collaboration diagram for Isis::BundleLidarControlPoint:
Collaboration graph

Public Member Functions

 BundleLidarControlPoint (BundleSettingsQsp bundleSettings, LidarControlPointQsp lidarControlPoint)
 Constructs a BundleLidarControlPoint object from a LidarControlPoint.
 
 ~BundleLidarControlPoint ()
 TODO: implement? Copy constructor.
 
BundleLidarControlPointoperator= (const BundleLidarControlPoint &src)
 
void copy (const BundleLidarControlPoint &src)
 Copies given BundleLidarControlPoint to this BundleLidarControlPoint.
 
void initializeRangeConstraints ()
 Initialize range constraints.
 
int applyLidarRangeConstraints (SparseBlockMatrix &normalsMatrix, LinearAlgebra::MatrixUpperTriangular &N22, SparseBlockColumnMatrix &N12, LinearAlgebra::VectorCompressed &n1, LinearAlgebra::Vector &n2)
 Applies range constraint between image and lidar point acquired simultaneously.
 
void computeResiduals ()
 Computes the residuals for this BundleLidarControlPoint.
 
virtual void applyParameterCorrections (LinearAlgebra::Vector imageSolution, SparseBlockMatrix &sparseNormals, const BundleTargetBodyQsp target)
 Apply the parameter corrections to the lidar range.
 
BundleLidarRangeConstraintQsp rangeConstraint (int n)
 Returns range constraint at index n.
 
double vtpvRangeContribution ()
 Returns Weighted sum of squares of range residuals for this point.
 
int numberRangeConstraints ()
 Returns number of range constraints between this lidar point & images acquired simultaneously.
 
double range ()
 Returns range between this point and ???
 
double sigmaRange ()
 Returns sigma of observed range.
 
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 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 ).
 
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

LidarControlPointQsp m_lidarControlPoint
 
QVector< BundleLidarRangeConstraintQspm_rangeConstraints
 
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 lidar control point that BundleAdjust requires.

This class was created to extract functionality from BundleAdjust and wrap a LidarControlPoint with the extra necessary information to correctly perform a bundle adjustment.

Note that only non-ignored lidar control points should be used to construct a BundleLidarControlPoint. Similarly, a BundleLidarControlPoint should only contain non-ignored control measures.

Author
2018-02-08 Ken Edmundson
History
2018-02-08 Ken Edmundson - Original version.

Definition at line 38 of file BundleLidarControlPoint.h.

Constructor & Destructor Documentation

◆ BundleLidarControlPoint()

Isis::BundleLidarControlPoint::BundleLidarControlPoint ( BundleSettingsQsp bundleSettings,
LidarControlPointQsp lidarControlPoint )

Constructs a BundleLidarControlPoint object from a LidarControlPoint.

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

Parameters
bundleSettingsBundleSettings.
controlPointPointer to a ControlPoint that will be used to construct this BundleLidarControlPoint.

TODO: is the typecast expensive?

Definition at line 41 of file BundleLidarControlPoint.cpp.

◆ ~BundleLidarControlPoint()

Isis::BundleLidarControlPoint::~BundleLidarControlPoint ( )

TODO: implement? Copy constructor.

Parameters
srcThe BundleLidarControlPoint to be copied. Destructor.

Definition at line 83 of file BundleLidarControlPoint.cpp.

Member Function Documentation

◆ addMeasure()

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

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 Isis::BundleControlPoint::BundleControlPoint().

◆ adjustedSigmas()

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

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 Isis::BundleControlPoint::m_adjustedSigmas.

◆ adjustedSurfacePoint()

◆ applyLidarRangeConstraints()

int Isis::BundleLidarControlPoint::applyLidarRangeConstraints ( SparseBlockMatrix & normalsMatrix,
LinearAlgebra::MatrixUpperTriangular & N22,
SparseBlockColumnMatrix & N12,
LinearAlgebra::VectorCompressed & n1,
LinearAlgebra::Vector & n2 )

Applies range constraint between image and lidar point acquired simultaneously.

Parameters
normalsMatrixBundle Adjustment normal equations matrix.
N22Normal equation matrix for the point.
N12Normal equations block between image and point.
n1Right hand side vector for the images and target body.
n2Right hand side vector for the point.
Returns
int Number of constraints successfully applied.

Definition at line 142 of file BundleLidarControlPoint.cpp.

◆ applyParameterCorrections()

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

Apply the parameter corrections to the lidar range.

Reimplemented from Isis::BundleControlPoint.

Definition at line 115 of file BundleLidarControlPoint.cpp.

References Isis::BundleControlPoint::applyParameterCorrections().

◆ aprioriSigmas()

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

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 Isis::BundleControlPoint::m_aprioriSigmas.

◆ cholmodQMatrix()

SparseBlockRowMatrix & Isis::BundleControlPoint::cholmodQMatrix ( )
inherited

Accesses the CholMod matrix associated with this BundleControlPoint.

Returns
SparseBlockRowMatrix& The CholMod row matrix.

Definition at line 602 of file BundleControlPoint.cpp.

References Isis::BundleControlPoint::m_cholmodQMatrix.

◆ computeResiduals()

void Isis::BundleLidarControlPoint::computeResiduals ( )

Computes the residuals for this BundleLidarControlPoint.

Definition at line 102 of file BundleLidarControlPoint.cpp.

◆ coordTypeBundle()

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

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
inherited

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 Isis::BundleControlPoint::m_coordTypeReports.

◆ copy() [1/2]

◆ copy() [2/2]

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

Copies given BundleLidarControlPoint to this BundleLidarControlPoint.

Parameters
srcThe BundleLidarControlPoint to be copied.

Definition at line 92 of file BundleLidarControlPoint.cpp.

References Isis::BundleControlPoint::copy().

◆ corrections()

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

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 Isis::BundleControlPoint::m_corrections.

◆ formatAdjustedSigmaString()

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

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 Isis::BundleControlPoint::adjustedSurfacePoint(), Isis::SurfacePoint::GetSigmaDistance(), Isis::IsSpecial(), Isis::BundleControlPoint::m_coordTypeReports, Isis::Distance::meters(), and Isis::Null.

Referenced by Isis::BundleControlPoint::formatCoordAdjustedSigmaString().

◆ formatAprioriSigmaString()

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

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(), Isis::BundleControlPoint::m_aprioriSigmas, Isis::ControlPoint::PointTypeToString(), and Isis::BundleControlPoint::type().

Referenced by Isis::BundleControlPoint::formatCoordAprioriSigmaString().

◆ formatBundleLatitudinalOutputDetailString()

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

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(), Isis::BundleControlPoint::formatCoordAdjustedSigmaString(), Isis::BundleControlPoint::formatCoordAprioriSigmaString(), Isis::BundleControlPoint::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(), Isis::BundleControlPoint::m_controlPoint, Isis::BundleControlPoint::m_corrections, Isis::Null, Isis::BundleControlPoint::numberOfMeasures(), Isis::BundleControlPoint::numberOfRejectedMeasures(), Isis::ControlPoint::PointTypeToString(), Isis::IException::Programmer, Isis::RAD2DEG, Isis::SurfacePoint::Rectangular, Isis::toString(), and Isis::BundleControlPoint::type().

Referenced by Isis::BundleControlPoint::formatBundleOutputDetailString().

◆ formatBundleOutputDetailString()

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

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 Isis::BundleControlPoint::formatBundleLatitudinalOutputDetailString(), Isis::BundleControlPoint::formatBundleRectangularOutputDetailString(), Isis::SurfacePoint::Latitudinal, Isis::BundleControlPoint::m_coordTypeReports, Isis::IException::Programmer, Isis::SurfacePoint::Rectangular, and Isis::toString().

◆ formatBundleOutputSummaryString()

QString Isis::BundleControlPoint::formatBundleOutputSummaryString ( bool errorPropagation) const
inherited

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 Isis::BundleControlPoint::formatCoordAdjustedSigmaString(), Isis::BundleControlPoint::formatValue(), Isis::SurfacePoint::GetCoord(), Isis::BundleControlPoint::m_controlPoint, Isis::BundleControlPoint::m_coordTypeReports, Isis::BundleControlPoint::numberOfMeasures(), Isis::BundleControlPoint::numberOfRejectedMeasures(), Isis::ControlPoint::PointTypeToString(), Isis::SurfacePoint::Rectangular, Isis::BundleControlPoint::residualRms(), and Isis::BundleControlPoint::type().

◆ formatBundleRectangularOutputDetailString()

◆ formatCoordAdjustedSigmaString()

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

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 Isis::BundleControlPoint::formatAdjustedSigmaString().

Referenced by Isis::BundleControlPoint::formatBundleLatitudinalOutputDetailString(), Isis::BundleControlPoint::formatBundleOutputSummaryString(), and Isis::BundleControlPoint::formatBundleRectangularOutputDetailString().

◆ formatCoordAprioriSigmaString()

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

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 Isis::BundleControlPoint::formatAprioriSigmaString().

Referenced by Isis::BundleControlPoint::formatBundleLatitudinalOutputDetailString(), and Isis::BundleControlPoint::formatBundleRectangularOutputDetailString().

◆ formatValue()

QString Isis::BundleControlPoint::formatValue ( double value,
int fieldWidth,
int precision ) const
inherited

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 Isis::BundleControlPoint::formatBundleLatitudinalOutputDetailString(), Isis::BundleControlPoint::formatBundleOutputSummaryString(), and Isis::BundleControlPoint::formatBundleRectangularOutputDetailString().

◆ id()

QString Isis::BundleControlPoint::id ( ) const
inherited

◆ initializeRangeConstraints()

void Isis::BundleLidarControlPoint::initializeRangeConstraints ( )

Initialize range constraints.

Definition at line 53 of file BundleLidarControlPoint.cpp.

◆ isRejected()

bool Isis::BundleControlPoint::isRejected ( ) const
inherited

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 Isis::BundleControlPoint::m_controlPoint.

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

◆ nicVector()

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

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 Isis::BundleControlPoint::m_nicVector.

◆ numberOfMeasures()

int Isis::BundleControlPoint::numberOfMeasures ( ) const
inherited

◆ numberOfRejectedMeasures()

int Isis::BundleControlPoint::numberOfRejectedMeasures ( ) const
inherited

◆ numberRangeConstraints()

int Isis::BundleLidarControlPoint::numberRangeConstraints ( )

Returns number of range constraints between this lidar point & images acquired simultaneously.

Returns
int Number of range constraints

Definition at line 182 of file BundleLidarControlPoint.cpp.

◆ productAlphaAV()

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

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 Isis::BundleControlPoint::m_cholmodQMatrix, and Isis::BundleControlPoint::m_nicVector.

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

◆ range()

double Isis::BundleLidarControlPoint::range ( )

Returns range between this point and ???

Returns
double range.

Definition at line 206 of file BundleLidarControlPoint.cpp.

◆ rangeConstraint()

BundleLidarRangeConstraintQsp Isis::BundleLidarControlPoint::rangeConstraint ( int n)

Returns range constraint at index n.

Parameters
intIndex of range constraint to return.
Returns
BundleLidarRangeConstraintQsp QSharedPointer to range constraint at index n.

Definition at line 195 of file BundleLidarControlPoint.cpp.

◆ rawControlPoint()

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

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 Isis::BundleControlPoint::m_controlPoint.

◆ residualRms()

double Isis::BundleControlPoint::residualRms ( ) const
inherited

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 Isis::BundleControlPoint::m_controlPoint.

Referenced by Isis::BundleControlPoint::formatBundleOutputSummaryString().

◆ setAdjustedSurfacePoint()

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

◆ setNumberOfRejectedMeasures()

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

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 Isis::BundleControlPoint::m_controlPoint, and Isis::ControlPoint::SetNumberOfRejectedMeasures().

◆ setRejected()

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

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 Isis::BundleControlPoint::m_controlPoint, and Isis::ControlPoint::SetRejected().

◆ setSigmaWeightFromGlobals()

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

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, Isis::BundleControlPoint::m_aprioriSigmas, Isis::BundleControlPoint::m_controlPoint, Isis::BundleControlPoint::m_weights, Isis::SurfacePoint::MetersToLatitude(), Isis::SurfacePoint::MetersToLongitude(), Isis::IException::Programmer, Isis::SurfacePoint::Rectangular, and Isis::toString().

Referenced by Isis::BundleControlPoint::setWeights().

◆ setWeights()

◆ sigmaRange()

double Isis::BundleLidarControlPoint::sigmaRange ( )

Returns sigma of observed range.

Returns
double Sigma of observed range.

Definition at line 217 of file BundleLidarControlPoint.cpp.

◆ type()

◆ updateAdjustedSurfacePointLatitudinally()

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

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 Isis::BundleControlPoint::adjustedSurfacePoint(), Isis::Angle::Degrees, Isis::BundleControlPoint::m_nicVector, Isis::Distance::Meters, Isis::RAD2DEG, and Isis::BundleControlPoint::setAdjustedSurfacePoint().

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

◆ updateAdjustedSurfacePointRectangularly()

void Isis::BundleControlPoint::updateAdjustedSurfacePointRectangularly ( )
privateinherited

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 Isis::BundleControlPoint::adjustedSurfacePoint(), Isis::BundleControlPoint::m_nicVector, Isis::Displacement::Meters, and Isis::BundleControlPoint::setAdjustedSurfacePoint().

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

◆ vtpv()

double Isis::BundleControlPoint::vtpv ( )
inherited

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 Isis::BundleControlPoint::m_corrections, Isis::BundleControlPoint::m_weights, and Isis::BundleControlPoint::vtpv().

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

◆ vtpvMeasures()

double Isis::BundleControlPoint::vtpvMeasures ( )
inherited

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 Isis::BundleControlPoint::vtpv().

◆ vtpvRangeContribution()

double Isis::BundleLidarControlPoint::vtpvRangeContribution ( )

Returns Weighted sum of squares of range residuals for this point.

Returns
double Weighted sum of squares of range residuals for this point.

Definition at line 166 of file BundleLidarControlPoint.cpp.

References Isis::BundleControlPoint::vtpv().

◆ weights()

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

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 Isis::BundleControlPoint::m_weights.

◆ zeroNumberOfRejectedMeasures()

void Isis::BundleControlPoint::zeroNumberOfRejectedMeasures ( )
inherited

Member Data Documentation

◆ m_adjustedSigmas

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

◆ m_aprioriSigmas

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

◆ m_cholmodQMatrix

SparseBlockRowMatrix Isis::BundleControlPoint::m_cholmodQMatrix
privateinherited

The CholMod matrix associated with this point.

Definition at line 184 of file BundleControlPoint.h.

Referenced by Isis::BundleControlPoint::cholmodQMatrix(), and Isis::BundleControlPoint::productAlphaAV().

◆ m_controlPoint

◆ m_coordTypeBundle

SurfacePoint::CoordinateType Isis::BundleControlPoint::m_coordTypeBundle
privateinherited

Definition at line 187 of file BundleControlPoint.h.

◆ m_coordTypeReports

◆ m_corrections

◆ m_lidarControlPoint

LidarControlPointQsp Isis::BundleLidarControlPoint::m_lidarControlPoint
private

Definition at line 68 of file BundleLidarControlPoint.h.

◆ m_nicVector

◆ m_rangeConstraints

QVector<BundleLidarRangeConstraintQsp> Isis::BundleLidarControlPoint::m_rangeConstraints
private

Definition at line 69 of file BundleLidarControlPoint.h.

◆ m_weights

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

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