Isis 3 Developer Reference
Isis::BundleObservationSolveSettings Class Reference

This class is used to modify and manage solve settings for 1 to many BundleObservations. More...

#include <BundleObservationSolveSettings.h>

Collaboration diagram for Isis::BundleObservationSolveSettings:
Collaboration graph

Public Types

enum  InstrumentPointingSolveOption {
  NoPointingFactors = 0, AnglesOnly = 1, AnglesVelocity = 2, AnglesVelocityAcceleration = 3,
  AllPointingCoefficients = 4
}
 Options for how to solve for instrument pointing. More...
 
enum  InstrumentPositionSolveOption {
  NoPositionFactors = 0, PositionOnly = 1, PositionVelocity = 2, PositionVelocityAcceleration = 3,
  AllPositionCoefficients = 4
}
 Options for how to solve for instrument position. More...
 

Public Member Functions

 BundleObservationSolveSettings ()
 Constructor with default parameter initializations. More...
 
 BundleObservationSolveSettings (Project *project, XmlStackedHandlerReader *xmlReader)
 Construct this BundleObservationSolveSettings object from XML. More...
 
 BundleObservationSolveSettings (FileName xmlFile, Project *project, XmlStackedHandlerReader *xmlReader)
 
 BundleObservationSolveSettings (const BundleObservationSolveSettings &src)
 Constructs a BundleObservationSolveSettings from another one. More...
 
 ~BundleObservationSolveSettings ()
 Destructor. More...
 
BundleObservationSolveSettingsoperator= (const BundleObservationSolveSettings &src)
 Assigns the state of another BundleObservationSolveSettings to this one. More...
 
void initialize ()
 Initializes the default state of this BundleObservationSolveSettings. More...
 
void setInstrumentId (QString instrumentId)
 Sets the instrument id for this observation. More...
 
QString instrumentId () const
 Accesses the instrument id for this observation. More...
 
void addObservationNumber (QString observationNumber)
 Associates an observation number with these solve settings. More...
 
bool removeObservationNumber (QString observationNumber)
 Removes an observation number from this solve settings. More...
 
QSet< QString > observationNumbers () const
 Returns a list of observation numbers associated with these solve settings. More...
 
void setInstrumentPointingSettings (InstrumentPointingSolveOption option, bool solveTwist, int ckDegree=2, int ckSolveDegree=2, bool solvePolynomialOverExisting=false, double anglesAprioriSigma=-1.0, double angularVelocityAprioriSigma=-1.0, double angularAccelerationAprioriSigma=-1.0, QList< double > *additionalPointingSigmas=nullptr)
 Sets the instrument pointing settings. More...
 
InstrumentPointingSolveOption instrumentPointingSolveOption () const
 Accesses the instrument pointing solve option. More...
 
bool solveTwist () const
 Accesses the flag for solving for twist. More...
 
int ckDegree () const
 Accesses the degree of polynomial fit to original camera angles (ckDegree). More...
 
int ckSolveDegree () const
 Accesses the degree of the camera angles polynomial being fit to in the bundle adjustment (ckSolveDegree). More...
 
int numberCameraAngleCoefficientsSolved () const
 Accesses the number of camera angle coefficients in the solution. More...
 
bool solvePolyOverPointing () const
 Whether or not the solve polynomial will be fit over the existing pointing polynomial. More...
 
QList< double > aprioriPointingSigmas () const
 Accesses the a priori pointing sigmas. More...
 
SpiceRotation::Source pointingInterpolationType () const
 Accesses the SpiceRotation interpolation type for the instrument pointing. More...
 
void setInstrumentPositionSettings (InstrumentPositionSolveOption option, int spkDegree=2, int spkSolveDegree=2, bool positionOverHermite=false, double positionAprioriSigma=-1.0, double velocityAprioriSigma=-1.0, double accelerationAprioriSigma=-1.0, QList< double > *additionalPositionSigmas=nullptr)
 Sets the instrument pointing settings. More...
 
InstrumentPositionSolveOption instrumentPositionSolveOption () const
 Accesses the instrument position solve option. More...
 
int spkDegree () const
 Accesses the degree of the polynomial fit to the original camera position (spkDegree). More...
 
int spkSolveDegree () const
 Accesses the degree of thecamera position polynomial being fit to in the bundle adjustment (spkSolveDegree). More...
 
