Isis 3 Programmer 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

Classes

class  XmlHandler
 

Public Types

enum  CSMSolveOption { NoCSMParameters = 0 , Set = 1 , Type = 2 , List = 3 }
 Options for how to solve for CSM parameters. More...
 
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.
 
 BundleObservationSolveSettings (Project *project, XmlStackedHandlerReader *xmlReader)
 Construct this BundleObservationSolveSettings object from XML.
 
 BundleObservationSolveSettings (FileName xmlFile, Project *project, XmlStackedHandlerReader *xmlReader)
 
 BundleObservationSolveSettings (const BundleObservationSolveSettings &src)
 Constructs a BundleObservationSolveSettings from another one.
 
 BundleObservationSolveSettings (const PvlGroup &scParameterGroup)
 
 ~BundleObservationSolveSettings ()
 Destructor.
 
BundleObservationSolveSettingsoperator= (const BundleObservationSolveSettings &src)
 Assigns the state of another BundleObservationSolveSettings to this one.
 
void initialize ()
 Initializes the default state of this BundleObservationSolveSettings.
 
void setInstrumentId (QString instrumentId)
 Sets the instrument id for this observation.
 
QString instrumentId () const
 Accesses the instrument id for this observation.
 
void addObservationNumber (QString observationNumber)
 Associates an observation number with these solve settings.
 
bool removeObservationNumber (QString observationNumber)
 Removes an observation number from this solve settings.
 
QSet< QString > observationNumbers () const
 Returns a list of observation numbers associated with these solve settings.
 
void setCSMSolveSet (csm::param::Set set)
 Set the set of CSM parameters to solve for.
 
void setCSMSolveType (csm::param::Type type)
 Set the type of CSM parameters to solve for.
 
void setCSMSolveParameterList (QStringList list)
 Set an explicit list of CSM parameters to solve for.
 
CSMSolveOption csmSolveOption () const
 Get how the CSM parameters to solve for are specified for this observation.
 
csm::param::Set csmParameterSet () const
 Get the set of CSM parameters to solve for.
 
csm::param::Type csmParameterType () const
 Get the type of CSM parameters to solve for.
 
QStringList csmParameterList () const
 Get the list of CSM parameters to solve for.
 
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.
 
InstrumentPointingSolveOption instrumentPointingSolveOption () const
 Accesses the instrument pointing solve option.
 
bool solveTwist () const
 Accesses the flag for solving for twist.
 
int ckDegree () const
 Accesses the degree of polynomial fit to original camera angles (ckDegree).
 
int ckSolveDegree () const
 Accesses the degree of the camera angles polynomial being fit to in the bundle adjustment (ckSolveDegree).
 
int numberCameraAngleCoefficientsSolved () const
 Accesses the number of camera angle coefficients in the solution.
 
bool solvePolyOverPointing () const
 Whether or not the solve polynomial will be fit over the existing pointing polynomial.
 
QList< double > aprioriPointingSigmas () const
 Accesses the a priori pointing sigmas.
 
SpiceRotation::Source pointingInterpolationType () const
 Accesses the SpiceRotation interpolation type for the instrument pointing.
 
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.
 
InstrumentPositionSolveOption instrumentPositionSolveOption () const
 Accesses the instrument position solve option.
 
int spkDegree () const
 Accesses the degree of the polynomial fit to the original camera position (spkDegree).
 
int spkSolveDegree () const
 Accesses the degree of thecamera position polynomial being fit to in the bundle adjustment (spkSolveDegree).
 
int numberCameraPositionCoefficientsSolved () const
 Accesses the number of camera position coefficients in the solution.
 
bool solvePositionOverHermite () const
 Whether or not the polynomial for solving will be fit over an existing Hermite spline.
 
QList< double > aprioriPositionSigmas () const
 Accesses the a priori position sigmas.
 
SpicePosition::Source positionInterpolationType () const
 Accesses the SpicePosition interpolation type for the spacecraft position.
 
void save (QXmlStreamWriter &stream, const Project *project) const
 Saves this BundleObservationSolveSettings to an xml stream.
 

Static Public Member Functions

static CSMSolveOption stringToCSMSolveOption (QString option)
 Convert a string to a CSM solve option enumeration value.
 
static QString csmSolveOptionToString (CSMSolveOption option)
 Convert a CSM solve option enumeration value to a string.
 
