1#ifndef CsmBundleObservation_h
2#define CsmBundleObservation_h
15#include "BundleImage.h"
16#include "BundleObservationSolveSettings.h"
17#include "BundleTargetBody.h"
18#include "LinearAlgebra.h"
19#include "BundleObservation.h"
70 bool initParameterWeights();
A container class for a ControlMeasure.
Abstract base class for an observation in bundle adjustment.
QString instrumentId()
Accesses the instrument id.
This class is used to modify and manage solve settings for 1 to many BundleObservations.
Class for observations that use CSM camera models in bundle adjustment.
bool computeRHSPartials(LinearAlgebra::Vector &coeffRHS, BundleMeasure &measure)
Calculates the sample, line residuals between the values measured in the image and the ground-to-imag...
CsmBundleObservation & operator=(const CsmBundleObservation &src)
Assignment operator.
int numberParameters()
Returns the number of total parameters there are for solving.
QString bundleOutputCSV(bool errorPropagation)
Creates and returns a formatted QString representing the bundle coefficients and parameters in csv fo...
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.
bool computeImagePartials(LinearAlgebra::Matrix &coeffImage, BundleMeasure &measure)
Calculates the sensor partials with respect to the solve parameters and populates the coeffImage matr...
bool applyParameterCorrections(LinearAlgebra::Vector corrections)
Applies the parameter corrections.
const BundleObservationSolveSettingsQsp solveSettings()
Accesses the solve settings.
std::vector< int > m_paramIndices
The indices of the parameters the observation is solving for.
~CsmBundleObservation()
Destructor.
virtual QStringList parameterList()
Returns the list of observation parameter names.
void bundleOutputString(std::ostream &fpOut, bool errorPropagation)
Takes in an open std::ofstream and writes out information which goes into the bundleout....
bool computePoint3DPartials(LinearAlgebra::Matrix &coeffPoint3D, BundleMeasure &measure, SurfacePoint::CoordinateType coordType)
Calculates the ground partials for the line, sample currently set in the sensor model.
virtual bool setSolveSettings(BundleObservationSolveSettings solveSettings)
Set solve parameters.
CsmBundleObservation()
Constructs a CsmBundleObservation initialized to a default state.
double computeObservationValue(BundleMeasure &measure, double deltaVal)
Returns the observed value in (sample, line) coordinates.
BundleObservationSolveSettingsQsp m_solveSettings
Solve settings for this observation.
boost::numeric::ublas::vector< double > Vector
Definition for an Isis::LinearAlgebra::Vector of doubles.
boost::numeric::ublas::matrix< double > Matrix
Definition for an Isis::LinearAlgebra::Matrix of doubles.
CoordinateType
Defines the coordinate typ, units, and coordinate index for some of the output methods.
This is free and unencumbered software released into the public domain.