Isis 3 Programmer Reference
|
Abstract base class for an observation in bundle adjustment. More...
#include <BundleObservation.h>
Public Member Functions | |
BundleObservation () | |
Constructs a BundleObservation initialized to a default state. | |
BundleObservation (BundleImageQsp image, QString observationNumber, QString instrumentId, BundleTargetBodyQsp bundleTargetBody) | |
Constructs a BundleObservation from an BundleImage, an instrument id, an observation number to assign to this BundleObservation, and a target body. | |
BundleObservation (const BundleObservation &src) | |
Creates a copy of another BundleObservation. | |
virtual | ~BundleObservation () |
Destructor. | |
virtual BundleObservation & | operator= (const BundleObservation &src) |
Assignment operator. | |
void | copy (const BundleObservation &src) |
virtual bool | setSolveSettings (BundleObservationSolveSettings solveSettings)=0 |
virtual void | append (const BundleImageQsp &value) |
Appends a BundleImage shared pointer to the BundleObservation. | |
BundleImageQsp | imageByCubeSerialNumber (QString cubeSerialNumber) |
Returns the BundleImage shared pointer associated with the given serial number. | |
void | setIndex (int n) |
Sets the index for the observation. | |
int | index () |
Accesses the observation's index. | |
QString | instrumentId () |
Accesses the instrument id. | |
double | vtpv () |
Compute vtpv, the weighted sum of squares of constrained image parameter residuals. | |
virtual LinearAlgebra::Vector & | parameterWeights () |
Accesses the solve parameter weights. | |
virtual LinearAlgebra::Vector & | parameterCorrections () |
Accesses the parameter corrections. | |
virtual LinearAlgebra::Vector & | aprioriSigmas () |
Accesses the a priori sigmas. | |
virtual LinearAlgebra::Vector & | adjustedSigmas () |
Accesses the adjusted sigmas. | |
virtual const BundleObservationSolveSettingsQsp | solveSettings ()=0 |
virtual int | numberParameters ()=0 |
virtual bool | applyParameterCorrections (LinearAlgebra::Vector corrections)=0 |
virtual void | bundleOutputString (std::ostream &fpOut, bool errorPropagation)=0 |
virtual QString | bundleOutputCSV (bool errorPropagation)=0 |
virtual QStringList | parameterList ()=0 |
virtual QStringList | imageNames () |
Access to image names for CorrelationMatrix to use. | |
virtual bool | computeTargetPartials (LinearAlgebra::Matrix &coeffTarget, BundleMeasure &measure, BundleSettingsQsp &bundleSettings, BundleTargetBodyQsp &bundleTargetBody)=0 |
virtual bool | computeImagePartials (LinearAlgebra::Matrix &coeffImage, BundleMeasure &measure)=0 |
virtual bool | computePoint3DPartials (LinearAlgebra::Matrix &coeffPoint3D, BundleMeasure &measure, SurfacePoint::CoordinateType coordType=SurfacePoint::Rectangular)=0 |
virtual bool | computeRHSPartials (LinearAlgebra::Vector &coeffRHS, BundleMeasure &measure)=0 |
virtual double | computeObservationValue (BundleMeasure &measure, double deltaVal)=0 |
Protected Attributes | |
QString | m_observationNumber |
The shared portion of the serial numbers of all images in the observation. | |
int | m_index |
Index of this observation in the set of observations. Map between cube serial number and BundleImage pointers. | |
QMap< QString, BundleImageQsp > | m_cubeSerialNumberToBundleImageMap |
QStringList | m_serialNumbers |
List of all cube serial numbers in observation. | |
QStringList | m_imageNames |
List of all cube names. | |
QString | m_instrumentId |
Spacecraft instrument id. | |
LinearAlgebra::Vector | m_weights |
Parameter weights. Cumulative parameter correction vector. | |
LinearAlgebra::Vector | m_corrections |
LinearAlgebra::Vector | m_aprioriSigmas |
A posteriori (adjusted) parameter sigmas. | |
LinearAlgebra::Vector | m_adjustedSigmas |
A posteriori (adjusted) parameter sigmas. | |
Abstract base class for an observation in bundle adjustment.
This class is the abstract base class that represents an observation in bundle adjustment. It handles operations related to the images in the observation, parameter corrections, and parameter uncertainties. It defines the interface for choosing observation parameters via BundleObservationSolveSettings. The partial computation apis required by the bundle adjustment are also defined but must be implemented by sub-classes.
Definition at line 35 of file BundleObservation.h.
Isis::BundleObservation::BundleObservation | ( | ) |
Constructs a BundleObservation initialized to a default state.
Definition at line 31 of file BundleObservation.cpp.
References m_adjustedSigmas, m_aprioriSigmas, m_imageNames, m_index, m_instrumentId, m_observationNumber, m_serialNumbers, and m_weights.
Isis::BundleObservation::BundleObservation | ( | BundleImageQsp | image, |
QString | observationNumber, | ||
QString | instrumentId, | ||
BundleTargetBodyQsp | bundleTargetBody ) |
Constructs a BundleObservation from an BundleImage, an instrument id, an observation number to assign to this BundleObservation, and a target body.
image | QSharedPointer to the primary image in the observation |
observationNumber | Observation number of the observation |
instrumentId | Id of the instrument for the observation |
bundleTargetBody | QSharedPointer to the target body of the observation |
Definition at line 53 of file BundleObservation.cpp.
References append(), instrumentId(), m_adjustedSigmas, m_aprioriSigmas, m_imageNames, m_index, m_instrumentId, m_observationNumber, m_serialNumbers, and m_weights.
Isis::BundleObservation::BundleObservation | ( | const BundleObservation & | src | ) |
Creates a copy of another BundleObservation.
src | Reference to the BundleObservation to copy |
Definition at line 82 of file BundleObservation.cpp.
References m_index, m_instrumentId, m_observationNumber, and m_serialNumbers.
|
virtual |
Destructor.
Contained BundleImages will remain until all shared pointers are deleted.
Definition at line 98 of file BundleObservation.cpp.
|
virtual |
Accesses the adjusted sigmas.
Definition at line 207 of file BundleObservation.cpp.
References m_adjustedSigmas.
|
virtual |
Appends a BundleImage shared pointer to the BundleObservation.
If the pointer is valid, then the BundleImage and its serial number will be inserted into the serial number to BundleImage map.
value | The BundleImage to be appended. |
Definition at line 135 of file BundleObservation.cpp.
Referenced by BundleObservation().
|
pure virtual |
Implemented in Isis::IsisBundleObservation, and Isis::CsmBundleObservation.
|
virtual |
Accesses the a priori sigmas.
Definition at line 197 of file BundleObservation.cpp.
References m_aprioriSigmas.
|
pure virtual |
Implemented in Isis::IsisBundleObservation, and Isis::CsmBundleObservation.
|
pure virtual |
Implemented in Isis::IsisBundleObservation, and Isis::CsmBundleObservation.
|
pure virtual |
Implemented in Isis::IsisBundleObservation, and Isis::CsmBundleObservation.
|
pure virtual |
Implemented in Isis::IsisBundleObservation, and Isis::CsmBundleObservation.
|
pure virtual |
Implemented in Isis::IsisBundleObservation, and Isis::CsmBundleObservation.
|
pure virtual |
Implemented in Isis::IsisBundleObservation, and Isis::CsmBundleObservation.
|
pure virtual |
Implemented in Isis::IsisBundleObservation, and Isis::CsmBundleObservation.
BundleImageQsp Isis::BundleObservation::imageByCubeSerialNumber | ( | QString | cubeSerialNumber | ) |
Returns the BundleImage shared pointer associated with the given serial number.
If no BundleImage with that serial number is contained a NULL pointer is returned.
cubeSerialNumber | The serial number of the cube to be returned. |
Definition at line 151 of file BundleObservation.cpp.
|
virtual |
Access to image names for CorrelationMatrix to use.
Definition at line 237 of file BundleObservation.cpp.
References m_imageNames.
int Isis::BundleObservation::index | ( | ) |
Accesses the observation's index.
Definition at line 227 of file BundleObservation.cpp.
References m_index.
Referenced by Isis::IsisBundleObservation::applyParameterCorrections(), Isis::IsisBundleObservation::computeImagePartials(), and Isis::IsisBundleObservation::computeTargetPartials().
QString Isis::BundleObservation::instrumentId | ( | ) |
Accesses the instrument id.
Definition at line 167 of file BundleObservation.cpp.
References m_instrumentId.
Referenced by BundleObservation().
|
pure virtual |
Implemented in Isis::IsisBundleObservation, and Isis::CsmBundleObservation.
|
virtual |
Assignment operator.
Assigns the state of the source BundleObservation to this BundleObservation
BundleObservation | Reference to the source BundleObservation to assign from |
Definition at line 112 of file BundleObservation.cpp.
References m_instrumentId, m_observationNumber, and m_serialNumbers.
Referenced by Isis::IsisBundleObservation::operator=().
|
virtual |
Accesses the parameter corrections.
Definition at line 187 of file BundleObservation.cpp.
|
pure virtual |
Implemented in Isis::IsisBundleObservation, and Isis::CsmBundleObservation.
|
virtual |
Accesses the solve parameter weights.
Definition at line 177 of file BundleObservation.cpp.
References m_weights.
void Isis::BundleObservation::setIndex | ( | int | n | ) |
Sets the index for the observation.
n | Value to set the index of the observation to |
Definition at line 217 of file BundleObservation.cpp.
References m_index.
|
pure virtual |
Implemented in Isis::IsisBundleObservation, and Isis::CsmBundleObservation.
|
pure virtual |
Implemented in Isis::IsisBundleObservation, and Isis::CsmBundleObservation.
double Isis::BundleObservation::vtpv | ( | ) |
Compute vtpv, the weighted sum of squares of constrained image parameter residuals.
Definition at line 247 of file BundleObservation.cpp.
References m_weights, and vtpv().
Referenced by vtpv().
|
protected |
A posteriori (adjusted) parameter sigmas.
Definition at line 110 of file BundleObservation.h.
Referenced by adjustedSigmas(), BundleObservation(), BundleObservation(), Isis::IsisBundleObservation::bundleOutputCSV(), Isis::CsmBundleObservation::bundleOutputCSV(), Isis::IsisBundleObservation::bundleOutputString(), Isis::CsmBundleObservation::bundleOutputString(), Isis::IsisBundleObservation::setSolveSettings(), and Isis::CsmBundleObservation::setSolveSettings().
|
protected |
A posteriori (adjusted) parameter sigmas.
Definition at line 108 of file BundleObservation.h.
Referenced by aprioriSigmas(), BundleObservation(), BundleObservation(), Isis::IsisBundleObservation::bundleOutputCSV(), Isis::CsmBundleObservation::bundleOutputCSV(), Isis::IsisBundleObservation::bundleOutputString(), Isis::CsmBundleObservation::bundleOutputString(), Isis::IsisBundleObservation::initParameterWeights(), Isis::IsisBundleObservation::setSolveSettings(), and Isis::CsmBundleObservation::setSolveSettings().
|
protected |
Definition at line 106 of file BundleObservation.h.
|
protected |
Definition at line 99 of file BundleObservation.h.
|
protected |
List of all cube names.
Definition at line 101 of file BundleObservation.h.
Referenced by BundleObservation(), BundleObservation(), and imageNames().
|
protected |
Index of this observation in the set of observations. Map between cube serial number and BundleImage pointers.
Definition at line 97 of file BundleObservation.h.
Referenced by BundleObservation(), BundleObservation(), BundleObservation(), index(), and setIndex().
|
protected |
Spacecraft instrument id.
Definition at line 102 of file BundleObservation.h.
Referenced by BundleObservation(), BundleObservation(), BundleObservation(), instrumentId(), and operator=().
|
protected |
The shared portion of the serial numbers of all images in the observation.
Definition at line 95 of file BundleObservation.h.
Referenced by BundleObservation(), BundleObservation(), BundleObservation(), and operator=().
|
protected |
List of all cube serial numbers in observation.
Definition at line 100 of file BundleObservation.h.
Referenced by BundleObservation(), BundleObservation(), BundleObservation(), and operator=().
|
protected |
Parameter weights. Cumulative parameter correction vector.
Definition at line 104 of file BundleObservation.h.
Referenced by BundleObservation(), BundleObservation(), Isis::IsisBundleObservation::initParameterWeights(), parameterWeights(), Isis::IsisBundleObservation::setSolveSettings(), Isis::CsmBundleObservation::setSolveSettings(), and vtpv().