static csm::param::Set stringToCSMSolveSet (QString set)
 Convert a string to its CSM parameter set enumeration value.
 
static QString csmSolveSetToString (csm::param::Set set)
 Convert a CSM parameter set enumeration value to a string.
 
static csm::param::Type stringToCSMSolveType (QString type)
 Convert a string to its CSM parameter type enumeration value.
 
static QString csmSolveTypeToString (csm::param::Type type)
 Convert a CSM parameter type enumeration value to a string.
 
static InstrumentPointingSolveOption stringToInstrumentPointingSolveOption (QString option)
 Translates a QString InstrumentPointingSolveOption to its enumerated value.
 
static QString instrumentPointingSolveOptionToString (InstrumentPointingSolveOption option)
 Tranlsates an enumerated InstrumentPointingSolveOption value to its string representation.
 
static InstrumentPositionSolveOption stringToInstrumentPositionSolveOption (QString option)
 Translates a QString InstrumentPositionSolveOption to its enumerated value.
 
static QString instrumentPositionSolveOptionToString (InstrumentPositionSolveOption option)
 Translates an enumerated InstrumentPositionSolveOption to its string representation.
 

Private Attributes

QUuid * m_id
 A unique ID for this object (useful for others to reference this object when saving to disk).
 
QString m_instrumentId
 The spacecraft instrument id for this observation.
 
QSet< QString > m_observationNumbers
 Associated observation numbers for these settings.
 
CSMSolveOption m_csmSolveOption
 How the CSM solution is specified.
 
csm::param::Set m_csmSolveSet
 The CSM parameter set to solve for.
 
csm::param::Type m_csmSolveType
 The CSM parameter type to solve for.
 
QStringList m_csmSolveList
 The names of the CSM parameters to solve for.
 
InstrumentPointingSolveOption m_instrumentPointingSolveOption
 Option for how to solve for instrument pointing.
 
int m_numberCamAngleCoefSolved
 The number of camera angle coefficients in solution.
 
int m_ckDegree
 Degree of the polynomial fit to the original camera angles.
 
int m_ckSolveDegree
 Degree of the camera angles polynomial being fit to in the bundle adjustment.
 
bool m_solveTwist
 Solve for "twist" angle.
 
bool m_solvePointingPolynomialOverExisting
 The polynomial will be fit over the existing pointing polynomial.
 
QList< double > m_anglesAprioriSigma
 The image position a priori sigmas.The size of the list is equal to the number of coefficients in the solution.
 
SpiceRotation::Source m_pointingInterpolationType
 SpiceRotation interpolation type.
 
InstrumentPositionSolveOption m_instrumentPositionSolveOption
 Option for how to solve for instrument position.
 
int m_numberCamPosCoefSolved
 The number of camera position coefficients in the solution.
 
int m_spkDegree
 Degree of the polynomial fit to the original camera position.
 
int m_spkSolveDegree
 Degree of the camera position polynomial being fit to in the bundle adjustment.
 
bool m_solvePositionOverHermiteSpline
 The polynomial will be fit over an existing Hermite spline.
 
QList< double > m_positionAprioriSigma
 The instrument pointing a priori sigmas.
 
SpicePosition::Source m_positionInterpolationType
 SpicePosition interpolation types.
 

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
History

2014-07-09 Ken Edmundson - Original version.

2014-07-23 Jeannie Backer - Replace QVectors with QLists. Moved copy constructor above destructor. Moved operator= implementation to cpp file. Added methods to set/get instrument Id. Created setInstrumentPointingSettings() and setInstrumentPositionSettings() methods to check for variable dependencies before setting. Reordered so that all position methods were together and all pointing methods were together. Updated documentation. Added QDataStream >> and << operators and read/write methods. Added unitTest for BundleUtilities BundleObservationSolveSettings class.

2014-07-25 Jeannie Backer - For enums < 4, set solve degrees one less than enum value.

2014-12-02 Jeannie Backer - Undo last modification. While it makes sense, it was causing jigsaw to fail. Brought test coverage of this class to 99.403% scope.

2016-08-03 Jesse Mapel - Added BundleObservationSolveSettingsQsp definition. Fixes #4150.

2016-08-03 Ian Humphrey - Updated documentation and reviewed coding standards. Fixes #4078.

