1 #ifndef BundleSettings_h
2 #define BundleSettings_h
28 #include <QSharedPointer>
41 #include "XmlStackedHandler.h"
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);
333 QString m_xmlHandlerCharacters;
unsigned int indexFieldValue
The index of the TableRecord.???
double m_globalLongitudeAprioriSigma
The global a priori sigma for longitude.
bool m_createInverseMatrix
Indicates whether to create the inverse matrix file.
BundleTargetBodyQsp m_bundleTargetBody
A pointer to the target body settings and information.
const double Null
Value for an Isis Null pixel.
QSharedPointer< BundleSettings > BundleSettingsQsp
Definition for a BundleSettingsQsp, a shared pointer to a BundleSettings object.
The main project for cnetsuite.
File name manipulation and expansion.
bool m_solveObservationMode
Indicates whether to solve for observation mode.
ConvergenceCriteria m_convergenceCriteria
Enumeration used to indicate what criteria to use to determine bundle adjustment convergence.
QSharedPointer< BundleTargetBody > BundleTargetBodyQsp
Definition for BundleTargetBodyQsp, a QSharedPointer to a BundleTargetBody.
double m_outlierRejectionMultiplier
The multiplier value for outlier rejection.
Q_DECLARE_METATYPE(Isis::Cube *)
This allows Cube *'s to be stored in a QVariant.
QString m_outputFilePrefix
The prefix for all output files.
Model
The supported maximum likelihood estimation models.
bool m_validateNetwork
Indicates whether the network should be validated.
QDebug operator<<(QDebug dbg, const Isis::Angle &angleToPrint)
Display an Angle for a debugging statement.
Do not use a maximum likelihood model.
bool m_updateCubeLabel
Indicates whether to update cubes.
QList< QPair< MaximumLikelihoodWFunctions::Model, double > > m_maximumLikelihood
Model and C-Quantile for each of the three maximum likelihood estimations.
std::istream & operator>>(std::istream &is, CSVReader &csv)
Input read operator for input stream sources.
Container class for BundleAdjustment settings.
XML Handler that parses XMLs in a stack-oriented way.
This class is needed to read/write BundleSettings from/to an XML formateed file.
double m_convergenceCriteriaThreshold
Tolerance value corresponding to the selected convergence criteria.
This class is used to modify and manage solve settings for 1 to many BundleObservations.
bool validate(const NaifVertex &v)
Verifies that the given NaifVector or NaifVertex is 3 dimensional.
double m_globalLatitudeAprioriSigma
The global a priori sigma for latitude.
MaximumLikelihoodModel
This enum defines the options for maximum likelihood estimation.
bool m_outlierRejection
Indicates whether to perform automatic outlier detection/rejection.
bool m_solveRadius
Indicates whether to solve for point radii.
int m_convergenceCriteriaMaximumIterations
Maximum number of iterations before quitting the bundle adjustment if it has not yet converged to the...
QString nameFieldValue
The model name of the TableRecord.???
double quantileFieldValue
The quantile of the TableRecord.???
double m_globalRadiusAprioriSigma
The global a priori sigma for radius.
This struct is needed to write the m_maximumLikelihood variable as an HDF5 table. ...
bool m_solveTargetBody
Indicates whether to solve for target body.
Contains Pvl Groups and Pvl Objects.
bool m_errorPropagation
Indicates whether to perform error propagation.
his enables stack-based XML parsing of XML files.
QUuid * m_id
A unique ID for this BundleSettings object.
ConvergenceCriteria
This enum defines the options for the bundle adjustment's convergence.