Isis Developer Reference
|
This class is used to modify and manage solve settings for 1 to many BundleObservations. More...
#include <BundleObservationSolveSettings.h>
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. | |
BundleObservationSolveSettings & | operator= (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. | |
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.
Options for how to solve for instrument pointing.
Options for how to solve for instrument position.
Isis::BundleObservationSolveSettings::BundleObservationSolveSettings | ( | ) |
Constructor with default parameter initializations.
References initialize().
Isis::BundleObservationSolveSettings::BundleObservationSolveSettings | ( | Project * | project, |
XmlStackedHandlerReader * | xmlReader ) |
Construct this BundleObservationSolveSettings object from XML.
bundleSettingsFolder | Where this settings XML resides - /work/.../projectRoot/images/import1 |
xmlReader | An XML reader that's up to an <bundleSettings> tag. |
References initialize().
Isis::BundleObservationSolveSettings::BundleObservationSolveSettings | ( | FileName | xmlFile, |
Project * | project, | ||
XmlStackedHandlerReader * | xmlReader ) |
Isis::BundleObservationSolveSettings::BundleObservationSolveSettings | ( | const BundleObservationSolveSettings & | other | ) |
Constructs a BundleObservationSolveSettings from another one.
other | The BundleObservationSolveSettings to copy |
Isis::BundleObservationSolveSettings::BundleObservationSolveSettings | ( | const PvlGroup & | scParameterGroup | ) |
References _FILEINFO_, AllPointingCoefficients, AllPositionCoefficients, AnglesOnly, AnglesVelocity, AnglesVelocityAcceleration, initialize(), NoPointingFactors, NoPositionFactors, Isis::Null, Isis::SpicePosition::PolyFunction, Isis::SpiceRotation::PolyFunction, Isis::SpicePosition::PolyFunctionOverHermiteConstant, Isis::SpiceRotation::PolyFunctionOverSpice, PositionOnly, PositionVelocity, PositionVelocityAcceleration, setCSMSolveParameterList(), setCSMSolveSet(), setCSMSolveType(), stringToCSMSolveSet(), stringToCSMSolveType(), Isis::toDouble(), and Isis::IException::User.
Isis::BundleObservationSolveSettings::~BundleObservationSolveSettings | ( | ) |
Destructor.
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.
observationNumber | QString observation number to associate with these settings. |
QList< double > Isis::BundleObservationSolveSettings::aprioriPointingSigmas | ( | ) | const |
Accesses the a priori pointing sigmas.
QList< double > Isis::BundleObservationSolveSettings::aprioriPositionSigmas | ( | ) | const |
Accesses the a priori position sigmas.
int Isis::BundleObservationSolveSettings::ckDegree | ( | ) | const |
Accesses the degree of polynomial fit to original camera angles (ckDegree).
Referenced by setInstrumentPointingSettings().
int Isis::BundleObservationSolveSettings::ckSolveDegree | ( | ) | const |
Accesses the degree of the camera angles polynomial being fit to in the bundle adjustment (ckSolveDegree).
Referenced by setInstrumentPointingSettings().
QStringList Isis::BundleObservationSolveSettings::csmParameterList | ( | ) | const |
Get the list of CSM parameters to solve for.
csm::param::Set Isis::BundleObservationSolveSettings::csmParameterSet | ( | ) | const |
Get the set of CSM parameters to solve for.
csm::param::Type Isis::BundleObservationSolveSettings::csmParameterType | ( | ) | const |
Get the type of CSM parameters to solve for.
BundleObservationSolveSettings::CSMSolveOption Isis::BundleObservationSolveSettings::csmSolveOption | ( | ) | const |
Get how the CSM parameters to solve for are specified for this observation.
|
static |
Convert a CSM solve option enumeration value to a string.
option | The option's enumeration value |
References _FILEINFO_, List, NoCSMParameters, Isis::IException::Programmer, Set, Isis::toString(), and Type.
|
static |
Convert a CSM parameter set enumeration value to a string.
set | The set's enumeration value |
References _FILEINFO_, Isis::IException::Programmer, and Isis::toString().
|
static |
Convert a CSM parameter type enumeration value to a string.
type | The type's enumeration value |
References _FILEINFO_, Isis::IException::Programmer, and Isis::toString().
void Isis::BundleObservationSolveSettings::initialize | ( | ) |
Initializes the default state of this BundleObservationSolveSettings.
References AnglesOnly, NoCSMParameters, NoPositionFactors, setInstrumentPointingSettings(), and setInstrumentPositionSettings().
Referenced by BundleObservationSolveSettings(), BundleObservationSolveSettings(), and BundleObservationSolveSettings().
QString Isis::BundleObservationSolveSettings::instrumentId | ( | ) | const |
Accesses the instrument id for this observation.
Referenced by save(), and setInstrumentId().
BundleObservationSolveSettings::InstrumentPointingSolveOption Isis::BundleObservationSolveSettings::instrumentPointingSolveOption | ( | ) | const |
Accesses the instrument pointing solve option.
|
static |
Tranlsates an enumerated InstrumentPointingSolveOption value to its string representation.
option | Enumerated InstrumentPointingSolveOption value |
IException::Programmer | "Unknown pointing solve option enum." |
References _FILEINFO_, AllPointingCoefficients, AnglesOnly, AnglesVelocity, AnglesVelocityAcceleration, NoPointingFactors, Isis::IException::Programmer, and Isis::toString().
Referenced by Isis::IsisBundleObservation::applyParameterCorrections(), and save().
BundleObservationSolveSettings::InstrumentPositionSolveOption Isis::BundleObservationSolveSettings::instrumentPositionSolveOption | ( | ) | const |
Accesses the instrument position solve option.
|
static |
Translates an enumerated InstrumentPositionSolveOption to its string representation.
option | Enumerated InstrumentPositionSolveOption value |
IException::Programmer | "Unknown position solve option enum." |
References _FILEINFO_, AllPositionCoefficients, NoPositionFactors, PositionOnly, PositionVelocity, PositionVelocityAcceleration, Isis::IException::Programmer, and Isis::toString().
Referenced by Isis::IsisBundleObservation::applyParameterCorrections(), and save().
int Isis::BundleObservationSolveSettings::numberCameraAngleCoefficientsSolved | ( | ) | const |
Accesses the number of camera angle coefficients in the solution.
int Isis::BundleObservationSolveSettings::numberCameraPositionCoefficientsSolved | ( | ) | const |
Accesses the number of camera position coefficients in the solution.
QSet< QString > Isis::BundleObservationSolveSettings::observationNumbers | ( | ) | const |
Returns a list of observation numbers associated with these solve settings.
BundleObservationSolveSettings & Isis::BundleObservationSolveSettings::operator= | ( | const BundleObservationSolveSettings & | other | ) |
Assigns the state of another BundleObservationSolveSettings to this one.
other | The other BundleObservationSolveSettings to assign state from |
SpiceRotation::Source Isis::BundleObservationSolveSettings::pointingInterpolationType | ( | ) | const |
Accesses the SpiceRotation interpolation type for the instrument pointing.
SpicePosition::Source Isis::BundleObservationSolveSettings::positionInterpolationType | ( | ) | const |
Accesses the SpicePosition interpolation type for the spacecraft position.
bool Isis::BundleObservationSolveSettings::removeObservationNumber | ( | QString | observationNumber | ) |
Removes an observation number from this solve settings.
The observation is no longer associated with this solve settings.
QString | observationNumber The observation number to remove from this solve settings. |
void Isis::BundleObservationSolveSettings::save | ( | QXmlStreamWriter & | stream, |
const Project * | project ) const |
Saves this BundleObservationSolveSettings to an xml stream.
stream | A QXmlStreamWriter to write to |
project | Pointer to the current project |
References instrumentId(), instrumentPointingSolveOptionToString(), instrumentPositionSolveOptionToString(), Isis::IsSpecial(), and Isis::toString().
void Isis::BundleObservationSolveSettings::setCSMSolveParameterList | ( | QStringList | list | ) |
Set an explicit list of CSM parameters to solve for.
list | The names of the parameters to solve for |
References List.
Referenced by BundleObservationSolveSettings().
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.
set | The set to solve for |
References Set.
Referenced by BundleObservationSolveSettings().
void Isis::BundleObservationSolveSettings::setCSMSolveType | ( | csm::param::Type | type | ) |
Set the type of CSM parameters to solve for.
type | The parameter type to solve for |
References Type.
Referenced by BundleObservationSolveSettings().
void Isis::BundleObservationSolveSettings::setInstrumentId | ( | QString | instrumentId | ) |
Sets the instrument id for this observation.
instrumentId | QString instrument id |
References instrumentId().
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.
option | Option for how to solve for instrument pointing |
solveTwist | Whether or not to solve for twist |
ckDegree | |
ckSolveDegree | |
solvePolynomialOverExisting | Indicates whether the polynomial will be fit over an existing pointing polynomial |
anglesAprioriSigma | A priori angle values |
angularVelocityAprioriSigma | A priori angular velocity |
angularAccelerationAprioriSigma | A priori angular acceleration |
References AllPointingCoefficients, ckDegree(), ckSolveDegree(), Isis::Null, Isis::SpiceRotation::PolyFunction, Isis::SpiceRotation::PolyFunctionOverSpice, and solveTwist().
Referenced by initialize(), and Isis::JigsawSetupDialog::JigsawSetupDialog().
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.
option | Option for how to solve the instrument position |
spkDegree | |
spkSolveDegree | |
positionOverHermite | Whether or not the polynomial will be fit over an existing Hermite spline |
positionAprioriSigma | A priori position sigma |
velocityAprioriSigma | A priori velocity sigma |
accelerationAprioriSigma | A priori acceleration sigma |
References AllPositionCoefficients, Isis::Null, Isis::SpicePosition::PolyFunction, Isis::SpicePosition::PolyFunctionOverHermiteConstant, spkDegree(), and spkSolveDegree().
Referenced by initialize().
bool Isis::BundleObservationSolveSettings::solvePolyOverPointing | ( | ) | const |
Whether or not the solve polynomial will be fit over the existing pointing polynomial.
bool Isis::BundleObservationSolveSettings::solvePositionOverHermite | ( | ) | const |
Whether or not the polynomial for solving will be fit over an existing Hermite spline.
bool Isis::BundleObservationSolveSettings::solveTwist | ( | ) | const |
Accesses the flag for solving for twist.
Referenced by setInstrumentPointingSettings().
int Isis::BundleObservationSolveSettings::spkDegree | ( | ) | const |
Accesses the degree of the polynomial fit to the original camera position (spkDegree).
Referenced by setInstrumentPositionSettings().
int Isis::BundleObservationSolveSettings::spkSolveDegree | ( | ) | const |
Accesses the degree of thecamera position polynomial being fit to in the bundle adjustment (spkSolveDegree).
Referenced by setInstrumentPositionSettings().
|
static |
Convert a string to a CSM solve option enumeration value.
option | The option as a string |
References _FILEINFO_, List, NoCSMParameters, Set, Type, and Isis::IException::Unknown.
|
static |
Convert a string to its CSM parameter set enumeration value.
set | The set name |
References _FILEINFO_, and Isis::IException::Unknown.
Referenced by BundleObservationSolveSettings().
|
static |
Convert a string to its CSM parameter type enumeration value.
type | The type name |
References _FILEINFO_, and Isis::IException::Unknown.
Referenced by BundleObservationSolveSettings().
|
static |
Translates a QString InstrumentPointingSolveOption to its enumerated value.
option | QString representation of the instrument pointing solve option |
IException::Unknown | "Unknown bundle instrument point solve option." |
References _FILEINFO_, AllPointingCoefficients, AnglesOnly, AnglesVelocity, AnglesVelocityAcceleration, NoPointingFactors, and Isis::IException::Unknown.
|
static |
Translates a QString InstrumentPositionSolveOption to its enumerated value.
option | QString representation of an instrument position solve option |
IExeption::Unknown | "Unknown bundle instrument position solve option." |
References _FILEINFO_, AllPositionCoefficients, NoPositionFactors, PositionOnly, PositionVelocity, PositionVelocityAcceleration, and Isis::IException::Unknown.