2016-08-18 Jesse Mapel - Changed to no longer inherit from QObject. Fixes #4192.

2016-10-13 Ian Humphrey - Added m_observationNumbers, addObservationNumber(), and observationNumbers() members to associate multiple observation types with these settings. Removed the setFromPvl() method. When re- implemented, it should be put in jigsaw. References #4293.

2017-04-24 Ian Humphrey - Removed pvlObject(). Fixes #4797.

2018-06-21 Ian Humphrey - Added removeObservationNumber() to be able to remove an observation number from a BundleObservationSolveSettings. References #497.

2018-06-26 Tyler Wilson - Added support for adding an arbitrary number of additional apriori sigma values in setInstrumentPositionSettings/ setInstrumentPointingSettings beyond position/velocity/acceleration. References #497.

2019-12-19 Aaron Giroux - Added new constructor to construct a BOSS from a PVLGroup. References #3369.

Todo

Figure out why solve degree and num coefficients does not match solve option.

Determine whether xml stuff needs a Project pointer.

Determine which XmlStackedHandlerReader constructor is preferred.

Definition at line 82 of file BundleObservationSolveSettings.h.

Member Enumeration Documentation

◆ CSMSolveOption

Options for how to solve for CSM parameters.

Enumerator
NoCSMParameters 

Do not solve for CSM parameters.

Set 

Solve for all CSM parameters belonging to a specific set.

Type 

Solve for all CSM parameters of a specific type.

List 

Solve for an explicit list of CSM parameters.

Definition at line 104 of file BundleObservationSolveSettings.h.

◆ 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.

Definition at line 126 of file BundleObservationSolveSettings.h.

◆ 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.

Definition at line 160 of file BundleObservationSolveSettings.h.

Constructor & Destructor Documentation

◆ BundleObservationSolveSettings() [1/4]

Isis::BundleObservationSolveSettings::BundleObservationSolveSettings ( )

Constructor with default parameter initializations.

Definition at line 37 of file BundleObservationSolveSettings.cpp.

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.

Definition at line 49 of file BundleObservationSolveSettings.cpp.

References initialize().

◆ BundleObservationSolveSettings() [3/4]

◆ BundleObservationSolveSettings() [4/4]

Isis::BundleObservationSolveSettings::BundleObservationSolveSettings ( const PvlGroup & scParameterGroup)

Definition at line 58 of file BundleObservationSolveSettings.cpp.

◆ ~BundleObservationSolveSettings()

Isis::BundleObservationSolveSettings::~BundleObservationSolveSettings ( )

Destructor.

Definition at line 298 of file BundleObservationSolveSettings.cpp.

References m_id.

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.

Definition at line 429 of file BundleObservationSolveSettings.cpp.

References m_observationNumbers.

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

◆ 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

Definition at line 945 of file BundleObservationSolveSettings.cpp.

References m_anglesAprioriSigma.

◆ 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

Definition at line 1185 of file BundleObservationSolveSettings.cpp.

References m_positionAprioriSigma.

◆ 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

Definition at line 903 of file BundleObservationSolveSettings.cpp.

References m_ckDegree.

Referenced by setInstrumentPointingSettings(), and Isis::BundleObservationSolveSettings::XmlHandler::startElement().

◆ 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

Definition at line 914 of file BundleObservationSolveSettings.cpp.

References m_ckSolveDegree.

Referenced by setInstrumentPointingSettings(), and Isis::BundleObservationSolveSettings::XmlHandler::startElement().

◆ csmParameterList()

QStringList Isis::BundleObservationSolveSettings::csmParameterList ( ) const

Get the list of CSM parameters to solve for.

Returns
QStringList The names of the CSM parameters to solve for

Definition at line 695 of file BundleObservationSolveSettings.cpp.

References m_csmSolveList.

◆ csmParameterSet()

csm::param::Set Isis::BundleObservationSolveSettings::csmParameterSet ( ) const

Get the set of CSM parameters to solve for.

Returns
csm::param::Set The CSM parameter set to solve for

Definition at line 675 of file BundleObservationSolveSettings.cpp.

References m_csmSolveSet.

◆ csmParameterType()

csm::param::Type Isis::BundleObservationSolveSettings::csmParameterType ( ) const

