|
Isis Developer Reference
|
Go to the documentation of this file. 1 #ifndef BundleSettings_h
2 #define BundleSettings_h
15 #include <QSharedPointer>
30 class QXmlStreamWriter;
165 double multiplier = 1.0);
209 int maximumIterations);
290 void save(QXmlStreamWriter &stream,
const Project *project)
const;
315 virtual bool startElement(
const QString &namespaceURI,
316 const QString &localName,
317 const QString &qName,
318 const QXmlAttributes &atts);
319 virtual bool characters(
const QString &ch);
320 virtual bool endElement(
const QString &namespaceURI,
321 const QString &localName,
322 const QString &qName);
323 bool fatalError(
const QXmlParseException &exception);
326 Q_DISABLE_COPY(XmlHandler);
330 QString m_xmlHandlerCharacters;
340 struct MaximumLikelihoodModelTableRecord {
341 unsigned int indexFieldValue;
342 QString nameFieldValue;
343 double quantileFieldValue;
346 bool m_validateNetwork;
348 bool m_solveObservationMode;
350 bool m_updateCubeLabel;
351 bool m_errorPropagation;
352 bool m_createInverseMatrix;
353 bool m_outlierRejection;
355 double m_outlierRejectionMultiplier;
359 double m_globalPointCoord1AprioriSigma;
360 double m_globalPointCoord2AprioriSigma;
361 double m_globalPointCoord3AprioriSigma;
370 double m_convergenceCriteriaThreshold;
372 int m_convergenceCriteriaMaximumIterations;
389 bool m_solveTargetBody;
398 QString m_outputFilePrefix;
double globalPointCoord1AprioriSigma() const
Retrieves global a priori sigma for 1st coordinate of points for this bundle.
Definition: BundleSettings.cpp:486
void save(QXmlStreamWriter &stream, const Project *project) const
This method is used to write a BundleSettings object in an XML format.
Definition: BundleSettings.cpp:1050
void setObservationSolveOptions(QList< BundleObservationSolveSettings > obsSolveSettingsList)
Add the list of solve options for each observation.
Definition: BundleSettings.cpp:347
@ ParameterCorrections
All parameter corrections will be used to determine that the bundle adjustment has converged.
Definition: BundleSettings.h:200
bool solveTargetBody() const
This method is used to determine whether the bundle adjustment will solve for target body.
Definition: BundleSettings.cpp:815
@ Welsch
Use a Welsch maximum likelihood model.
Definition: BundleSettings.h:238
Contains Pvl Groups and Pvl Objects.
Definition: PvlObject.h:61
QList< QPair< MaximumLikelihoodWFunctions::Model, double > > maximumLikelihoodEstimatorModels() const
Retrieves the list of maximum likelihood estimator (MLE) models with their corresponding C-Quantiles.
Definition: BundleSettings.cpp:749
bool errorPropagation() const
This method is used to determine whether this bundle adjustment will perform error propagation.
Definition: BundleSettings.cpp:448
This is free and unencumbered software released into the public domain.
Definition: BoxcarCachingAlgorithm.h:13
bool solveMeanRadius() const
This method is used to determine whether the bundle adjustment will solve for target body mean radius...
Definition: BundleSettings.cpp:961
double globalPointCoord3AprioriSigma() const
Retrieves the global a priori sigma 3rd coordinate of points for this bundle.
Definition: BundleSettings.cpp:506
bool solveRadius() const
This method is used to determine whether this bundle adjustment will solve for radius.
Definition: BundleSettings.cpp:425
Q_DECLARE_METATYPE(Isis::BundleSettingsQsp)
File name manipulation and expansion.
Definition: FileName.h:100
void setBundleTargetBody(BundleTargetBodyQsp bundleTargetBody)
Sets the target body for the bundle adjustment.
Definition: BundleSettings.cpp:768
@ Unknown
A type of error that cannot be classified as any of the other error types.
Definition: IException.h:118
Model
The supported maximum likelihood estimation models.
Definition: MaximumLikelihoodWFunctions.h:56
virtual void pushContentHandler(XmlStackedHandler *newHandler)
Push a contentHandler and maybe continue parsing...
Definition: XmlStackedHandlerReader.cpp:55
double convergenceCriteriaThreshold() const
Retrieves the convergence threshold to be used to solve the bundle adjustment.
Definition: BundleSettings.cpp:671
void setCubeList(QString fileName)
BundleSettings::setCubeList.
Definition: BundleSettings.cpp:234
ConvergenceCriteria convergenceCriteria() const
Retrieves the convergence criteria to be used to solve the bundle adjustment.
Definition: BundleSettings.cpp:660
BundleTargetBodyQsp bundleTargetBody() const
Retrieves a pointer to target body information for the bundle adjustment.
Definition: BundleSettings.cpp:779
bool solvePoleRA() const
This method is used to determine whether the bundle adjustment will solve for target body pole right ...
Definition: BundleSettings.cpp:833
void clear()
Function to clear out all values in a project essentially making it a new project object.
Definition: Project.cpp:459
virtual bool startElement(const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &atts)
Definition: XmlStackedHandler.cpp:44
BundleSettings & operator=(const BundleSettings &other)
Assignment operator to allow proper copying of the 'other' BundleSettings object to this one.
Definition: BundleSettings.cpp:169
void setCreateInverseMatrix(bool createMatrix)
Turn the creation of the inverse correlation matrix file on or off.
Definition: BundleSettings.cpp:466
int numberTargetBodyParameters() const
This method is used to determine whether the bundle adjustment will solve for target body pole positi...
Definition: BundleSettings.cpp:801
void setConvergenceCriteria(ConvergenceCriteria criteria, double threshold, int maximumIterations)
Set the convergence criteria options for the bundle adjustment.
Definition: BundleSettings.cpp:645
void addMaximumLikelihoodEstimatorModel(MaximumLikelihoodWFunctions::Model model, double cQuantile)
Add a maximum likelihood estimator (MLE) model to the bundle adjustment.
Definition: BundleSettings.cpp:727
QString toString(bool boolToConvert)
Global function to convert a boolean to a string.
Definition: IString.cpp:211
Manage a stack of content handlers for reading XML files.
Definition: XmlStackedHandlerReader.h:30
bool validateNetwork() const
This method is used to determine whether to validate the network before the bundle adjustment.
Definition: BundleSettings.cpp:223
bool IsSpecial(const double d)
Returns if the input pixel is special.
Definition: SpecialPixel.h:197
@ Huber
Use a Huber maximum likelihood model.
Definition: BundleSettings.h:232
bool solvePoleDec() const
This method is used to determine whether the bundle adjustment will solve for target body pole declin...
Definition: BundleSettings.cpp:865
The main project for ipce.
Definition: Project.h:289
@ Sigma0
The value of sigma0 will be used to determine that the bundle adjustment has converged.
Definition: BundleSettings.h:198
MaximumLikelihoodModel
This enum defines the options for maximum likelihood estimation.
Definition: BundleSettings.h:230
void setSolveOptions(bool solveObservationMode=false, bool updateCubeLabel=false, bool errorPropagation=false, bool solveRadius=false, SurfacePoint::CoordinateType coordTypeBundle=SurfacePoint::Latitudinal, SurfacePoint::CoordinateType coordTypeReports=SurfacePoint::Latitudinal, double globalPointCoord1AprioriSigma=Isis::Null, double globalPointCoord2AprioriSigma=Isis::Null, double globalPointCoord3AprioriSigma=Isis::Null)
Set the solve options for the bundle adjustment.
Definition: BundleSettings.cpp:269
static ConvergenceCriteria stringToConvergenceCriteria(QString criteria)
Converts the given string value to a BundleSettings::ConvergenceCriteria enumeration.
Definition: BundleSettings.cpp:601
@ Rectangular
Body-fixed rectangular x/y/z coordinates.
Definition: SurfacePoint.h:141
static QString modelToString(Model model)
Static method to return a string represtentation for a given MaximumLikelihoodWFunctions::Model enum.
Definition: MaximumLikelihoodWFunctions.cpp:355
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
CoordinateType
Defines the coordinate typ, units, and coordinate index for some of the output methods.
Definition: SurfacePoint.h:139
ConvergenceCriteria
This enum defines the options for the bundle adjustment's convergence.
Definition: BundleSettings.h:197
static MaximumLikelihoodWFunctions::Model stringToModel(QString modelName)
Definition: MaximumLikelihoodWFunctions.cpp:367
~BundleSettings()
Destroys the BundleSettings object.
Definition: BundleSettings.cpp:153
QString SCPVLFilename() const
bool solvePMAcceleration() const
This method is used to determine whether the bundle adjustment will solve for target body prime merid...
Definition: BundleSettings.cpp:929
int toInt(const QString &string)
Global function to convert from a string to an integer.
Definition: IString.cpp:93
@ HuberModified
A modification to Huber's method propsed by William J.J.
Definition: MaximumLikelihoodWFunctions.h:73
QString outputFilePrefix() const
Retrieve the output file prefix.
Definition: BundleSettings.cpp:1036
double outlierRejectionMultiplier() const
Retrieves the outlier rejection multiplier for the bundle adjustment.
Definition: BundleSettings.cpp:476
QSharedPointer< BundleSettings > BundleSettingsQsp
Definition for a BundleSettingsQsp, a shared pointer to a BundleSettings object.
Definition: BundleSettings.h:404
SurfacePoint::CoordinateType controlPointCoordTypeReports() const
Indicates the control point coordinate type for reports.
Definition: BundleSettings.cpp:361
bool solvePoleDecVelocity() const
This method is used to determine whether the bundle adjustment will solve for target body pole declin...
Definition: BundleSettings.cpp:881
BundleSettings()
Constructs a BundleSettings object.
Definition: BundleSettings.cpp:39
int numberSolveSettings() const
Retrieves the number of observation solve settings.
Definition: BundleSettings.cpp:517
void setOutlierRejection(bool outlierRejection, double multiplier=1.0)
Set the outlier rejection options for the bundle adjustment.
Definition: BundleSettings.cpp:329
Container class for BundleAdjustment settings.
Definition: BundleSettings.h:125
virtual bool endElement(const QString &namespaceURI, const QString &localName, const QString &qName)
Definition: XmlStackedHandler.cpp:55
Isis exception class.
Definition: IException.h:91
int convergenceCriteriaMaximumIterations() const
Retrieves the maximum number of iterations allowed to solve the bundle adjustment.
Definition: BundleSettings.cpp:684
static CoordinateType stringToCoordinateType(QString type)
This method converts the given string value to a SurfacePoint::CoordinateType enumeration.
Definition: SurfacePoint.cpp:1363
double globalPointCoord2AprioriSigma() const
Retrieves the global a priori sigma for 2nd coordinate of points for this bundle.
Definition: BundleSettings.cpp:496
void setValidateNetwork(bool validate)
Sets the internal flag to indicate whether to validate the network before the bundle adjustment.
Definition: BundleSettings.cpp:208
const double Null
Value for an Isis Null pixel.
Definition: SpecialPixel.h:95
@ ModifiedHuber
Use a modified Huber maximum likelihood model.
Definition: BundleSettings.h:235
void setSCPVLFilename(QString SCParamFilename)
double toDouble(const QString &string)
Global function to convert from a string to a double.
Definition: IString.cpp:149
@ Programmer
This error is for when a programmer made an API call that was illegal.
Definition: IException.h:146
bool createInverseMatrix() const
Indicates if the settings will allow the inverse correlation matrix to be created.
Definition: BundleSettings.cpp:391
bool updateCubeLabel() const
This method is used to determine whether this bundle adjustment will update the cube labels.
Definition: BundleSettings.cpp:437
bool toBool(const QString &string)
Global function to convert from a string to a boolean.
Definition: IString.cpp:38
@ NoMaximumLikelihoodEstimator
Do not use a maximum likelihood model.
Definition: BundleSettings.h:231
XML Handler that parses XMLs in a stack-oriented way.
Definition: XmlStackedHandler.h:118
bool solvePMVelocity() const
This method is used to determine whether the bundle adjustment will solve for target body prime merid...
Definition: BundleSettings.cpp:913
bool solveTriaxialRadii() const
This method is used to determine whether the bundle adjustment will solve for target body triaxial ra...
Definition: BundleSettings.cpp:945
This class is used to modify and manage solve settings for 1 to many BundleObservations.
Definition: BundleObservationSolveSettings.h:82
@ Latitudinal
Planetocentric latitudinal (lat/lon/rad) coordinates.
Definition: SurfacePoint.h:140
bool solveObservationMode() const
This method is used to determine whether this bundle adjustment will solve for observation mode.
Definition: BundleSettings.cpp:414
QList< BundleObservationSolveSettings > observationSolveSettings() const
Retrieves solve settings for the observation corresponding to the given index.
Definition: BundleSettings.cpp:576
QString cubeList() const
BundleSettings::cubeList.
Definition: BundleSettings.cpp:244
static QString convergenceCriteriaToString(ConvergenceCriteria criteria)
Converts the given BundleSettings::ConvergenceCriteria enumeration to a string.
Definition: BundleSettings.cpp:625
bool validate(const NaifVertex &v)
Verifies that the given NaifVector or NaifVertex is 3 dimensional.
Definition: NaifDskApi.cpp:28
bool outlierRejection() const
This method is used to determine whether outlier rejection will be performed on this bundle adjustmen...
Definition: BundleSettings.cpp:403
bool solvePoleRAVelocity() const
This method is used to determine whether the bundle adjustment will solve for target body pole right ...
Definition: BundleSettings.cpp:849
@ Chen
Use a Chen maximum likelihood model.
Definition: BundleSettings.h:241
bool solvePM() const
This method is used to determine whether the bundle adjustment will solve for target body prime merid...
Definition: BundleSettings.cpp:897
void setOutputFilePrefix(QString outputFilePrefix)
Set the output file prefix for the bundle adjustment.
Definition: BundleSettings.cpp:1022
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
SurfacePoint::CoordinateType controlPointCoordTypeBundle() const
Indicates the control point coordinate type for the actual bundle adjust.
Definition: BundleSettings.cpp:375