int numberCameraPositionCoefficientsSolved () const
 Accesses the number of camera position coefficients in the solution. More...
 
bool solvePositionOverHermite () const
 Whether or not the polynomial for solving will be fit over an existing Hermite spline. More...
 
QList< double > aprioriPositionSigmas () const
 Accesses the a priori position sigmas. More...
 
SpicePosition::Source positionInterpolationType () const
 Accesses the SpicePosition interpolation type for the spacecraft position. More...
 
void save (QXmlStreamWriter &stream, const Project *project) const
 Saves this BundleObservationSolveSettings to an xml stream. More...
 

Static Public Member Functions

static InstrumentPointingSolveOption stringToInstrumentPointingSolveOption (QString option)
 Translates a QString InstrumentPointingSolveOption to its enumerated value. More...
 
static QString instrumentPointingSolveOptionToString (InstrumentPointingSolveOption option)
 Tranlsates an enumerated InstrumentPointingSolveOption value to its string representation. More...
 
static InstrumentPositionSolveOption stringToInstrumentPositionSolveOption (QString option)
 Translates a QString InstrumentPositionSolveOption to its enumerated value. More...
 
static QString instrumentPositionSolveOptionToString (InstrumentPositionSolveOption option)
 Translates an enumerated InstrumentPositionSolveOption to its string representation. More...
 

Detailed Description

This class is used to modify and manage solve settings for 1 to many BundleObservations.

These settings indicate how any associated observations should be solved.

Author
2014-07-09 Ken Edmundson

Member Enumeration Documentation

◆ InstrumentPointingSolveOption

Options for how to solve for instrument pointing.

Enumerator
NoPointingFactors 

Solve for none of the pointing factors.

AnglesOnly 

Solve for pointing angles: right ascension, declination and, optionally, twist.

AnglesVelocity 

Solve for pointing angles and their angular velocities.

AnglesVelocityAcceleration 

Solve for pointing angles, their velocities and their accelerations.

AllPointingCoefficients 

Solve for all coefficients in the polynomials fit to the pointing angles.

◆ InstrumentPositionSolveOption

Options for how to solve for instrument position.

Enumerator
NoPositionFactors 

Solve for none of the position factors.

PositionOnly 

Solve for instrument positions only.

PositionVelocity 

Solve for instrument positions and velocities.

PositionVelocityAcceleration 

Solve for instrument positions, velocities, and accelerations.

AllPositionCoefficients 

Solve for all coefficients in the polynomials fit to the instrument positions.

Constructor & Destructor Documentation

◆ BundleObservationSolveSettings() [1/4]

Isis::BundleObservationSolveSettings::BundleObservationSolveSettings ( )

Constructor with default parameter initializations.

References initialize().

◆ BundleObservationSolveSettings() [2/4]

Isis::BundleObservationSolveSettings::BundleObservationSolveSettings ( Project project,
XmlStackedHandlerReader xmlReader 
)

Construct this BundleObservationSolveSettings object from XML.

Parameters
bundleSettingsFolderWhere this settings XML resides - /work/.../projectRoot/images/import1
xmlReaderAn XML reader that's up to an <bundleSettings> tag.

References initialize(), and Isis::XmlStackedHandlerReader::pushContentHandler().

◆ BundleObservationSolveSettings() [3/4]

Isis::BundleObservationSolveSettings::BundleObservationSolveSettings ( FileName  xmlFile,
Project project,
XmlStackedHandlerReader xmlReader 
)

◆ BundleObservationSolveSettings() [4/4]

Isis::BundleObservationSolveSettings::BundleObservationSolveSettings ( const BundleObservationSolveSettings other)

Constructs a BundleObservationSolveSettings from another one.

Parameters
otherThe BundleObservationSolveSettings to copy

◆ ~BundleObservationSolveSettings()

Isis::BundleObservationSolveSettings::~BundleObservationSolveSettings ( )

Destructor.

Member Function Documentation

◆ addObservationNumber()

void Isis::BundleObservationSolveSettings::addObservationNumber ( QString  observationNumber)

Associates an observation number with these solve settings.

These solve settings are to be applied to any associated observations.

Parameters
observationNumberQString observation number to associate with these settings.

Referenced by Isis::JigsawSetupDialog::JigsawSetupDialog().

◆ aprioriPointingSigmas()

QList< double > Isis::BundleObservationSolveSettings::aprioriPointingSigmas ( ) const