Get the type of CSM parameters to solve for.

Returns
csm::param::Type The CSM parameter type to solve for

Definition at line 685 of file BundleObservationSolveSettings.cpp.

References m_csmSolveType.

◆ csmSolveOption()

BundleObservationSolveSettings::CSMSolveOption Isis::BundleObservationSolveSettings::csmSolveOption ( ) const

Get how the CSM parameters to solve for are specified for this observation.

Returns
CSMSolveOption

Definition at line 665 of file BundleObservationSolveSettings.cpp.

References m_csmSolveOption.

◆ csmSolveOptionToString()

QString Isis::BundleObservationSolveSettings::csmSolveOptionToString ( CSMSolveOption option)
static

Convert a CSM solve option enumeration value to a string.

Parameters
optionThe option's enumeration value
Returns
QString The option as a string

Definition at line 498 of file BundleObservationSolveSettings.cpp.

References List, NoCSMParameters, Isis::IException::Programmer, Set, Isis::toString(), and Type.

◆ csmSolveSetToString()

QString Isis::BundleObservationSolveSettings::csmSolveSetToString ( csm::param::Set set)
static

Convert a CSM parameter set enumeration value to a string.

Parameters
setThe set's enumeration value
Returns
QString The set's name

Definition at line 551 of file BundleObservationSolveSettings.cpp.

References Isis::IException::Programmer, and Isis::toString().

◆ csmSolveTypeToString()

QString Isis::BundleObservationSolveSettings::csmSolveTypeToString ( csm::param::Type type)
static

Convert a CSM parameter type enumeration value to a string.

Parameters
typeThe type's enumeration value
Returns
QString The type's name

Definition at line 604 of file BundleObservationSolveSettings.cpp.

References Isis::IException::Programmer, and Isis::toString().

◆ initialize()

◆ instrumentId()

QString Isis::BundleObservationSolveSettings::instrumentId ( ) const

Accesses the instrument id for this observation.

Returns
QString Returns the instrument id for this observation

Definition at line 417 of file BundleObservationSolveSettings.cpp.

References m_instrumentId.

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

Definition at line 883 of file BundleObservationSolveSettings.cpp.

References m_instrumentPointingSolveOption.

◆ 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

Definition at line 765 of file BundleObservationSolveSettings.cpp.

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

Referenced by Isis::IsisBundleObservation::applyParameterCorrections(), and save().

◆ instrumentPositionSolveOption()

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

Accesses the instrument position solve option.

Returns
BundleObservationSolveSettings::InstrumentPositionSolveOption Returns the instrument position solve option

Definition at line 1133 of file BundleObservationSolveSettings.cpp.

References m_instrumentPositionSolveOption.

◆ 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

Definition at line 1025 of file BundleObservationSolveSettings.cpp.

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

Referenced by Isis::IsisBundleObservation::applyParameterCorrections(), and 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

Definition at line 924 of file BundleObservationSolveSettings.cpp.

References m_numberCamAngleCoefSolved.

◆ 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.

Definition at line 1164 of file BundleObservationSolveSettings.cpp.

References m_numberCamPosCoefSolved.

◆ 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.

Definition at line 452 of file BundleObservationSolveSettings.cpp.

References m_observationNumbers.

◆ operator=()

◆ 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

Definition at line 955 of file BundleObservationSolveSettings.cpp.

References m_pointingInterpolationType.

◆ 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

Definition at line 1195 of file BundleObservationSolveSettings.cpp.

References m_positionInterpolationType.

◆ 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.

Definition at line 442 of file BundleObservationSolveSettings.cpp.

References m_observationNumbers.

◆ save()

◆ setCSMSolveParameterList()

void Isis::BundleObservationSolveSettings::setCSMSolveParameterList ( QStringList list)

Set an explicit list of CSM parameters to solve for.

Parameters
listThe names of the parameters to solve for

Definition at line 653 of file BundleObservationSolveSettings.cpp.

References List, m_csmSolveList, and m_csmSolveOption.

◆ setCSMSolveSet()

void Isis::BundleObservationSolveSettings::setCSMSolveSet ( csm::param::Set set)

Set the set of CSM parameters to solve for.

See the CSM API documentation for what the different set values mean.

Parameters
setThe set to solve for

Definition at line 631 of file BundleObservationSolveSettings.cpp.

