Isis Developer Reference
Isis::BundleLidarRangeConstraint Class Reference

Implements range constraint between image position and lidar point acquired simultaneously with the image. More...

#include <BundleLidarRangeConstraint.h>

Collaboration diagram for Isis::BundleLidarRangeConstraint:
Collaboration graph

Public Member Functions

 BundleLidarRangeConstraint (LidarControlPointQsp lidarControlPoint, BundleMeasureQsp measure)
 constructor
 
 BundleLidarRangeConstraint (const BundleLidarRangeConstraint &src)
 Copy constructor.
 
 ~BundleLidarRangeConstraint ()
 Destructor.
 
BundleLidarRangeConstraintoperator= (const BundleLidarRangeConstraint &src)
 Assignment operator.
 
bool applyConstraint (SparseBlockMatrix &normalsMatrix, LinearAlgebra::MatrixUpperTriangular &N22, SparseBlockColumnMatrix &N12, LinearAlgebra::VectorCompressed &n1, LinearAlgebra::Vector &n2)
 Computes partial derivatives of range condition equation and adds contribution into the bundle adjustment normal equation matrices.
 
double vtpv ()
 Return current value of weighted sum-of-squares of residual.
 
void errorPropagation ()
 TODO: to be completed.
 
void computeRange ()
 Compute range between spacecraft & lidar point on surface given the current values of the spacecraft position & lidar point coordinates in the bundle adjustment.
 
double rangeObserved ()
 Return observed lidar range.
 
double rangeComputed ()
 Return computed lidar range.
 
double rangeObservedSigma ()
 Return sigma of range observation.
 
double rangeAdjustedSigma ()
 Return adjusted sigma of range observation.
 
QString formatBundleOutputString (bool errorProp=false)
 Creates & returns formatted QString for lidar range constraint to output to bundleout_lidar.csv file.
 

Detailed Description

Implements range constraint between image position and lidar point acquired simultaneously with the image.

Author
2018-04-13 Ken Edmundson

Constructor & Destructor Documentation

◆ BundleLidarRangeConstraint() [1/2]

Isis::BundleLidarRangeConstraint::BundleLidarRangeConstraint ( LidarControlPointQsp lidarControlPoint,
BundleMeasureQsp measure )

constructor

Parameters
lidarControlPointinput lidar control point
measureassociated BundleMeasureQsp.

References _FILEINFO_, computeRange(), Isis::Camera::Csm, and Isis::IException::Programmer.

◆ BundleLidarRangeConstraint() [2/2]

Isis::BundleLidarRangeConstraint::BundleLidarRangeConstraint ( const BundleLidarRangeConstraint & src)

Copy constructor.

Constructs a BundleLidarRangeConstraint from another.

Parameters
srcSource BundleLidarRangeConstraint to copy.

◆ ~BundleLidarRangeConstraint()

Isis::BundleLidarRangeConstraint::~BundleLidarRangeConstraint ( )

Destructor.

Member Function Documentation

◆ applyConstraint()

bool Isis::BundleLidarRangeConstraint::applyConstraint ( SparseBlockMatrix & normalsMatrix,
LinearAlgebra::MatrixUpperTriangular & N22,
SparseBlockColumnMatrix & N12,
LinearAlgebra::VectorCompressed & n1,
LinearAlgebra::Vector & n2 )

Computes partial derivatives of range condition equation and adds contribution into the bundle adjustment normal equation matrices.

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
bool success.

References _FILEINFO_, Isis::SurfacePoint::GetLatitude(), Isis::SurfacePoint::GetLocalRadius(), Isis::SurfacePoint::GetLongitude(), Isis::Distance::kilometers(), Isis::IException::Programmer, and Isis::Angle::radians().

◆ computeRange()

void Isis::BundleLidarRangeConstraint::computeRange ( )

Compute range between spacecraft & lidar point on surface given the current values of the spacecraft position & lidar point coordinates in the bundle adjustment.

Steps are as follows...

1) set image to establish camera model for simultaneous measure 2) get spacecraft & lidar point coordinates in body-fixed reference system 3) compute & save dX, dY, dZ between spacecraft & lidar point 4) compute range with dX, dY, dZ

References _FILEINFO_, Isis::SurfacePoint::GetX(), Isis::SurfacePoint::GetY(), Isis::SurfacePoint::GetZ(), Isis::Displacement::kilometers(), and Isis::IException::Programmer.

Referenced by BundleLidarRangeConstraint(), and vtpv().

◆ errorPropagation()

void Isis::BundleLidarRangeConstraint::errorPropagation ( )

TODO: to be completed.

Error propagation for adjusted range sigma using distance equation.

◆ formatBundleOutputString()

QString Isis::BundleLidarRangeConstraint::formatBundleOutputString ( bool errorProp = false)

Creates & returns formatted QString for lidar range constraint to output to bundleout_lidar.csv file.

Parameters
errorPropBool indicating if error propagation is ON in the bundle adjustment.
Returns
QString Formatted QString summarizing lidar range constraint to output to bundleout_lidar.csv.

◆ operator=()

BundleLidarRangeConstraint & Isis::BundleLidarRangeConstraint::operator= ( const BundleLidarRangeConstraint & src)

Assignment operator.

Assigns state of this BundleLidarRangeConstraint from another.

Parameters
srcSource BundleLidarRangeConstraint to assign state from.
Returns
BundleLidarRangeConstraint& Returns reference to this BundleLidarRangeConstraint.

◆ rangeAdjustedSigma()

double Isis::BundleLidarRangeConstraint::rangeAdjustedSigma ( )

Return adjusted sigma of range observation.

Returns
double Adjusted sigma of range observation.

◆ rangeComputed()

double Isis::BundleLidarRangeConstraint::rangeComputed ( )

Return computed lidar range.

Returns
double Computed lidar range.

◆ rangeObserved()

double Isis::BundleLidarRangeConstraint::rangeObserved ( )

Return observed lidar range.

Returns
double Observed lidar range.

◆ rangeObservedSigma()

double Isis::BundleLidarRangeConstraint::rangeObservedSigma ( )

Return sigma of range observation.

Returns
double Sigma of range observation.

◆ vtpv()

double Isis::BundleLidarRangeConstraint::vtpv ( )

Return current value of weighted sum-of-squares of residual.

Returns
double Current value of weighted sum-of-squares of residual.

References computeRange().


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