Isis Developer Reference
BundleLidarRangeConstraint.h
Go to the documentation of this file.
1#ifndef BundleLidarRangeConstraint_h
2#define BundleLidarRangeConstraint_h
8/* SPDX-License-Identifier: CC0-1.0 */
9// Qt Library
10#include <QSharedPointer>
11
12// Isis Library
14#include "BundleMeasure.h"
15#include "BundleObservation.h"
16#include "LinearAlgebra.h"
17#include "SparseBlockMatrix.h"
18
19namespace Isis {
41 public:
42 // constructor
44
45 // copy constructor
47
48 // destructor
50
51 // Assignment operator
53
54 bool applyConstraint(SparseBlockMatrix &normalsMatrix,
59
60 double vtpv();
61 void errorPropagation();
62
63 void computeRange();
64 double rangeObserved();
65 double rangeComputed();
66 double rangeObservedSigma();
67 double rangeAdjustedSigma();
68
69 QString formatBundleOutputString(bool errorProp=false);
70
71 private:
72 LidarControlPointQsp m_lidarControlPoint;
73 BundleObservationQsp m_bundleObservation;
74
75 BundleMeasureQsp m_simultaneousMeasure;
87 double m_dX, m_dY, m_dZ;
89 double m_rangeObserved;
90 double m_rangeComputed;
91 double m_rangeObservedSigma;
92 double m_rangeObservedWeightSqrt;
93 double m_adjustedSigma;
94 double m_vtpv;
95 };
96
98 typedef QSharedPointer<BundleLidarRangeConstraint> BundleLidarRangeConstraintQsp;
99}
100
101#endif
Implements range constraint between image position and lidar point acquired simultaneously with the i...
Definition BundleLidarRangeConstraint.h:40
double rangeObservedSigma()
Return sigma of range observation.
Definition BundleLidarRangeConstraint.cpp:358
QString formatBundleOutputString(bool errorProp=false)
Creates & returns formatted QString for lidar range constraint to output to bundleout_lidar....
Definition BundleLidarRangeConstraint.cpp:419
BundleLidarRangeConstraint(LidarControlPointQsp lidarControlPoint, BundleMeasureQsp measure)
constructor
Definition BundleLidarRangeConstraint.cpp:26
BundleLidarRangeConstraint & operator=(const BundleLidarRangeConstraint &src)
Assignment operator.
Definition BundleLidarRangeConstraint.cpp:105
double rangeComputed()
Return computed lidar range.
Definition BundleLidarRangeConstraint.cpp:347
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 adjust...
Definition BundleLidarRangeConstraint.cpp:181
void errorPropagation()
TODO: to be completed.
Definition BundleLidarRangeConstraint.cpp:405
~BundleLidarRangeConstraint()
Destructor.
Definition BundleLidarRangeConstraint.cpp:70
double vtpv()
Return current value of weighted sum-of-squares of residual.
Definition BundleLidarRangeConstraint.cpp:380
double rangeObserved()
Return observed lidar range.
Definition BundleLidarRangeConstraint.cpp:336
double rangeAdjustedSigma()
Return adjusted sigma of range observation.
Definition BundleLidarRangeConstraint.cpp:369
void computeRange()
Compute range between spacecraft & lidar point on surface given the current values of the spacecraft ...
Definition BundleLidarRangeConstraint.cpp:134
boost::numeric::ublas::compressed_vector< double > VectorCompressed
Definition for an Isis::LinearAlgebra::VectorCompressed of doubles.
Definition LinearAlgebra.h:142
boost::numeric::ublas::vector< double > Vector
Definition for an Isis::LinearAlgebra::Vector of doubles.
Definition LinearAlgebra.h:132
boost::numeric::ublas::symmetric_matrix< double, boost::numeric::ublas::upper > MatrixUpperTriangular
Definition for an Isis::LinearAlgebra::MatrixUpperTriangular of doubles with an upper configuration.
Definition LinearAlgebra.h:122
SparseBlockColumnMatrix.
Definition SparseBlockMatrix.h:58
SparseBlockMatrix.
Definition SparseBlockMatrix.h:186
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16
QSharedPointer< BundleLidarRangeConstraint > BundleLidarRangeConstraintQsp
Typdef for BundleLidarRangeConstraint QSharedPointer.
Definition BundleLidarControlPoint.h:21