References m_csmSolveOption, m_csmSolveSet, and Set.

◆ setCSMSolveType()

void Isis::BundleObservationSolveSettings::setCSMSolveType ( csm::param::Type type)

Set the type of CSM parameters to solve for.

Parameters
typeThe parameter type to solve for

Definition at line 642 of file BundleObservationSolveSettings.cpp.

References m_csmSolveOption, m_csmSolveType, and Type.

◆ setInstrumentId()

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

Sets the instrument id for this observation.

Parameters
instrumentIdQString instrument id

Definition at line 407 of file BundleObservationSolveSettings.cpp.

References instrumentId(), and m_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

Definition at line 791 of file BundleObservationSolveSettings.cpp.

References AllPointingCoefficients, ckDegree(), ckSolveDegree(), m_anglesAprioriSigma, m_ckDegree, m_ckSolveDegree, m_instrumentPointingSolveOption, m_numberCamAngleCoefSolved, m_pointingInterpolationType, m_solvePointingPolynomialOverExisting, m_solveTwist, Isis::Null, Isis::SpiceRotation::PolyFunction, Isis::SpiceRotation::PolyFunctionOverSpice, and solveTwist().

Referenced by initialize().

◆ 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

Definition at line 1050 of file BundleObservationSolveSettings.cpp.

References AllPositionCoefficients, m_instrumentPositionSolveOption, m_numberCamPosCoefSolved, m_positionAprioriSigma, m_positionInterpolationType, m_solvePositionOverHermiteSpline, m_spkDegree, m_spkSolveDegree, 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

Definition at line 935 of file BundleObservationSolveSettings.cpp.

References m_solvePointingPolynomialOverExisting.

◆ 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

Definition at line 1175 of file BundleObservationSolveSettings.cpp.

References m_solvePositionOverHermiteSpline.

◆ solveTwist()

bool Isis::BundleObservationSolveSettings::solveTwist ( ) const

Accesses the flag for solving for twist.

Returns
bool Returns whether or not to solve for twist

Definition at line 893 of file BundleObservationSolveSettings.cpp.

References m_solveTwist.

Referenced by setInstrumentPointingSettings(), and Isis::BundleObservationSolveSettings::XmlHandler::startElement().

◆ 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.

Definition at line 1143 of file BundleObservationSolveSettings.cpp.

References m_spkDegree.

Referenced by setInstrumentPositionSettings(), and Isis::BundleObservationSolveSettings::XmlHandler::startElement().

◆ 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.

Definition at line 1154 of file BundleObservationSolveSettings.cpp.

References m_spkSolveDegree.

Referenced by setInstrumentPositionSettings(), and Isis::BundleObservationSolveSettings::XmlHandler::startElement().

◆ stringToCSMSolveOption()

BundleObservationSolveSettings::CSMSolveOption Isis::BundleObservationSolveSettings::stringToCSMSolveOption ( QString option)
static

Convert a string to a CSM solve option enumeration value.

Parameters
optionThe option as a string
Returns
CSMSolveOption The option's enumeration value

Definition at line 470 of file BundleObservationSolveSettings.cpp.

References List, NoCSMParameters, Set, Type, and Isis::IException::Unknown.

◆ stringToCSMSolveSet()

csm::param::Set Isis::BundleObservationSolveSettings::stringToCSMSolveSet ( QString set)
static

Convert a string to its CSM parameter set enumeration value.

Parameters
setThe set name
Returns
csm::param::Set The set's enumeration value

Definition at line 526 of file BundleObservationSolveSettings.cpp.

References Isis::IException::Unknown.

◆ stringToCSMSolveType()

csm::param::Type Isis::BundleObservationSolveSettings::stringToCSMSolveType ( QString type)
static

Convert a string to its CSM parameter type enumeration value.

Parameters
typeThe type name
Returns
csm::param::Type The types's enumeration value

Definition at line 576 of file BundleObservationSolveSettings.cpp.

References Isis::IException::Unknown.

◆ 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

Definition at line 716 of file BundleObservationSolveSettings.cpp.

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

Referenced by Isis::BundleObservationSolveSettings::XmlHandler::startElement().

◆ 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

Definition at line 976 of file BundleObservationSolveSettings.cpp.

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

Referenced by Isis::BundleObservationSolveSettings::XmlHandler::startElement().

Member Data Documentation

◆ m_anglesAprioriSigma

QList<double> Isis::BundleObservationSolveSettings::m_anglesAprioriSigma
private

The image position a priori sigmas.The size of the list is equal to the number of coefficients in the solution.

An Isis::Null value implies no weighting will be applied.

Definition at line 250 of file BundleObservationSolveSettings.h.

Referenced by aprioriPointingSigmas(), BundleObservationSolveSettings(), operator=(), save(), and setInstrumentPointingSettings().

◆ m_ckDegree

int Isis::BundleObservationSolveSettings::m_ckDegree
private

Degree of the polynomial fit to the original camera angles.

Definition at line 243 of file BundleObservationSolveSettings.h.

Referenced by BundleObservationSolveSettings(), ckDegree(), operator=(), save(), and setInstrumentPointingSettings().

◆ m_ckSolveDegree

int Isis::BundleObservationSolveSettings::m_ckSolveDegree
private

Degree of the camera angles polynomial being fit to in the bundle adjustment.

Definition at line 245 of file BundleObservationSolveSettings.h.

Referenced by BundleObservationSolveSettings(), ckSolveDegree(), operator=(), save(), and setInstrumentPointingSettings().

◆ m_csmSolveList

QStringList Isis::BundleObservationSolveSettings::m_csmSolveList
private

The names of the CSM parameters to solve for.

Only valid if the solve option is List.

Definition at line 235 of file BundleObservationSolveSettings.h.

Referenced by BundleObservationSolveSettings(), csmParameterList(), initialize(), operator=(), and setCSMSolveParameterList().

◆ m_csmSolveOption

CSMSolveOption Isis::BundleObservationSolveSettings::m_csmSolveOption
private

◆ m_csmSolveSet

csm::param::Set Isis::BundleObservationSolveSettings::m_csmSolveSet
private

The CSM parameter set to solve for.

Only valid if the solve option is Set.

Definition at line 231 of file BundleObservationSolveSettings.h.

Referenced by BundleObservationSolveSettings(), csmParameterSet(), initialize(), operator=(), and setCSMSolveSet().

◆ m_csmSolveType

csm::param::Type Isis::BundleObservationSolveSettings::m_csmSolveType
private

The CSM parameter type to solve for.

Only valid if the solve option is Type.

Definition at line 233 of file BundleObservationSolveSettings.h.

Referenced by BundleObservationSolveSettings(), csmParameterType(), initialize(), operator=(), and setCSMSolveType().

◆ m_id

QUuid* Isis::BundleObservationSolveSettings::m_id
private

A unique ID for this object (useful for others to reference this object when saving to disk).

Definition at line 225 of file BundleObservationSolveSettings.h.

Referenced by BundleObservationSolveSettings(), initialize(), operator=(), save(), and ~BundleObservationSolveSettings().

◆ m_instrumentId

QString Isis::BundleObservationSolveSettings::m_instrumentId
private

The spacecraft instrument id for this observation.

Definition at line 226 of file BundleObservationSolveSettings.h.

Referenced by BundleObservationSolveSettings(), initialize(), instrumentId(), operator=(), and setInstrumentId().

◆ m_instrumentPointingSolveOption

InstrumentPointingSolveOption Isis::BundleObservationSolveSettings::m_instrumentPointingSolveOption
private

Option for how to solve for instrument pointing.

Definition at line 240 of file BundleObservationSolveSettings.h.

Referenced by BundleObservationSolveSettings(), instrumentPointingSolveOption(), operator=(), save(), and setInstrumentPointingSettings().

◆ m_instrumentPositionSolveOption

InstrumentPositionSolveOption Isis::BundleObservationSolveSettings::m_instrumentPositionSolveOption
private

Option for how to solve for instrument position.

Definition at line 266 of file BundleObservationSolveSettings.h.

Referenced by BundleObservationSolveSettings(), instrumentPositionSolveOption(), operator=(), save(), and setInstrumentPositionSettings().

◆ m_numberCamAngleCoefSolved

int Isis::BundleObservationSolveSettings::m_numberCamAngleCoefSolved
private

The number of camera angle coefficients in solution.

Definition at line 241 of file BundleObservationSolveSettings.h.

