Isis 3 Programmer Reference
|
This class holds information about a control point that BundleAdjust needs to run correctly. More...
#include <BundleControlPoint.h>
Public Member Functions | |
BundleControlPoint (BundleSettingsQsp bundleSettings, 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) |
Sets the weights using the given BundleSettings QSharedPointer and a conversion value for meters to radians. More... | |
void | setSigmaWeightFromGlobals (double gSigma, int index) |
Sets the member sigmas and weights from a global sigma. More... | |
void | setSigmaWeightFromGlobals (double gSigma, int index, double cFactor) |
void | zeroNumberOfRejectedMeasures () |
Resets the number of rejected measures for this BundleControlPoint to zero. More... | |
void | productAlphaAV (double alpha, SparseBlockMatrix &sparseNormals, LinearAlgebra::Vector &v1) |
Perform the matrix multiplication v2 = alpha ( Q x v1 ). More... | |
void | applyParameterCorrections (LinearAlgebra::Vector imageSolution, SparseBlockMatrix &sparseNormals, const BundleTargetBodyQsp target) |
Apply the parameter corrections to the bundle control point. 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... | |
SurfacePoint::CoordinateType | coordTypeReports () const |
Accesses BundleControlPoint's coordinate type for reports. More... | |
SurfacePoint::CoordinateType | coordTypeBundle () const |
Accesses BundleControlPoint's control point coordinate type for the bundle adjustment. More... | |
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. More... | |
boost::numeric::ublas::bounded_vector< double, 3 > & | aprioriSigmas () |
Accesses the 3 dimensional ordered vector of apriori sigmas (apriori coordinate1, apriori coordinate2, apriori coordinate3). More... | |
boost::numeric::ublas::bounded_vector< double, 3 > & | adjustedSigmas () |
Accesses the 3 dimensional ordered vector of adjusted sigmas (adjusted coordinate1, adjusted coordinate2, adjusted coordinate3). More... | |
boost::numeric::ublas::bounded_vector< double, 3 > & | weights () |
Accesses the 3 dimensional ordered vector of weight values associated with coordinate1, coordinate2, and coordinate3. 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, bool solveRadius=false) const |
Formats a detailed output string table for this BundleControlPoint. More... | |
QString | formatBundleLatitudinalOutputDetailString (bool errorPropagation, bool solveRadius=false) const |
Formats a detailed output string table for this Latitudinal BundleControlPoint. More... | |
QString | formatBundleRectangularOutputDetailString (bool errorPropagation) const |
Formats a detailed output string table for this Rectangular 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 (SurfacePoint::CoordIndex index, int fieldWidth, int precision, bool solveRadius=false) const |
Formats the apriori sigma value indicated by the given type code. More... | |
QString | formatCoordAprioriSigmaString (SurfacePoint::CoordIndex index, int fieldWidth, int precision, bool solveRadius=false) const |
Formats the apriori coordinate 1 (latitude or X) sigma value. More... | |
QString | formatAdjustedSigmaString (SurfacePoint::CoordIndex, int fieldWidth, int precision, bool errorPropagation) const |
Formats the adjusted sigma value indicated by the given type code. More... | |
QString | formatCoordAdjustedSigmaString (SurfacePoint::CoordIndex, int fieldWidth, int precision, bool errorPropagation) const |
Formats the adjusted coordinate sigma value. More... | |
Private Member Functions | |
void | updateAdjustedSurfacePointLatitudinally (const BundleTargetBodyQsp target) |
Apply the parameter corrections to the bundle control point latitudinally. More... | |
void | updateAdjustedSurfacePointRectangularly () |
pointer to the control point object this represents More... | |
Private Attributes | |
ControlPoint * | m_controlPoint |
boost::numeric::ublas::bounded_vector< double, 3 > | m_corrections |
corrections to point parameters More... | |
boost::numeric::ublas::bounded_vector< double, 3 > | m_aprioriSigmas |
apriori sigmas for point parameters More... | |
boost::numeric::ublas::bounded_vector< double, 3 > | m_adjustedSigmas |
adjusted sigmas for point parameters More... | |
boost::numeric::ublas::bounded_vector< double, 3 > | m_weights |
weights for point parameters More... | |
boost::numeric::ublas::bounded_vector< double, 3 > | m_nicVector |
array of NICs (see Brown, 1976) More... | |
SparseBlockRowMatrix | m_cholmodQMatrix |
The CholMod matrix associated with this point. More... | |
SurfacePoint::CoordinateType | m_coordTypeReports |
BundleControlPoint coordinate type. More... | |
SurfacePoint::CoordinateType | m_coordTypeBundle |
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.
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 105 of file BundleControlPoint.h.
Isis::BundleControlPoint::BundleControlPoint | ( | BundleSettingsQsp | bundleSettings, |
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. |
Definition at line 25 of file BundleControlPoint.cpp.
References addMeasure(), Isis::ControlPoint::GetMeasure(), m_adjustedSigmas, m_aprioriSigmas, m_coordTypeReports, m_corrections, m_nicVector, m_weights, Isis::Null, and setWeights().
Isis::BundleControlPoint::BundleControlPoint | ( | const BundleControlPoint & | src | ) |
Copy constructor.
Constructs a BundleControlPoint object from an existing BundleControlPoint.
src | The BundleControlPoint to be copied. |
Definition at line 69 of file BundleControlPoint.cpp.
References copy().
Isis::BundleControlPoint::~BundleControlPoint | ( | ) |
Destructor for BundleControlPoint.
Definition at line 77 of file BundleControlPoint.cpp.
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. |
Definition at line 117 of file BundleControlPoint.cpp.
Referenced by BundleControlPoint().
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).
Definition at line 558 of file BundleControlPoint.cpp.
References m_adjustedSigmas.
SurfacePoint Isis::BundleControlPoint::adjustedSurfacePoint | ( | ) | const |
Accesses the adjusted SurfacePoint associated with this BundleControlPoint.
Definition at line 471 of file BundleControlPoint.cpp.
Referenced by Isis::BundleAdjust::computePartials(), formatAdjustedSigmaString(), and updateAdjustedSurfacePointRectangularly().
void Isis::BundleControlPoint::applyParameterCorrections | ( | LinearAlgebra::Vector | imageSolution, |
SparseBlockMatrix & | sparseNormals, | ||
const BundleTargetBodyQsp | target | ||
) |
Apply the parameter corrections to the bundle control point.
imageSolution | Image vector. |
factor | The unit conversion factor to use on lat and lon rad or x/y/z km. |
target | The BundleTargetBody. |
Definition at line 382 of file BundleControlPoint.cpp.
References _FILEINFO_, isRejected(), Isis::SurfacePoint::Latitudinal, m_corrections, m_nicVector, productAlphaAV(), Isis::IException::Programmer, Isis::SurfacePoint::Rectangular, Isis::toString(), updateAdjustedSurfacePointLatitudinally(), and updateAdjustedSurfacePointRectangularly().
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).
Definition at line 544 of file BundleControlPoint.cpp.
References m_aprioriSigmas.
SparseBlockRowMatrix & Isis::BundleControlPoint::cholmodQMatrix | ( | ) |
Accesses the CholMod matrix associated with this BundleControlPoint.
Definition at line 589 of file BundleControlPoint.cpp.
References m_cholmodQMatrix.
void Isis::BundleControlPoint::computeResiduals | ( | ) |
Computes the residuals for this BundleControlPoint.
Definition at line 132 of file BundleControlPoint.cpp.
References Isis::ControlPoint::ComputeResiduals().
SurfacePoint::CoordinateType Isis::BundleControlPoint::coordTypeBundle | ( | ) | const |
Accesses BundleControlPoint's control point coordinate type for the bundle adjustment.
Definition at line 520 of file BundleControlPoint.cpp.
SurfacePoint::CoordinateType Isis::BundleControlPoint::coordTypeReports | ( | ) | const |
Accesses BundleControlPoint's coordinate type for reports.
Definition at line 507 of file BundleControlPoint.cpp.
References m_coordTypeReports.
void Isis::BundleControlPoint::copy | ( | const BundleControlPoint & | src | ) |
Copies given BundleControlPoint to this BundleControlPoint.
src | The BundleControlPoint to be copied. |
Definition at line 86 of file BundleControlPoint.cpp.
References m_adjustedSigmas, m_aprioriSigmas, m_coordTypeReports, m_corrections, m_nicVector, and m_weights.
Referenced by BundleControlPoint().
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.
Definition at line 533 of file BundleControlPoint.cpp.
References m_corrections.
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.
index | CoordIndex Coordinate index One: Latitude or X, Two: Longitude or Y, or Three: Radius or Z |
fieldWidth | The return string's field width. |
precision | The precision of the double to be saved off. |
errorPropagation | Indicates whether error propagation was selected. |
Definition at line 1035 of file BundleControlPoint.cpp.
References adjustedSurfacePoint(), Isis::SurfacePoint::GetSigmaDistance(), Isis::IsSpecial(), m_coordTypeReports, Isis::Distance::meters(), and Isis::Null.
Referenced by formatCoordAdjustedSigmaString().
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.
index | CoordIndex Coordinate index One: Latitude or X, Two: Longitude or Y, or Three: Radius or Z |
fieldWidth | The return string's field width. |
precision | The precision of the double to be saved off. |
solveRadius | A flag indicating to solve for each points individual radius. When solveRadius is false, the point radius is heavily weighted |
Definition at line 985 of file BundleControlPoint.cpp.
References Isis::IsSpecial(), m_aprioriSigmas, Isis::ControlPoint::PointTypeToString(), and type().
Referenced by formatCoordAprioriSigmaString().
QString Isis::BundleControlPoint::formatBundleLatitudinalOutputDetailString | ( | bool | errorPropagation, |
bool | solveRadius = false |
||
) | const |
Formats a detailed output string table for this Latitudinal 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. |
solveRadius | A flag indicating to solve for each points individual radius. When solveRadius is false, the point radius is heavily weighted |
Definition at line 694 of file BundleControlPoint.cpp.
References _FILEINFO_, 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_corrections, Isis::Null, numberOfMeasures(), numberOfRejectedMeasures(), Isis::ControlPoint::PointTypeToString(), Isis::IException::Programmer, Isis::RAD2DEG, Isis::SurfacePoint::Rectangular, Isis::toString(), and type().
Referenced by formatBundleOutputDetailString().
QString Isis::BundleControlPoint::formatBundleOutputDetailString | ( | bool | errorPropagation, |
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. |
solveRadius | A flag indicating to solve for each points individual radius. When solveRadius is false, the point radius is heavily weighted |
Definition at line 655 of file BundleControlPoint.cpp.
References _FILEINFO_, formatBundleLatitudinalOutputDetailString(), formatBundleRectangularOutputDetailString(), Isis::SurfacePoint::Latitudinal, m_coordTypeReports, Isis::IException::Programmer, Isis::SurfacePoint::Rectangular, and Isis::toString().
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.
errorPropagation | Indicates whether error propagation was selected. |
Definition at line 608 of file BundleControlPoint.cpp.
References formatCoordAdjustedSigmaString(), formatValue(), Isis::SurfacePoint::GetCoord(), m_coordTypeReports, numberOfMeasures(), numberOfRejectedMeasures(), Isis::ControlPoint::PointTypeToString(), Isis::SurfacePoint::Rectangular, residualRms(), and type().
QString Isis::BundleControlPoint::formatBundleRectangularOutputDetailString | ( | bool | errorPropagation | ) | const |
Formats a detailed output string table for this Rectangular BundleControlPoint.
errorPropagation | Indicates whether error propagation was selected. |
Definition at line 838 of file BundleControlPoint.cpp.
References _FILEINFO_, Isis::Angle::Degrees, Isis::IsSpecial(), Isis::Distance::Kilometers, Isis::Displacement::kilometers(), Isis::SurfacePoint::Latitudinal, Isis::Null, Isis::ControlPoint::PointTypeToString(), Isis::IException::Programmer, Isis::RAD2DEG, Isis::SurfacePoint::Rectangular, and Isis::toString().
Referenced by formatBundleOutputDetailString().
QString Isis::BundleControlPoint::formatCoordAdjustedSigmaString | ( | SurfacePoint::CoordIndex | index, |
int | fieldWidth, | ||
int | precision, | ||
bool | errorPropagation | ||
) | const |
Formats the adjusted coordinate sigma value.
index | The coordinate index of the sigma to return. |
fieldWidth | The return string's field width. |
precision | The precision of the double to be saved off. |
errorPropagation | Indicates whether error propagation was selected. |
Definition at line 1071 of file BundleControlPoint.cpp.
References formatAdjustedSigmaString().
Referenced by formatBundleLatitudinalOutputDetailString(), and formatBundleOutputSummaryString().
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.
fieldWidth | The return string's field width. |
precision | The precision of the double to be saved off. |
Definition at line 1014 of file BundleControlPoint.cpp.
References formatAprioriSigmaString().
Referenced by formatBundleLatitudinalOutputDetailString().
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. |
Definition at line 963 of file BundleControlPoint.cpp.
References Isis::IsSpecial().
Referenced by formatBundleLatitudinalOutputDetailString(), and formatBundleOutputSummaryString().
QString Isis::BundleControlPoint::id | ( | ) | const |
Accesses the Point ID associated with this BundleControlPoint.
Definition at line 481 of file BundleControlPoint.cpp.
References Isis::ControlPoint::GetId().
Referenced by Isis::BundleAdjust::computePartials().
bool Isis::BundleControlPoint::isRejected | ( | ) | const |
Method used to determine whether this control point is rejected.
Definition at line 427 of file BundleControlPoint.cpp.
Referenced by applyParameterCorrections().
boost::numeric::ublas::bounded_vector< double, 3 > & Isis::BundleControlPoint::nicVector | ( | ) |
Accesses the 3 dimensional ordered NIC vector.
Definition at line 579 of file BundleControlPoint.cpp.
References m_nicVector.
int Isis::BundleControlPoint::numberOfMeasures | ( | ) | const |
Accesses number of measures associated with this BundleControlPoint.
Definition at line 437 of file BundleControlPoint.cpp.
Referenced by formatBundleLatitudinalOutputDetailString(), and formatBundleOutputSummaryString().
int Isis::BundleControlPoint::numberOfRejectedMeasures | ( | ) | const |
Accesses the number of rejected measures for this BundleControlPoint.
Definition at line 449 of file BundleControlPoint.cpp.
References Isis::ControlPoint::GetNumberOfRejectedMeasures().
Referenced by formatBundleLatitudinalOutputDetailString(), and formatBundleOutputSummaryString().
void Isis::BundleControlPoint::productAlphaAV | ( | double | alpha, |
SparseBlockMatrix & | sparseNormals, | ||
LinearAlgebra::Vector & | v1 | ||
) |
Perform the matrix multiplication v2 = alpha ( Q x v1 ).
alpha | A constant multiplier. |
sparseNormals | The sparse block normal equations matrix. |
v2 | The output vector. |
Q | A sparse block matrix. |
v1 | A vector. |
Definition at line 354 of file BundleControlPoint.cpp.
References m_cholmodQMatrix, and m_nicVector.
Referenced by applyParameterCorrections().
ControlPoint * Isis::BundleControlPoint::rawControlPoint | ( | ) | const |
Accessor for the raw ControlPoint object used for this BundleControlPoint.
Definition at line 417 of file BundleControlPoint.cpp.
double Isis::BundleControlPoint::residualRms | ( | ) | const |
Gets the root-mean-square (rms) of the BundleControlPoint's residuals.
Definition at line 461 of file BundleControlPoint.cpp.
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. |
Definition at line 142 of file BundleControlPoint.cpp.
References Isis::ControlPoint::SetAdjustedSurfacePoint().
Referenced by updateAdjustedSurfacePointRectangularly().
void Isis::BundleControlPoint::setNumberOfRejectedMeasures | ( | int | numRejected | ) |
Sets the number of rejected measures for this BundleControlPoint.
numRejected | Number of rejected measures. |
Definition at line 154 of file BundleControlPoint.cpp.
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. |
Definition at line 166 of file BundleControlPoint.cpp.
References Isis::ControlPoint::SetRejected().
void Isis::BundleControlPoint::setSigmaWeightFromGlobals | ( | double | gSigma, |
int | index | ||
) |
Sets the member sigmas and weights from a global sigma.
TODO *** Should index be SurfacePoint::CoordIndex?
gSigma | The global sigma to assign. |
index | The index of the point coordinate being set (0, 1, or 2). |
cFactor | The conversion factor applied to gSigma to match bundle variable units. |
Definition at line 275 of file BundleControlPoint.cpp.
References _FILEINFO_, Isis::SurfacePoint::Latitudinal, m_aprioriSigmas, m_weights, Isis::SurfacePoint::MetersToLatitude(), Isis::SurfacePoint::MetersToLongitude(), Isis::IException::Programmer, Isis::SurfacePoint::Rectangular, and Isis::toString().
Referenced by setWeights().
void Isis::BundleControlPoint::setWeights | ( | const BundleSettingsQsp | settings | ) |
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. |
Definition at line 178 of file BundleControlPoint.cpp.
References Isis::ControlPoint::Constrained, Isis::ControlPoint::Fixed, Isis::ControlPoint::Free, Isis::SurfacePoint::GetSigmaDistance(), Isis::ControlPoint::GetType(), Isis::SurfacePoint::GetWeight(), Isis::ControlPoint::IsCoord1Constrained(), Isis::ControlPoint::IsCoord2Constrained(), Isis::ControlPoint::IsCoord3Constrained(), Isis::IsSpecial(), Isis::SurfacePoint::Latitudinal, m_aprioriSigmas, m_coordTypeReports, m_weights, Isis::Distance::meters(), and setSigmaWeightFromGlobals().
Referenced by BundleControlPoint().
ControlPoint::PointType Isis::BundleControlPoint::type | ( | ) | const |
Accesses BundleControlPoint's type.
Definition at line 494 of file BundleControlPoint.cpp.
References Isis::ControlPoint::GetType().
Referenced by formatAprioriSigmaString(), formatBundleLatitudinalOutputDetailString(), and formatBundleOutputSummaryString().
|
private |
Apply the parameter corrections to the bundle control point latitudinally.
factor | The unit conversion factor to use on lat & lon. Radius is in km & converted to m |
target | The BundleTargetBody. |
Definition at line 1085 of file BundleControlPoint.cpp.
References Isis::Angle::Degrees, Isis::Angle::degrees(), Isis::SurfacePoint::GetLatitude(), Isis::SurfacePoint::GetLocalRadius(), Isis::SurfacePoint::GetLongitude(), Isis::Distance::Meters, Isis::Distance::meters(), Isis::RAD2DEG, and Isis::SurfacePoint::SetSphericalCoordinates().
Referenced by applyParameterCorrections().
|
private |
pointer to the control point object this represents
Apply the parameter corrections to the bundle control point rectangularly.
factor | The unit conversion factor to use on the coordinates. |
Definition at line 1151 of file BundleControlPoint.cpp.
References adjustedSurfacePoint(), m_nicVector, Isis::Displacement::Meters, Isis::Displacement::meters(), setAdjustedSurfacePoint(), and Isis::SurfacePoint::SetRectangularCoordinates().
Referenced by applyParameterCorrections().
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.
Definition at line 569 of file BundleControlPoint.cpp.
References m_weights.
void Isis::BundleControlPoint::zeroNumberOfRejectedMeasures | ( | ) |
Resets the number of rejected measures for this BundleControlPoint to zero.
Definition at line 340 of file BundleControlPoint.cpp.
References Isis::ControlPoint::ZeroNumberOfRejectedMeasures().
|
private |
adjusted sigmas for point parameters
Definition at line 188 of file BundleControlPoint.h.
Referenced by adjustedSigmas(), BundleControlPoint(), and copy().
|
private |
apriori sigmas for point parameters
Definition at line 186 of file BundleControlPoint.h.
Referenced by aprioriSigmas(), BundleControlPoint(), copy(), formatAprioriSigmaString(), setSigmaWeightFromGlobals(), and setWeights().
|
private |
The CholMod matrix associated with this point.
Definition at line 194 of file BundleControlPoint.h.
Referenced by cholmodQMatrix(), and productAlphaAV().
|
private |
BundleControlPoint coordinate type.
Definition at line 196 of file BundleControlPoint.h.
Referenced by BundleControlPoint(), coordTypeReports(), copy(), formatAdjustedSigmaString(), formatBundleOutputDetailString(), formatBundleOutputSummaryString(), and setWeights().
|
private |
corrections to point parameters
Definition at line 184 of file BundleControlPoint.h.
Referenced by applyParameterCorrections(), BundleControlPoint(), copy(), corrections(), and formatBundleLatitudinalOutputDetailString().
|
private |
array of NICs (see Brown, 1976)
Definition at line 192 of file BundleControlPoint.h.
Referenced by applyParameterCorrections(), BundleControlPoint(), copy(), nicVector(), productAlphaAV(), and updateAdjustedSurfacePointRectangularly().
|
private |
weights for point parameters
Definition at line 190 of file BundleControlPoint.h.
Referenced by BundleControlPoint(), copy(), setSigmaWeightFromGlobals(), setWeights(), and weights().