1 #ifndef BundleObservationSolveSettings_h
2 #define BundleObservationSolveSettings_h
36 class QXmlStreamWriter;
42 class XmlStackedHandlerReader;
125 bool solvePolynomialOverExisting =
false,
126 double anglesAprioriSigma = -1.0,
127 double angularVelocityAprioriSigma = -1.0,
128 double angularAccelerationAprioriSigma = -1.0);
156 bool positionOverHermite =
false,
157 double positionAprioriSigma = -1.0,
158 double velocityAprioriSigma = -1.0,
159 double accelerationAprioriSigma = -1.0);
169 void save(QXmlStreamWriter &stream,
const Project *project)
const;
170 QDataStream &
write(QDataStream &stream)
const;
171 QDataStream &
read(QDataStream &stream);
187 virtual bool startElement(
const QString &namespaceURI,
const QString &localName,
188 const QString &qName,
const QXmlAttributes &atts);
189 virtual bool characters(
const QString &ch);
190 virtual bool endElement(
const QString &namespaceURI,
const QString &localName,
191 const QString &qName);
194 Q_DISABLE_COPY(XmlHandler);
198 QString m_xmlHandlerCharacters;
207 QString m_instrumentId;
213 int m_numberCamAngleCoefSolved;
220 bool m_solvePointingPolynomialOverExisting;
227 m_pointingInterpolationType;
239 int m_numberCamPosCoefSolved;
243 int m_spkSolveDegree;
245 bool m_solvePositionOverHermiteSpline;
252 m_positionInterpolationType;
272 #endif // BundleObservationSolveSettings_h
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)
Sets the instrument pointing settings.
Definition: BundleObservationSolveSettings.cpp:617
static InstrumentPointingSolveOption stringToInstrumentPointingSolveOption(QString option)
Translates a QString InstrumentPointingSolveOption to its enumerated value.
Definition: BundleObservationSolveSettings.cpp:293
The main project for cnetsuite.
Definition: Project.h:105
QList< double > aprioriPointingSigmas() const
Accesses the a priori pointing sigmas.
Definition: BundleObservationSolveSettings.cpp:512
int spkSolveDegree() const
Accesses the degree of thecamera position polynomial being fit to in the bundle adjustment (spkSolveD...
Definition: BundleObservationSolveSettings.cpp:715
File name manipulation and expansion.
Definition: FileName.h:111
void save(QXmlStreamWriter &stream, const Project *project) const
Saves this BundleObservationSolveSettings to an xml stream.
Definition: BundleObservationSolveSettings.cpp:866
QSharedPointer< BundleObservationSolveSettings > BundleObservationSolveSettingsQsp
Definition for BundleObservationSolveSettingsQsp, a QSharedPointer to a < BundleObservationSolveSet...
Definition: BundleObservationSolveSettings.h:265
QDataStream & read(QDataStream &stream)
Reads in the state of a BundleObservationSolveSettings from a stream.
Definition: BundleObservationSolveSettings.cpp:1162
int numberCameraAngleCoefficientsSolved() const
Accesses the number of camera angle coefficients in the solution.
Definition: BundleObservationSolveSettings.cpp:491
Solve for instrument positions only.
Definition: BundleObservationSolveSettings.h:143
InstrumentPositionSolveOption instrumentPositionSolveOption() const
Accesses the instrument position solve option.
Definition: BundleObservationSolveSettings.cpp:694
bool solvePositionOverHermite() const
Whether or not the polynomial for solving will be fit over an existing Hermite spline.
Definition: BundleObservationSolveSettings.cpp:736
void initialize()
Initializes the default state of this BundleObservationSolveSettings.
Definition: BundleObservationSolveSettings.cpp:198
int numberCameraPositionCoefficientsSolved() const
Accesses the number of camera position coefficients in the solution.
Definition: BundleObservationSolveSettings.cpp:725
Solve for pointing angles, their velocities and their accelerations.
Definition: BundleObservationSolveSettings.h:113
bool solveTwist() const
Accesses the flag for solving for twist.
Definition: BundleObservationSolveSettings.cpp:460
BundleObservationSolveSettings()
Constructor with default parameter initializations.
Definition: BundleObservationSolveSettings.cpp:34
Solve for all coefficients in the polynomials fit to the instrument positions.
Definition: BundleObservationSolveSettings.h:147
void addObservationNumber(QString observationNumber)
Associates an observation number with these solve settings.
Definition: BundleObservationSolveSettings.cpp:262
Solve for instrument positions and velocities.
Definition: BundleObservationSolveSettings.h:144
std::istream & operator>>(std::istream &is, CSVReader &csv)
Input read operator for input stream sources.
Definition: CSVReader.cpp:463
PvlObject pvlObject(QString name="") const
Serializes this BundleObservationSolveSettings into a PvlObject.
Definition: BundleObservationSolveSettings.cpp:773
static QString instrumentPointingSolveOptionToString(InstrumentPointingSolveOption option)
Tranlsates an enumerated InstrumentPointingSolveOption value to its string representation.
Definition: BundleObservationSolveSettings.cpp:342
SpiceRotation::Source pointingInterpolationType() const
Accesses the SpiceRotation interpolation type for the instrument pointing.
Definition: BundleObservationSolveSettings.cpp:522
XML Handler that parses XMLs in a stack-oriented way.
Definition: XmlStackedHandler.h:47
int ckSolveDegree() const
Accesses the degree of the camera angles polynomial being fit to in the bundle adjustment (ckSolveDeg...
Definition: BundleObservationSolveSettings.cpp:481
QDataStream & write(QDataStream &stream) const
Writes this BundleObservationSolveSettings to a stream.
Definition: BundleObservationSolveSettings.cpp:1132
InstrumentPointingSolveOption instrumentPointingSolveOption() const
Accesses the instrument pointing solve option.
Definition: BundleObservationSolveSettings.cpp:450
Source
The rotation can come from one of 3 places for an Isis cube.
Definition: SpiceRotation.h:249
void setInstrumentId(QString instrumentId)
Sets the instrument id for this observation.
Definition: BundleObservationSolveSettings.cpp:240
QList< double > aprioriPositionSigmas() const
Accesses the a priori position sigmas.
Definition: BundleObservationSolveSettings.cpp:746
This class is used to modify and manage solve settings for 1 to many BundleObservations.
Definition: BundleObservationSolveSettings.h:84
Solve for instrument positions, velocities, and accelerations.
Definition: BundleObservationSolveSettings.h:145
QSet< QString > observationNumbers() const
Returns a list of observation numbers associated with these solve settings.
Definition: BundleObservationSolveSettings.cpp:272
Solve for pointing angles and their angular velocities.
Definition: BundleObservationSolveSettings.h:112
Solve for none of the position factors.
Definition: BundleObservationSolveSettings.h:142
QString instrumentId() const
Accesses the instrument id for this observation.
Definition: BundleObservationSolveSettings.cpp:250
~BundleObservationSolveSettings()
Destructor.
Definition: BundleObservationSolveSettings.cpp:143
InstrumentPositionSolveOption
Options for how to solve for instrument position.
Definition: BundleObservationSolveSettings.h:141
static InstrumentPositionSolveOption stringToInstrumentPositionSolveOption(QString option)
Translates a QString InstrumentPositionSolveOption to its enumerated value.
Definition: BundleObservationSolveSettings.cpp:543
Solve for all coefficients in the polynomials fit to the pointing angles.
Definition: BundleObservationSolveSettings.h:115
InstrumentPointingSolveOption
Options for how to solve for instrument pointing.
Definition: BundleObservationSolveSettings.h:108
Solve for none of the pointing factors.
Definition: BundleObservationSolveSettings.h:109
SpicePosition::Source positionInterpolationType() const
Accesses the SpicePosition interpolation type for the spacecraft position.
Definition: BundleObservationSolveSettings.cpp:756
QDebug operator<<(QDebug debug, const Hillshade &hillshade)
Print this class out to a QDebug object.
Definition: Hillshade.cpp:308
static QString instrumentPositionSolveOptionToString(InstrumentPositionSolveOption option)
Translates an enumerated InstrumentPositionSolveOption to its string representation.
Definition: BundleObservationSolveSettings.cpp:592
Contains Pvl Groups and Pvl Objects.
Definition: PvlObject.h:74
bool solvePolyOverPointing() const
Whether or not the solve polynomial will be fit over the existing pointing polynomial.
Definition: BundleObservationSolveSettings.cpp:502
his enables stack-based XML parsing of XML files.
Definition: XmlStackedHandlerReader.h:26
Solve for pointing angles: right ascension, declination and, optionally, twist.
Definition: BundleObservationSolveSettings.h:110
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)
Sets the instrument pointing settings.
Definition: BundleObservationSolveSettings.cpp:368
int spkDegree() const
Accesses the degree of the polynomial fit to the original camera position (spkDegree).
Definition: BundleObservationSolveSettings.cpp:704
int ckDegree() const
Accesses the degree of polynomial fit to original camera angles (ckDegree).
Definition: BundleObservationSolveSettings.cpp:470
Source
This enum indicates the status of the object.
Definition: SpicePosition.h:187
BundleObservationSolveSettings & operator=(const BundleObservationSolveSettings &src)
Assigns the state of another BundleObservationSolveSettings to this one.
Definition: BundleObservationSolveSettings.cpp:160