1 #ifndef BundleObservationSolveSettings_h 2 #define BundleObservationSolveSettings_h 32 #include "XmlStackedHandler.h" 36 class QXmlStreamWriter;
42 class XmlStackedHandlerReader;
131 bool solvePolynomialOverExisting =
false,
132 double anglesAprioriSigma = -1.0,
133 double angularVelocityAprioriSigma = -1.0,
134 double angularAccelerationAprioriSigma = -1.0,
163 bool positionOverHermite =
false,
164 double positionAprioriSigma = -1.0,
165 double velocityAprioriSigma = -1.0,
166 double accelerationAprioriSigma = -1.0,
177 void save(QXmlStreamWriter &stream,
const Project *project)
const;
194 virtual bool startElement(
const QString &namespaceURI,
const QString &localName,
195 const QString &qName,
const QXmlAttributes &atts);
197 virtual bool endElement(
const QString &namespaceURI,
const QString &localName,
198 const QString &qName);
205 QString m_xmlHandlerCharacters;
275 #endif // BundleObservationSolveSettings_h
static InstrumentPointingSolveOption stringToInstrumentPointingSolveOption(QString option)
Translates a QString InstrumentPointingSolveOption to its enumerated value.
The main project for ipce.
int m_ckSolveDegree
Degree of the camera angles polynomial being fit to in the bundle adjustment.
File name manipulation and expansion.
QSet< QString > observationNumbers() const
Returns a list of observation numbers associated with these solve settings.
int numberCameraPositionCoefficientsSolved() const
Accesses the number of camera position coefficients in the solution.
InstrumentPositionSolveOption instrumentPositionSolveOption() const
Accesses the instrument position solve option.
QSharedPointer< BundleObservationSolveSettings > BundleObservationSolveSettingsQsp
Definition for BundleObservationSolveSettingsQsp, a QSharedPointer to a BundleObservationSolveSetting...
bool removeObservationNumber(QString observationNumber)
Removes an observation number from this solve settings.
Solve for instrument positions only.
bool m_solvePositionOverHermiteSpline
The polynomial will be fit over an existing Hermite spline.
XmlHandler(BundleObservationSolveSettings *settings, Project *project)
Constructs an XmlHandler for serialization.
bool solvePositionOverHermite() const
Whether or not the polynomial for solving will be fit over an existing Hermite spline.
SpicePosition::Source positionInterpolationType() const
Accesses the SpicePosition interpolation type for the spacecraft position.
void initialize()
Initializes the default state of this BundleObservationSolveSettings.
Solve for pointing angles, their velocities and their accelerations.
virtual bool characters(const QString &ch)
QString m_instrumentId
The spacecraft instrument id for this observation.
int m_spkSolveDegree
Degree of the camera position polynomial being fit to in the bundle adjustment.
int m_numberCamAngleCoefSolved
The number of camera angle coefficients in solution.
BundleObservationSolveSettings()
Constructor with default parameter initializations.
int ckDegree() const
Accesses the degree of polynomial fit to original camera angles (ckDegree).
InstrumentPointingSolveOption instrumentPointingSolveOption() const
Accesses the instrument pointing solve option.
QList< double > m_positionAprioriSigma
The instrument pointing a priori sigmas.
Solve for all coefficients in the polynomials fit to the instrument positions.
SpicePosition::Source m_positionInterpolationType
SpicePosition interpolation types.
int ckSolveDegree() const
Accesses the degree of the camera angles polynomial being fit to in the bundle adjustment (ckSolveDeg...
int spkSolveDegree() const
Accesses the degree of thecamera position polynomial being fit to in the bundle adjustment (spkSolveD...
void addObservationNumber(QString observationNumber)
Associates an observation number with these solve settings.
virtual bool startElement(const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &atts)
Solve for instrument positions and velocities.
bool m_solvePointingPolynomialOverExisting
The polynomial will be fit over the existing pointing polynomial.
void save(QXmlStreamWriter &stream, const Project *project) const
Saves this BundleObservationSolveSettings to an xml stream.
static QString instrumentPointingSolveOptionToString(InstrumentPointingSolveOption option)
Tranlsates an enumerated InstrumentPointingSolveOption value to its string representation.
bool solvePolyOverPointing() const
Whether or not the solve polynomial will be fit over the existing pointing polynomial.
XML Handler that parses XMLs in a stack-oriented way.
Source
The rotation can come from one of 3 places for an Isis cube.
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.
void setInstrumentId(QString instrumentId)
Sets the instrument id for this observation.
InstrumentPositionSolveOption m_instrumentPositionSolveOption
Option for how to solve for instrument position.
QList< double > aprioriPositionSigmas() const
Accesses the a priori position sigmas.
This class is used to modify and manage solve settings for 1 to many BundleObservations.
Solve for instrument positions, velocities, and accelerations.
QList< double > m_anglesAprioriSigma
The image position a priori sigmas.The size of the list is equal to the number of coefficients in the...
Solve for pointing angles and their angular velocities.
int m_spkDegree
Degree of the polynomial fit to the original camera position.
virtual bool endElement(const QString &namespaceURI, const QString &localName, const QString &qName)
bool m_solveTwist
Solve for "twist" angle.
Solve for none of the position factors.
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 m_instrumentPointingSolveOption
Option for how to solve for instrument pointing.
~BundleObservationSolveSettings()
Destructor.
int m_numberCamPosCoefSolved
The number of camera position coefficients in the solution.
int numberCameraAngleCoefficientsSolved() const
Accesses the number of camera angle coefficients in the solution.
InstrumentPositionSolveOption
Options for how to solve for instrument position.
static InstrumentPositionSolveOption stringToInstrumentPositionSolveOption(QString option)
Translates a QString InstrumentPositionSolveOption to its enumerated value.
Namespace for ISIS/Bullet specific routines.
~XmlHandler()
XmlHandler destructor.
Solve for all coefficients in the polynomials fit to the pointing angles.
InstrumentPointingSolveOption
Options for how to solve for instrument pointing.
QString instrumentId() const
Accesses the instrument id for this observation.
SpiceRotation::Source m_pointingInterpolationType
SpiceRotation interpolation type.
Solve for none of the pointing factors.
QSet< QString > m_observationNumbers
Associated observation numbers for these settings.
static QString instrumentPositionSolveOptionToString(InstrumentPositionSolveOption option)
Translates an enumerated InstrumentPositionSolveOption to its string representation.
int m_ckDegree
Degree of the polynomial fit to the original camera angles.
SpiceRotation::Source pointingInterpolationType() const
Accesses the SpiceRotation interpolation type for the instrument pointing.
Manage a stack of content handlers for reading XML files.
int spkDegree() const
Accesses the degree of the polynomial fit to the original camera position (spkDegree).
Solve for pointing angles: right ascension, declination and, optionally, twist.
bool solveTwist() const
Accesses the flag for solving for twist.
QUuid * m_id
A unique ID for this object (useful for others to reference this object when saving to disk)...
QList< double > aprioriPointingSigmas() const
Accesses the a priori pointing sigmas.
Source
This enum indicates the status of the object.
BundleObservationSolveSettings & operator=(const BundleObservationSolveSettings &src)
Assigns the state of another BundleObservationSolveSettings to this one.