Isis 3 Programmer Reference
Isis::BundleObservation Class Referenceabstract

Abstract base class for an observation in bundle adjustment. More...

#include <BundleObservation.h>

Inheritance diagram for Isis::BundleObservation:
Inheritance graph
Collaboration diagram for Isis::BundleObservation:
Collaboration graph

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 BundleObservationoperator= (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::VectorparameterWeights ()
 Accesses the solve parameter weights.
 
virtual LinearAlgebra::VectorparameterCorrections ()
 Accesses the parameter corrections.
 
virtual LinearAlgebra::VectoraprioriSigmas ()
 Accesses the a priori sigmas.
 
virtual LinearAlgebra::VectoradjustedSigmas ()
 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, BundleImageQspm_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.
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ BundleObservation() [1/3]

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.

◆ BundleObservation() [2/3]

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.

Parameters
imageQSharedPointer to the primary image in the observation
observationNumberObservation number of the observation
instrumentIdId of the instrument for the observation
bundleTargetBodyQSharedPointer 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.

◆ BundleObservation() [3/3]

Isis::BundleObservation::BundleObservation ( const BundleObservation & src)

Creates a copy of another BundleObservation.

Parameters
srcReference to the BundleObservation to copy

Definition at line 82 of file BundleObservation.cpp.

References m_index, m_instrumentId, m_observationNumber, and m_serialNumbers.

◆ ~BundleObservation()

Isis::BundleObservation::~BundleObservation ( )
virtual

Destructor.

Contained BundleImages will remain until all shared pointers are deleted.

Definition at line 98 of file BundleObservation.cpp.

Member Function Documentation

◆ adjustedSigmas()

LinearAlgebra::Vector & Isis::BundleObservation::adjustedSigmas ( )
virtual

Accesses the adjusted sigmas.

Returns
LinearAlgebra::Vector Returns the adjusted sigmas

Definition at line 207 of file BundleObservation.cpp.

References m_adjustedSigmas.

◆ append()

void Isis::BundleObservation::append ( const BundleImageQsp & value)
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.

Parameters
valueThe BundleImage to be appended.
See also
QVector::append()

Definition at line 135 of file BundleObservation.cpp.

Referenced by BundleObservation().

◆ applyParameterCorrections()

virtual bool Isis::BundleObservation::applyParameterCorrections ( LinearAlgebra::Vector corrections)
pure virtual

◆ aprioriSigmas()

LinearAlgebra::Vector & Isis::BundleObservation::aprioriSigmas ( )
virtual

Accesses the a priori sigmas.

Returns
LinearAlgebra::Vector Returns the a priori sigmas

Definition at line 197 of file BundleObservation.cpp.

References m_aprioriSigmas.

◆ bundleOutputCSV()

virtual QString Isis::BundleObservation::bundleOutputCSV ( bool errorPropagation)
pure virtual

◆ bundleOutputString()

virtual void Isis::BundleObservation::bundleOutputString ( std::ostream & fpOut,
bool errorPropagation )
pure virtual

◆ computeImagePartials()

virtual bool Isis::BundleObservation::computeImagePartials ( LinearAlgebra::Matrix & coeffImage,
BundleMeasure & measure )
pure virtual

◆ computeObservationValue()

virtual double Isis::BundleObservation::computeObservationValue ( BundleMeasure & measure,
double deltaVal )
pure virtual

◆ computePoint3DPartials()

virtual bool Isis::BundleObservation::computePoint3DPartials ( LinearAlgebra::Matrix & coeffPoint3D,
BundleMeasure & measure,
SurfacePoint::CoordinateType coordType = SurfacePoint::Rectangular )
pure virtual

◆ computeRHSPartials()

virtual bool Isis::BundleObservation::computeRHSPartials ( LinearAlgebra::Vector & coeffRHS,
BundleMeasure & measure )
pure virtual

◆ computeTargetPartials()

virtual bool Isis::BundleObservation::computeTargetPartials ( LinearAlgebra::Matrix & coeffTarget,
BundleMeasure & measure,
BundleSettingsQsp & bundleSettings,
BundleTargetBodyQsp & bundleTargetBody )
pure virtual

◆ imageByCubeSerialNumber()

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.

Parameters
cubeSerialNumberThe serial number of the cube to be returned.
Returns
BundleImageQsp A shared pointer to the BundleImage (NULL if not found).

Definition at line 151 of file BundleObservation.cpp.

◆ imageNames()

QStringList Isis::BundleObservation::imageNames ( )
virtual

Access to image names for CorrelationMatrix to use.

Returns
QStringList Returns a QStringList of the image names

Definition at line 237 of file BundleObservation.cpp.

References m_imageNames.

◆ index()

int Isis::BundleObservation::index ( )

Accesses the observation's index.

Returns
int Returns 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().

◆ instrumentId()

QString Isis::BundleObservation::instrumentId ( )

Accesses the instrument id.

Returns
QString Returns the instrument id of the observation

Definition at line 167 of file BundleObservation.cpp.

References m_instrumentId.

Referenced by BundleObservation().

◆ numberParameters()

virtual int Isis::BundleObservation::numberParameters ( )
pure virtual

◆ operator=()

BundleObservation & Isis::BundleObservation::operator= ( const BundleObservation & src)
virtual

Assignment operator.

Assigns the state of the source BundleObservation to this BundleObservation

Parameters
BundleObservationReference to the source BundleObservation to assign from
Returns
BundleObservation& Reference to this BundleObservation

Definition at line 112 of file BundleObservation.cpp.

References m_instrumentId, m_observationNumber, and m_serialNumbers.

Referenced by Isis::IsisBundleObservation::operator=().

◆ parameterCorrections()

LinearAlgebra::Vector & Isis::BundleObservation::parameterCorrections ( )
virtual

Accesses the parameter corrections.

Returns
LinearAlgebra::Vector Returns the parameter corrections

Definition at line 187 of file BundleObservation.cpp.

◆ parameterList()

virtual QStringList Isis::BundleObservation::parameterList ( )
pure virtual

◆ parameterWeights()

LinearAlgebra::Vector & Isis::BundleObservation::parameterWeights ( )
virtual

Accesses the solve parameter weights.

Returns
LinearAlgebra::Vector Returns the parameter weights for solving

Definition at line 177 of file BundleObservation.cpp.

References m_weights.

◆ setIndex()

void Isis::BundleObservation::setIndex ( int n)

Sets the index for the observation.

Parameters
nValue to set the index of the observation to

Definition at line 217 of file BundleObservation.cpp.

References m_index.

◆ setSolveSettings()

virtual bool Isis::BundleObservation::setSolveSettings ( BundleObservationSolveSettings solveSettings)
pure virtual

◆ solveSettings()

virtual const BundleObservationSolveSettingsQsp Isis::BundleObservation::solveSettings ( )
pure virtual

◆ vtpv()

double Isis::BundleObservation::vtpv ( )

Compute vtpv, the weighted sum of squares of constrained image parameter residuals.

Returns
double 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().

Member Data Documentation

◆ m_adjustedSigmas

◆ m_aprioriSigmas

◆ m_corrections

LinearAlgebra::Vector Isis::BundleObservation::m_corrections
protected

Definition at line 106 of file BundleObservation.h.

◆ m_cubeSerialNumberToBundleImageMap

QMap<QString, BundleImageQsp> Isis::BundleObservation::m_cubeSerialNumberToBundleImageMap
protected

Definition at line 99 of file BundleObservation.h.

◆ m_imageNames

QStringList Isis::BundleObservation::m_imageNames
protected

List of all cube names.

Definition at line 101 of file BundleObservation.h.

Referenced by BundleObservation(), BundleObservation(), and imageNames().

◆ m_index

int Isis::BundleObservation::m_index
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().

◆ m_instrumentId

QString Isis::BundleObservation::m_instrumentId
protected

Spacecraft instrument id.

Definition at line 102 of file BundleObservation.h.

Referenced by BundleObservation(), BundleObservation(), BundleObservation(), instrumentId(), and operator=().

◆ m_observationNumber

QString Isis::BundleObservation::m_observationNumber
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=().

◆ m_serialNumbers

QStringList Isis::BundleObservation::m_serialNumbers
protected

List of all cube serial numbers in observation.

Definition at line 100 of file BundleObservation.h.

Referenced by BundleObservation(), BundleObservation(), BundleObservation(), and operator=().

◆ m_weights

LinearAlgebra::Vector Isis::BundleObservation::m_weights
protected

The documentation for this class was generated from the following files: