1 #ifndef BundleSettings_h
2 #define BundleSettings_h
28 #include <QSharedPointer>
45 class QXmlStreamWriter;
140 void setValidateNetwork(
bool validate);
141 bool validateNetwork()
const;
149 void setSolveOptions(
bool solveObservationMode =
false,
150 bool updateCubeLabel =
false,
151 bool errorPropagation =
false,
152 bool solveRadius =
false,
153 double globalLatitudeAprioriSigma =
Isis::Null,
154 double globalLongitudeAprioriSigma =
Isis::Null,
155 double globalRadiusAprioriSigma =
Isis::Null);
156 void setOutlierRejection(
bool outlierRejection,
157 double multiplier = 1.0);
159 void setCreateInverseMatrix(
bool createMatrix);
162 bool createInverseMatrix()
const;
163 bool solveObservationMode()
const;
164 bool solveRadius()
const;
165 bool updateCubeLabel()
const;
166 bool errorPropagation()
const;
167 bool outlierRejection()
const;
168 double outlierRejectionMultiplier()
const;
169 double globalLatitudeAprioriSigma()
const;
170 double globalLongitudeAprioriSigma()
const;
171 double globalRadiusAprioriSigma()
const;
173 int numberSolveSettings()
const;
193 static ConvergenceCriteria stringToConvergenceCriteria(QString criteria);
194 static QString convergenceCriteriaToString(ConvergenceCriteria criteria);
195 void setConvergenceCriteria(ConvergenceCriteria criteria,
197 int maximumIterations);
198 ConvergenceCriteria convergenceCriteria()
const;
199 double convergenceCriteriaThreshold()
const;
200 int convergenceCriteriaMaximumIterations()
const;
238 maximumLikelihoodEstimatorModels()
const;
253 int numberTargetBodyParameters()
const;
254 bool solveTargetBody()
const;
255 bool solvePoleRA()
const;
256 bool solvePoleRAVelocity()
const;
257 bool solvePoleDec()
const;
258 bool solvePoleDecVelocity()
const;
259 bool solvePM()
const;
260 bool solvePMVelocity()
const;
261 bool solvePMAcceleration()
const;
262 bool solveTriaxialRadii()
const;
263 bool solveMeanRadius()
const;
270 void setOutputFilePrefix(QString outputFilePrefix);
271 void setSCPVLFilename(QString SCParamFilename);
272 QString outputFilePrefix()
const;
273 QString SCPVLFilename()
const;
275 PvlObject pvlObject(QString name =
"BundleSettings")
const;
277 void save(QXmlStreamWriter &stream,
const Project *project)
const;
279 QDataStream &write(QDataStream &stream)
const;
280 QDataStream &read(QDataStream &stream);
282 void createH5Group(hid_t locationId,
283 QString locationName)
const;
284 void parseH5Group(hid_t locationId,
285 QString locationName);
287 void createH5Group(H5::CommonFG &locationObject,
288 QString locationName)
const;
289 H5::Group createH5Group2(H5::Group locationGroup,
290 QString locationName);
291 void openH5Group(H5::CommonFG &locationObject,
292 QString locationName);
294 QString locationName);
318 virtual bool startElement(
const QString &namespaceURI,
319 const QString &localName,
320 const QString &qName,
321 const QXmlAttributes &atts);
322 virtual bool characters(
const QString &ch);
323 virtual bool endElement(
const QString &namespaceURI,
324 const QString &localName,
325 const QString &qName);
326 bool fatalError(
const QXmlParseException &exception);
329 Q_DISABLE_COPY(XmlHandler);
333 QString m_xmlHandlerCharacters;
343 struct MaximumLikelihoodModelTableRecord {
344 unsigned int indexFieldValue;
345 QString nameFieldValue;
346 double quantileFieldValue;
351 bool m_validateNetwork;
352 bool m_solveObservationMode;
354 bool m_updateCubeLabel;
355 bool m_errorPropagation;
356 bool m_createInverseMatrix;
357 bool m_outlierRejection;
359 double m_outlierRejectionMultiplier;
363 double m_globalLatitudeAprioriSigma;
364 double m_globalLongitudeAprioriSigma;
365 double m_globalRadiusAprioriSigma;
371 ConvergenceCriteria m_convergenceCriteria;
374 double m_convergenceCriteriaThreshold;
376 int m_convergenceCriteriaMaximumIterations;
393 bool m_solveTargetBody;
398 QString m_outputFilePrefix;
const double Null
Value for an Isis Null pixel.
Definition: SpecialPixel.h:109
QSharedPointer< BundleSettings > BundleSettingsQsp
Definition for a BundleSettingsQsp, a shared pointer to a BundleSettings object.
Definition: BundleSettings.h:404
The main project for cnetsuite.
Definition: Project.h:105
File name manipulation and expansion.
Definition: FileName.h:111
QSharedPointer< BundleTargetBody > BundleTargetBodyQsp
Definition for BundleTargetBodyQsp, a QSharedPointer to a BundleTargetBody.
Definition: BundleTargetBody.h:198
Q_DECLARE_METATYPE(Isis::Cube *)
This allows Cube *'s to be stored in a QVariant.
Model
The supported maximum likelihood estimation models.
Definition: MaximumLikelihoodWFunctions.h:69
QDebug operator<<(QDebug dbg, const Isis::Angle &angleToPrint)
Display an Angle for a debugging statement.
Definition: Angle.cpp:379
Do not use a maximum likelihood model.
Definition: BundleSettings.h:219
std::istream & operator>>(std::istream &is, CSVReader &csv)
Input read operator for input stream sources.
Definition: CSVReader.cpp:463
Container class for BundleAdjustment settings.
Definition: BundleSettings.h:119
XML Handler that parses XMLs in a stack-oriented way.
Definition: XmlStackedHandler.h:47
This class is used to modify and manage solve settings for 1 to many BundleObservations.
Definition: BundleObservationSolveSettings.h:84
bool validate(const NaifVertex &v)
Verifies that the given NaifVector or NaifVertex is 3 dimensional.
Definition: NaifDskApi.cpp:54
MaximumLikelihoodModel
This enum defines the options for maximum likelihood estimation.
Definition: BundleSettings.h:218
Definition: BoxcarCachingAlgorithm.h:29
Contains Pvl Groups and Pvl Objects.
Definition: PvlObject.h:74
his enables stack-based XML parsing of XML files.
Definition: XmlStackedHandlerReader.h:26
ConvergenceCriteria
This enum defines the options for the bundle adjustment's convergence.
Definition: BundleSettings.h:185