Accesses the a priori pointing sigmas.

Returns
QList<double> Returns a QList of the a priori pointing sigmas

Referenced by Isis::BundleSolutionInfo::outputHeader(), and Isis::JigsawSetupDialog::treeViewSelectionChanged().

◆ aprioriPositionSigmas()

QList< double > Isis::BundleObservationSolveSettings::aprioriPositionSigmas ( ) const

Accesses the a priori position sigmas.

Returns
QList<double> Returns a QList of the a priori position sigmas

Referenced by Isis::BundleSolutionInfo::outputHeader(), and Isis::JigsawSetupDialog::treeViewSelectionChanged().

◆ ckDegree()

int Isis::BundleObservationSolveSettings::ckDegree ( ) const

Accesses the degree of polynomial fit to original camera angles (ckDegree).

Returns
int Returns the degree of the polynomial fit to the original camera angles

Referenced by Isis::BundleSolutionInfo::outputHeader(), setInstrumentPointingSettings(), and Isis::JigsawSetupDialog::treeViewSelectionChanged().

◆ ckSolveDegree()

int Isis::BundleObservationSolveSettings::ckSolveDegree ( ) const

Accesses the degree of the camera angles polynomial being fit to in the bundle adjustment (ckSolveDegree).

Returns
int Returns the degree of the camera angles polynomial in the bundle adjustment

Referenced by Isis::BundleSolutionInfo::outputHeader(), setInstrumentPointingSettings(), and Isis::JigsawSetupDialog::treeViewSelectionChanged().

◆ initialize()

void Isis::BundleObservationSolveSettings::initialize ( )

◆ instrumentId()

QString Isis::BundleObservationSolveSettings::instrumentId ( ) const

Accesses the instrument id for this observation.

Returns
QString Returns the instrument id for this observation

Referenced by save(), and setInstrumentId().

◆ instrumentPointingSolveOption()

BundleObservationSolveSettings::InstrumentPointingSolveOption Isis::BundleObservationSolveSettings::instrumentPointingSolveOption ( ) const

Accesses the instrument pointing solve option.

Returns
BundleObservationSolveSettings::InstrumentPointingSolveOption Returns the instrument pointing solve option

Referenced by Isis::JigsawSetupDialog::treeViewSelectionChanged().

◆ instrumentPointingSolveOptionToString()

QString Isis::BundleObservationSolveSettings::instrumentPointingSolveOptionToString ( InstrumentPointingSolveOption  option)
static

Tranlsates an enumerated InstrumentPointingSolveOption value to its string representation.

Parameters
optionEnumerated InstrumentPointingSolveOption value
Exceptions
IException::Programmer"Unknown pointing solve option enum."
Returns
QString Returns the QString representation of the passed InstrumentPointingSolveOption

References _FILEINFO_, AllPointingCoefficients, AnglesOnly, AnglesVelocity, AnglesVelocityAcceleration, NoPointingFactors, Isis::IException::Programmer, and Isis::toString().

Referenced by save().

◆ instrumentPositionSolveOption()

BundleObservationSolveSettings::InstrumentPositionSolveOption Isis::BundleObservationSolveSettings::instrumentPositionSolveOption ( ) const

Accesses the instrument position solve option.

Returns
BundleObservationSolveSettings::InstrumentPositionSolveOption Returns the instrument position solve option

Referenced by Isis::JigsawSetupDialog::treeViewSelectionChanged().

◆ instrumentPositionSolveOptionToString()

QString Isis::BundleObservationSolveSettings::instrumentPositionSolveOptionToString ( InstrumentPositionSolveOption  option)
static

Translates an enumerated InstrumentPositionSolveOption to its string representation.

Parameters
optionEnumerated InstrumentPositionSolveOption value
Exceptions
IException::Programmer"Unknown position solve option enum."
Returns
QString Returns the QString representation of the passed InstrumentPointingSolveOption

References _FILEINFO_, AllPositionCoefficients, NoPositionFactors, PositionOnly, PositionVelocity, PositionVelocityAcceleration, Isis::IException::Programmer, and Isis::toString().

Referenced by save().

◆ numberCameraAngleCoefficientsSolved()

int Isis::BundleObservationSolveSettings::numberCameraAngleCoefficientsSolved ( ) const

Accesses the number of camera angle coefficients in the solution.

