Isis Developer Reference
|
Implements range constraint between image position and lidar point acquired simultaneously with the image. More...
#include <BundleLidarRangeConstraint.h>
Public Member Functions | |
BundleLidarRangeConstraint (LidarControlPointQsp lidarControlPoint, BundleMeasureQsp measure) | |
constructor | |
BundleLidarRangeConstraint (const BundleLidarRangeConstraint &src) | |
Copy constructor. | |
~BundleLidarRangeConstraint () | |
Destructor. | |
BundleLidarRangeConstraint & | operator= (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. | |
Implements range constraint between image position and lidar point acquired simultaneously with the image.
Isis::BundleLidarRangeConstraint::BundleLidarRangeConstraint | ( | LidarControlPointQsp | lidarControlPoint, |
BundleMeasureQsp | measure ) |
constructor
lidarControlPoint | input lidar control point |
measure | associated BundleMeasureQsp. |
References _FILEINFO_, computeRange(), Isis::Camera::Csm, and Isis::IException::Programmer.
Isis::BundleLidarRangeConstraint::BundleLidarRangeConstraint | ( | const BundleLidarRangeConstraint & | src | ) |
Copy constructor.
Constructs a BundleLidarRangeConstraint from another.
src | Source BundleLidarRangeConstraint to copy. |
Isis::BundleLidarRangeConstraint::~BundleLidarRangeConstraint | ( | ) |
Destructor.
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.
normalsMatrix | Bundle Adjustment normal equations matrix. |
N22 | Normal equation matrix for the point. |
N12 | Normal equations block between image and point. |
n1 | Right hand side vector for the images and target body. |
n2 | Right hand side vector for the point. |
References _FILEINFO_, Isis::SurfacePoint::GetLatitude(), Isis::SurfacePoint::GetLocalRadius(), Isis::SurfacePoint::GetLongitude(), Isis::Distance::kilometers(), Isis::IException::Programmer, and Isis::Angle::radians().
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().
void Isis::BundleLidarRangeConstraint::errorPropagation | ( | ) |
TODO: to be completed.
Error propagation for adjusted range sigma using distance equation.
QString Isis::BundleLidarRangeConstraint::formatBundleOutputString | ( | bool | errorProp = false | ) |
Creates & returns formatted QString for lidar range constraint to output to bundleout_lidar.csv file.
errorProp | Bool indicating if error propagation is ON in the bundle adjustment. |
BundleLidarRangeConstraint & Isis::BundleLidarRangeConstraint::operator= | ( | const BundleLidarRangeConstraint & | src | ) |
Assignment operator.
Assigns state of this BundleLidarRangeConstraint from another.
src | Source BundleLidarRangeConstraint to assign state from. |
double Isis::BundleLidarRangeConstraint::rangeAdjustedSigma | ( | ) |
Return adjusted sigma of range observation.
double Isis::BundleLidarRangeConstraint::rangeComputed | ( | ) |
Return computed lidar range.
double Isis::BundleLidarRangeConstraint::rangeObserved | ( | ) |
Return observed lidar range.
double Isis::BundleLidarRangeConstraint::rangeObservedSigma | ( | ) |
Return sigma of range observation.
double Isis::BundleLidarRangeConstraint::vtpv | ( | ) |
Return current value of weighted sum-of-squares of residual.
References computeRange().