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.
Referenced by BundleLidarRangeConstraint(), and operator=().
| Isis::BundleLidarRangeConstraint::BundleLidarRangeConstraint | ( | const BundleLidarRangeConstraint & | src | ) |
Copy constructor.
Constructs a BundleLidarRangeConstraint from another.
| src | Source BundleLidarRangeConstraint to copy. |
References BundleLidarRangeConstraint().
| 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. |
References Isis::FileName::baseName().
| BundleLidarRangeConstraint & Isis::BundleLidarRangeConstraint::operator= | ( | const BundleLidarRangeConstraint & | src | ) |
Assignment operator.
Assigns state of this BundleLidarRangeConstraint from another.
| src | Source BundleLidarRangeConstraint to assign state from. |
References BundleLidarRangeConstraint().
| 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().