Returns
int Returns the number of camera angle coefficients in the solution

Referenced by Isis::BundleSolutionInfo::outputHeader(), and Isis::BundleSolutionInfo::outputImagesCSVHeader().

◆ numberCameraPositionCoefficientsSolved()

int Isis::BundleObservationSolveSettings::numberCameraPositionCoefficientsSolved ( ) const

Accesses the number of camera position coefficients in the solution.

Returns
int Returns the number of camera position coefficients.

Referenced by Isis::BundleSolutionInfo::outputHeader(), and Isis::BundleSolutionInfo::outputImagesCSVHeader().

◆ observationNumbers()

QSet< QString > Isis::BundleObservationSolveSettings::observationNumbers ( ) const

Returns a list of observation numbers associated with these solve settings.

Returns
QSet<QString> Returns a QSet containing the associated observation numbers.

Referenced by Isis::JigsawSetupDialog::JigsawSetupDialog().

◆ operator=()

BundleObservationSolveSettings & Isis::BundleObservationSolveSettings::operator= ( const BundleObservationSolveSettings other)

Assigns the state of another BundleObservationSolveSettings to this one.

Parameters
otherThe other BundleObservationSolveSettings to assign state from

◆ pointingInterpolationType()

SpiceRotation::Source Isis::BundleObservationSolveSettings::pointingInterpolationType ( ) const

Accesses the SpiceRotation interpolation type for the instrument pointing.

Returns
SpiceRotation::Source Returns the SpiceRotation interpolation type for pointing

◆ positionInterpolationType()

SpicePosition::Source Isis::BundleObservationSolveSettings::positionInterpolationType ( ) const

Accesses the SpicePosition interpolation type for the spacecraft position.

Returns
SpicePosition::Source Returns the SpicePositon interpolation type for position

◆ removeObservationNumber()

bool Isis::BundleObservationSolveSettings::removeObservationNumber ( QString  observationNumber)

Removes an observation number from this solve settings.

The observation is no longer associated with this solve settings.

Parameters
QStringobservationNumber The observation number to remove from this solve settings.
Returns
bool Returns true if the observation number passed was actually removed; otherwise returns false.

◆ save()

void Isis::BundleObservationSolveSettings::save ( QXmlStreamWriter &  stream,
const Project project 
) const

Saves this BundleObservationSolveSettings to an xml stream.

Parameters
streamA QXmlStreamWriter to write to
projectPointer to the current project

References instrumentId(), instrumentPointingSolveOptionToString(), instrumentPositionSolveOptionToString(), Isis::IsSpecial(), and Isis::toString().

◆ setInstrumentId()

void Isis::BundleObservationSolveSettings::setInstrumentId ( QString  instrumentId)

Sets the instrument id for this observation.

Parameters
instrumentIdQString instrument id

References instrumentId().

◆ setInstrumentPointingSettings()

void Isis::BundleObservationSolveSettings::setInstrumentPointingSettings ( InstrumentPointingSolveOption  option,
bool  solveTwist,
int  ckDegree = 2,
int  ckSolveDegree = 2,
bool  solvePolynomialOverExisting = false,
double  anglesAprioriSigma = -1.0,
double  angularVelocityAprioriSigma = -1.0,
double  angularAccelerationAprioriSigma = -1.0,
QList< double > *  additionalPointingSigmas = nullptr 
)

Sets the instrument pointing settings.

Parameters
optionOption for how to solve for instrument pointing
solveTwistWhether or not to solve for twist
ckDegree
ckSolveDegree
solvePolynomialOverExistingIndicates whether the polynomial will be fit over an existing pointing polynomial
anglesAprioriSigmaA priori angle values
angularVelocityAprioriSigmaA priori angular velocity
angularAccelerationAprioriSigmaA priori angular acceleration

References AllPointingCoefficients, ckDegree(), ckSolveDegree(), Isis::Null, Isis::SpiceRotation::PolyFunction, Isis::SpiceRotation::PolyFunctionOverSpice, and solveTwist().

Referenced by initialize(), and Isis::JigsawSetupDialog::JigsawSetupDialog().

◆ setInstrumentPositionSettings()

void Isis::BundleObservationSolveSettings::setInstrumentPositionSettings ( InstrumentPositionSolveOption  option,
int  spkDegree = 2,
int  spkSolveDegree = 2,
bool  positionOverHermite = false,
double  positionAprioriSigma = -1.0,
double  velocityAprioriSigma = -1.0,
double  accelerationAprioriSigma = -1.0,
QList< double > *  additionalPositionSigmas = nullptr 
)

