Isis Developer Reference
CsmBundleObservation.h
Go to the documentation of this file.
1#ifndef CsmBundleObservation_h
2#define CsmBundleObservation_h
3
10/* SPDX-License-Identifier: CC0-1.0 */
11
12#include <QStringList>
13#include <QVector>
14
15#include "BundleImage.h"
17#include "BundleTargetBody.h"
18#include "LinearAlgebra.h"
19#include "BundleObservation.h"
20
21namespace Isis {
22
29
30 public:
31 // default constructor
33
34 // constructor
35 CsmBundleObservation(BundleImageQsp image, QString observationNumber, QString instrumentId,
36 BundleTargetBodyQsp bundleTargetBody);
37
38 // copy constructor
40
41 // destructor
43
44 // equals operator
46
47 // copy method
48 void copy(const CsmBundleObservation &src);
49
51
52 int numberParameters();
53
55
57
58 void bundleOutputString(std::ostream &fpOut,bool errorPropagation);
59 QString bundleOutputCSV(bool errorPropagation);
60
61 virtual QStringList parameterList();
62
63 bool computeTargetPartials(LinearAlgebra::Matrix &coeffTarget, BundleMeasure &measure, BundleSettingsQsp &bundleSettings, BundleTargetBodyQsp &bundleTargetBody);
67 double computeObservationValue(BundleMeasure &measure, double deltaVal);
68
69 private:
70 bool initParameterWeights();
71
72 private:
73 BundleObservationSolveSettingsQsp m_solveSettings;
74 std::vector<int> m_paramIndices;
75 };
76}
77
78#endif // CsmBundleObservation_h
A container class for a ControlMeasure.
Definition BundleMeasure.h:55
Abstract base class for an observation in bundle adjustment.
Definition BundleObservation.h:35
QString instrumentId()
Accesses the instrument id.
Definition BundleObservation.cpp:167
This class is used to modify and manage solve settings for 1 to many BundleObservations.
Definition BundleObservationSolveSettings.h:82
Class for observations that use CSM camera models in bundle adjustment.
Definition CsmBundleObservation.h:28
void copy(const CsmBundleObservation &src)
bool computeRHSPartials(LinearAlgebra::Vector &coeffRHS, BundleMeasure &measure)
Calculates the sample, line residuals between the values measured in the image and the ground-to-imag...
Definition CsmBundleObservation.cpp:441
CsmBundleObservation & operator=(const CsmBundleObservation &src)
Assignment operator.
Definition CsmBundleObservation.cpp:84
int numberParameters()
Returns the number of total parameters there are for solving.
Definition CsmBundleObservation.cpp:191
QString bundleOutputCSV(bool errorPropagation)
Creates and returns a formatted QString representing the bundle coefficients and parameters in csv fo...
Definition CsmBundleObservation.cpp:274
bool computeTargetPartials(LinearAlgebra::Matrix &coeffTarget, BundleMeasure &measure, BundleSettingsQsp &bundleSettings, BundleTargetBodyQsp &bundleTargetBody)
Cannot compute target body parameters for a CSM observation, so always throws an exception.
Definition CsmBundleObservation.cpp:329
bool computeImagePartials(LinearAlgebra::Matrix &coeffImage, BundleMeasure &measure)
Calculates the sensor partials with respect to the solve parameters and populates the coeffImage matr...
Definition CsmBundleObservation.cpp:350
bool applyParameterCorrections(LinearAlgebra::Vector corrections)
Applies the parameter corrections.
Definition CsmBundleObservation.cpp:163
const BundleObservationSolveSettingsQsp solveSettings()
Accesses the solve settings.
Definition CsmBundleObservation.cpp:145
~CsmBundleObservation()
Destructor.
Definition CsmBundleObservation.cpp:71
virtual QStringList parameterList()
Returns the list of observation parameter names.
Definition CsmBundleObservation.cpp:305
void bundleOutputString(std::ostream &fpOut, bool errorPropagation)
Takes in an open std::ofstream and writes out information which goes into the bundleout....
Definition CsmBundleObservation.cpp:205
bool computePoint3DPartials(LinearAlgebra::Matrix &coeffPoint3D, BundleMeasure &measure, SurfacePoint::CoordinateType coordType)
Calculates the ground partials for the line, sample currently set in the sensor model.
Definition CsmBundleObservation.cpp:381
virtual bool setSolveSettings(BundleObservationSolveSettings solveSettings)
Set solve parameters.
Definition CsmBundleObservation.cpp:100
CsmBundleObservation()
Constructs a CsmBundleObservation initialized to a default state.
Definition CsmBundleObservation.cpp:33
double computeObservationValue(BundleMeasure &measure, double deltaVal)
Returns the observed value in (sample, line) coordinates.
Definition CsmBundleObservation.cpp:481
boost::numeric::ublas::vector< double > Vector
Definition for an Isis::LinearAlgebra::Vector of doubles.
Definition LinearAlgebra.h:132
boost::numeric::ublas::matrix< double > Matrix
Definition for an Isis::LinearAlgebra::Matrix of doubles.
Definition LinearAlgebra.h:102
CoordinateType
Defines the coordinate typ, units, and coordinate index for some of the output methods.
Definition SurfacePoint.h:139
Definition JigsawWorkOrder.h:28
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16