Referenced by BundleObservationSolveSettings(), numberCameraAngleCoefficientsSolved(), operator=(), save(), and setInstrumentPointingSettings().

◆ m_numberCamPosCoefSolved

int Isis::BundleObservationSolveSettings::m_numberCamPosCoefSolved
private

The number of camera position coefficients in the solution.

Definition at line 267 of file BundleObservationSolveSettings.h.

Referenced by BundleObservationSolveSettings(), numberCameraPositionCoefficientsSolved(), operator=(), save(), and setInstrumentPositionSettings().

◆ m_observationNumbers

QSet<QString> Isis::BundleObservationSolveSettings::m_observationNumbers
private

Associated observation numbers for these settings.

Definition at line 227 of file BundleObservationSolveSettings.h.

Referenced by addObservationNumber(), BundleObservationSolveSettings(), observationNumbers(), operator=(), and removeObservationNumber().

◆ m_pointingInterpolationType

SpiceRotation::Source Isis::BundleObservationSolveSettings::m_pointingInterpolationType
private

SpiceRotation interpolation type.

Defined in SpiceRotation.cpp, these types are: 1) Spice: directly from kernels, 2) Nadir: Nadir pointing, 3) Memcache: from cached table, 4) PolyFunction: from nth degree polynomial, 5) PolyFunctionOverSpice: kernels plus nth degree polynomial.

Definition at line 255 of file BundleObservationSolveSettings.h.

Referenced by BundleObservationSolveSettings(), operator=(), pointingInterpolationType(), save(), and setInstrumentPointingSettings().

◆ m_positionAprioriSigma

QList<double> Isis::BundleObservationSolveSettings::m_positionAprioriSigma
private

The instrument pointing a priori sigmas.

The size of the list is equal to the number of coefficients in the solution. An Isis:Null value implies no weighting will be applied.

Definition at line 275 of file BundleObservationSolveSettings.h.

Referenced by aprioriPositionSigmas(), BundleObservationSolveSettings(), operator=(), save(), and setInstrumentPositionSettings().

◆ m_positionInterpolationType

SpicePosition::Source Isis::BundleObservationSolveSettings::m_positionInterpolationType
private

SpicePosition interpolation types.

Defined in SpicePosition.cpp, these types are: 1) Spice: read directly from kernels, 2) Memcache: read from cached table, 3) HermiteCache: read from splined table, 4) PolyFunction: calced from nth degree polynomial, 5) PolyFunctionOverHermiteConstant: read from splined table and adding nth degree polynomial.

Definition at line 280 of file BundleObservationSolveSettings.h.

Referenced by BundleObservationSolveSettings(), operator=(), positionInterpolationType(), save(), and setInstrumentPositionSettings().

◆ m_solvePointingPolynomialOverExisting

bool Isis::BundleObservationSolveSettings::m_solvePointingPolynomialOverExisting
private

The polynomial will be fit over the existing pointing polynomial.

Definition at line 248 of file BundleObservationSolveSettings.h.

Referenced by BundleObservationSolveSettings(), operator=(), save(), setInstrumentPointingSettings(), and solvePolyOverPointing().

◆ m_solvePositionOverHermiteSpline

bool Isis::BundleObservationSolveSettings::m_solvePositionOverHermiteSpline
private

The polynomial will be fit over an existing Hermite spline.

Definition at line 273 of file BundleObservationSolveSettings.h.

Referenced by BundleObservationSolveSettings(), operator=(), save(), setInstrumentPositionSettings(), and solvePositionOverHermite().

◆ m_solveTwist

bool Isis::BundleObservationSolveSettings::m_solveTwist
private

◆ m_spkDegree

int Isis::BundleObservationSolveSettings::m_spkDegree
private

Degree of the polynomial fit to the original camera position.

Definition at line 269 of file BundleObservationSolveSettings.h.

Referenced by BundleObservationSolveSettings(), operator=(), save(), setInstrumentPositionSettings(), and spkDegree().

◆ m_spkSolveDegree

int Isis::BundleObservationSolveSettings::m_spkSolveDegree
private

Degree of the camera position polynomial being fit to in the bundle adjustment.

Definition at line 271 of file BundleObservationSolveSettings.h.

Referenced by BundleObservationSolveSettings(), operator=(), save(), setInstrumentPositionSettings(), and spkSolveDegree().


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