Sets the instrument pointing settings.

Parameters
optionOption for how to solve the instrument position
spkDegree
spkSolveDegree
positionOverHermiteWhether or not the polynomial will be fit over an existing Hermite spline
positionAprioriSigmaA priori position sigma
velocityAprioriSigmaA priori velocity sigma
accelerationAprioriSigmaA priori acceleration sigma

References AllPositionCoefficients, Isis::Null, Isis::SpicePosition::PolyFunction, Isis::SpicePosition::PolyFunctionOverHermiteConstant, spkDegree(), and spkSolveDegree().

Referenced by initialize().

◆ solvePolyOverPointing()

bool Isis::BundleObservationSolveSettings::solvePolyOverPointing ( ) const

Whether or not the solve polynomial will be fit over the existing pointing polynomial.

Returns
bool Indicates whether the polynomial will be fit over the existing pointing polynomial

Referenced by Isis::BundleSolutionInfo::outputHeader(), and Isis::JigsawSetupDialog::treeViewSelectionChanged().

◆ solvePositionOverHermite()

bool Isis::BundleObservationSolveSettings::solvePositionOverHermite ( ) const

Whether or not the polynomial for solving will be fit over an existing Hermite spline.

Returns
bool Returns whether or not to fit the solve polynomial over an existing Hermite spline

Referenced by Isis::BundleSolutionInfo::outputHeader(), and Isis::JigsawSetupDialog::treeViewSelectionChanged().

◆ solveTwist()

bool Isis::BundleObservationSolveSettings::solveTwist ( ) const

Accesses the flag for solving for twist.

Returns
bool Returns whether or not to solve for twist

Referenced by Isis::BundleSolutionInfo::outputHeader(), setInstrumentPointingSettings(), and Isis::JigsawSetupDialog::treeViewSelectionChanged().

◆ spkDegree()

int Isis::BundleObservationSolveSettings::spkDegree ( ) const

Accesses the degree of the polynomial fit to the original camera position (spkDegree).

Returns
int Returns the degree of the original camera position polynomial.

Referenced by Isis::BundleSolutionInfo::outputHeader(), setInstrumentPositionSettings(), and Isis::JigsawSetupDialog::treeViewSelectionChanged().

◆ spkSolveDegree()

int Isis::BundleObservationSolveSettings::spkSolveDegree ( ) const

Accesses the degree of thecamera position polynomial being fit to in the bundle adjustment (spkSolveDegree).

Returns
int Returns the degree of the camera position polynomial in the bundle adjustment.

Referenced by Isis::BundleSolutionInfo::outputHeader(), setInstrumentPositionSettings(), and Isis::JigsawSetupDialog::treeViewSelectionChanged().

◆ stringToInstrumentPointingSolveOption()

BundleObservationSolveSettings::InstrumentPointingSolveOption Isis::BundleObservationSolveSettings::stringToInstrumentPointingSolveOption ( QString  option)
static

Translates a QString InstrumentPointingSolveOption to its enumerated value.

Parameters
optionQString representation of the instrument pointing solve option
Exceptions
IException::Unknown"Unknown bundle instrument point solve option."
Returns
BundleObservationSolveSettings::InstrumentPointingSolveOption Returns the enumerated value of the instrument pointing solve option

References _FILEINFO_, AllPointingCoefficients, AnglesOnly, AnglesVelocity, AnglesVelocityAcceleration, NoPointingFactors, and Isis::IException::Unknown.

◆ stringToInstrumentPositionSolveOption()

BundleObservationSolveSettings::InstrumentPositionSolveOption Isis::BundleObservationSolveSettings::stringToInstrumentPositionSolveOption ( QString  option)
static

Translates a QString InstrumentPositionSolveOption to its enumerated value.

Parameters
optionQString representation of an instrument position solve option
Exceptions
IExeption::Unknown"Unknown bundle instrument position solve option."
Returns
BundleObservationSolveSettings::InstrumentPositionSolveOption Returns the enumerated value of the instrument position solve option

References _FILEINFO_, AllPositionCoefficients, NoPositionFactors, PositionOnly, PositionVelocity, PositionVelocityAcceleration, and Isis::IException::Unknown.


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