![]()  | 
  
    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  More... | |
| BundleLidarRangeConstraint (const BundleLidarRangeConstraint &src) | |
| Copy constructor.  More... | |
| ~BundleLidarRangeConstraint () | |
| Destructor.  More... | |
| BundleLidarRangeConstraint & | operator= (const BundleLidarRangeConstraint &src) | 
| Assignment operator.  More... | |
| 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.  More... | |
| double | vtpv () | 
| Return current value of weighted sum-of-squares of residual.  More... | |
| void | errorPropagation () | 
| TODO: to be completed.  More... | |
| 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.  More... | |
| double | rangeObserved () | 
| Return observed lidar range.  More... | |
| double | rangeComputed () | 
| Return computed lidar range.  More... | |
| double | rangeObservedSigma () | 
| Return sigma of range observation.  More... | |
| double | rangeAdjustedSigma () | 
| Return adjusted sigma of range observation.  More... | |
| QString | formatBundleOutputString (bool errorProp=false) | 
| Creates & returns formatted QString for lidar range constraint to output to bundleout_lidar.csv file.  More... | |
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. | 
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. | 
| 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().