Isis Developer Reference
BundleLidarControlPoint.h
Go to the documentation of this file.
1#ifndef BundleLidarControlPoint_h
2#define BundleLidarControlPoint_h
8/* SPDX-License-Identifier: CC0-1.0 */
9#include <QSharedPointer>
10
11#include "BundleControlPoint.h"
12#include "BundleMeasure.h"
13#include "BundleSettings.h"
14#include "LidarControlPoint.h"
15
16namespace Isis {
17
18// class LidarControlPoint;
20
21 typedef QSharedPointer<BundleLidarRangeConstraint> BundleLidarRangeConstraintQsp;
22
39
40 public:
42 LidarControlPointQsp lidarControlPoint);
44
45 // copy
46 BundleLidarControlPoint &operator=(const BundleLidarControlPoint &src);// ??? not implemented
47 void copy(const BundleLidarControlPoint &src);
48
55 void computeResiduals();
56
57 virtual void applyParameterCorrections(LinearAlgebra::Vector imageSolution,
58 SparseBlockMatrix &sparseNormals,
59 const BundleTargetBodyQsp target);
60
62 double vtpvRangeContribution();
64 double range();
65 double sigmaRange();
66
67 private:
68 LidarControlPointQsp m_lidarControlPoint;
69 QVector<BundleLidarRangeConstraintQsp> m_rangeConstraints;
70 };
71
72 // typedefs
74 typedef QSharedPointer<BundleLidarControlPoint> BundleLidarControlPointQsp;
75}
76
77#endif // BundleLidarControlPoint_h
78
This class holds information about a control point that BundleAdjust needs to run correctly.
Definition BundleControlPoint.h:91
This class holds information about a lidar control point that BundleAdjust requires.
Definition BundleLidarControlPoint.h:38
int applyLidarRangeConstraints(SparseBlockMatrix &normalsMatrix, LinearAlgebra::MatrixUpperTriangular &N22, SparseBlockColumnMatrix &N12, LinearAlgebra::VectorCompressed &n1, LinearAlgebra::Vector &n2)
Applies range constraint between image and lidar point acquired simultaneously.
Definition BundleLidarControlPoint.cpp:142
BundleLidarControlPoint(BundleSettingsQsp bundleSettings, LidarControlPointQsp lidarControlPoint)
Constructs a BundleLidarControlPoint object from a LidarControlPoint.
Definition BundleLidarControlPoint.cpp:41
BundleLidarRangeConstraintQsp rangeConstraint(int n)
Returns range constraint at index n.
Definition BundleLidarControlPoint.cpp:195
int numberRangeConstraints()
Returns number of range constraints between this lidar point & images acquired simultaneously.
Definition BundleLidarControlPoint.cpp:182
void computeResiduals()
Computes the residuals for this BundleLidarControlPoint.
Definition BundleLidarControlPoint.cpp:102
virtual void applyParameterCorrections(LinearAlgebra::Vector imageSolution, SparseBlockMatrix &sparseNormals, const BundleTargetBodyQsp target)
Apply the parameter corrections to the lidar range.
Definition BundleLidarControlPoint.cpp:115
double range()
Returns range between this point and ???
Definition BundleLidarControlPoint.cpp:206
void copy(const BundleLidarControlPoint &src)
Copies given BundleLidarControlPoint to this BundleLidarControlPoint.
Definition BundleLidarControlPoint.cpp:92
BundleLidarControlPoint & operator=(const BundleLidarControlPoint &src)
void initializeRangeConstraints()
Initialize range constraints.
Definition BundleLidarControlPoint.cpp:53
~BundleLidarControlPoint()
TODO: implement? Copy constructor.
Definition BundleLidarControlPoint.cpp:83
double vtpvRangeContribution()
Returns Weighted sum of squares of range residuals for this point.
Definition BundleLidarControlPoint.cpp:166
double sigmaRange()
Returns sigma of observed range.
Definition BundleLidarControlPoint.cpp:217
Implements range constraint between image position and lidar point acquired simultaneously with the i...
Definition BundleLidarRangeConstraint.h:40
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< BundleLidarControlPoint > BundleLidarControlPointQsp
QSharedPointer to a BundleLidarControlPoint.
Definition BundleLidarControlPoint.h:74
QSharedPointer< BundleLidarRangeConstraint > BundleLidarRangeConstraintQsp
Typdef for BundleLidarRangeConstraint QSharedPointer.
Definition BundleLidarControlPoint.h:21