1#ifndef BundleSettings_h 
    2#define BundleSettings_h 
   15#include <QSharedPointer> 
   17#include <QXmlStreamReader> 
   30class QXmlStreamWriter;
 
  154                               double multiplier = 1.0);
 
  198                                  int maximumIterations);
 
  279      void save(QXmlStreamWriter &stream, 
const Project *project) 
const;
 
  291      struct MaximumLikelihoodModelTableRecord {
 
  292          unsigned int indexFieldValue; 
 
  293          QString nameFieldValue; 
 
  294          double quantileFieldValue; 
 
  297      bool m_validateNetwork; 
 
  299      bool m_solveObservationMode; 
 
  301      bool m_updateCubeLabel; 
 
  302      bool m_errorPropagation; 
 
  303      bool m_createInverseMatrix; 
 
  304      bool m_outlierRejection; 
 
  306      double m_outlierRejectionMultiplier; 
 
  310      double m_globalPointCoord1AprioriSigma;   
 
  311      double m_globalPointCoord2AprioriSigma;   
 
  312      double m_globalPointCoord3AprioriSigma;   
 
  318      ConvergenceCriteria m_convergenceCriteria;  
 
  321      double m_convergenceCriteriaThreshold;      
 
  323      int m_convergenceCriteriaMaximumIterations; 
 
  340      bool m_solveTargetBody; 
 
  349      QString m_outputFilePrefix;    
 
 
Q_DECLARE_METATYPE(Isis::BundleSettingsQsp)
 
This class is used to modify and manage solve settings for 1 to many BundleObservations.
Definition BundleObservationSolveSettings.h:81
 
double globalPointCoord2AprioriSigma() const
Retrieves the global a priori sigma for 2nd coordinate of points for this bundle.
Definition BundleSettings.cpp:471
 
bool validateNetwork() const
This method is used to determine whether to validate the network before the bundle adjustment.
Definition BundleSettings.cpp:198
 
int convergenceCriteriaMaximumIterations() const
Retrieves the maximum number of iterations allowed to solve the bundle adjustment.
Definition BundleSettings.cpp:659
 
MaximumLikelihoodModel
This enum defines the options for maximum likelihood estimation.
Definition BundleSettings.h:219
 
@ Chen
Use a Chen maximum likelihood model.
Definition BundleSettings.h:230
 
@ Welsch
Use a Welsch maximum likelihood model.
Definition BundleSettings.h:227
 
@ NoMaximumLikelihoodEstimator
Do not use a maximum likelihood model.
Definition BundleSettings.h:220
 
@ Huber
Use a Huber maximum likelihood model.
Definition BundleSettings.h:221
 
@ ModifiedHuber
Use a modified Huber maximum likelihood model.
Definition BundleSettings.h:224
 
BundleSettings & operator=(const BundleSettings &other)
Assignment operator to allow proper copying of the 'other' BundleSettings object to this one.
Definition BundleSettings.cpp:144
 
double globalPointCoord3AprioriSigma() const
Retrieves the global a priori sigma 3rd coordinate of points for this bundle.
Definition BundleSettings.cpp:481
 
void addMaximumLikelihoodEstimatorModel(MaximumLikelihoodWFunctions::Model model, double cQuantile)
Add a maximum likelihood estimator (MLE) model to the bundle adjustment.
Definition BundleSettings.cpp:702
 
BundleSettings()
Constructs a BundleSettings object.
Definition BundleSettings.cpp:38
 
SurfacePoint::CoordinateType controlPointCoordTypeBundle() const
Indicates the control point coordinate type for the actual bundle adjust.
Definition BundleSettings.cpp:350
 
bool errorPropagation() const
This method is used to determine whether this bundle adjustment will perform error propagation.
Definition BundleSettings.cpp:423
 
void setConvergenceCriteria(ConvergenceCriteria criteria, double threshold, int maximumIterations)
Set the convergence criteria options for the bundle adjustment.
Definition BundleSettings.cpp:620
 
bool solvePMVelocity() const
This method is used to determine whether the bundle adjustment will solve for target body prime merid...
Definition BundleSettings.cpp:888
 
void save(QXmlStreamWriter &stream, const Project *project) const
This method is used to write a BundleSettings object in an XML format.
Definition BundleSettings.cpp:1025
 
ConvergenceCriteria
This enum defines the options for the bundle adjustment's convergence.
Definition BundleSettings.h:186
 
@ Sigma0
The value of sigma0 will be used to determine that the bundle adjustment has converged.
Definition BundleSettings.h:187
 
@ ParameterCorrections
All parameter corrections will be used to determine that the bundle adjustment has converged.
Definition BundleSettings.h:189
 
BundleTargetBodyQsp bundleTargetBody() const
Retrieves a pointer to target body information for the bundle adjustment.
Definition BundleSettings.cpp:754
 
void setCreateInverseMatrix(bool createMatrix)
Turn the creation of the inverse correlation matrix file on or off.
Definition BundleSettings.cpp:441
 
bool solveMeanRadius() const
This method is used to determine whether the bundle adjustment will solve for target body mean radius...
Definition BundleSettings.cpp:936
 
bool solveRadius() const
This method is used to determine whether this bundle adjustment will solve for radius.
Definition BundleSettings.cpp:400
 
bool solveTriaxialRadii() const
This method is used to determine whether the bundle adjustment will solve for target body triaxial ra...
Definition BundleSettings.cpp:920
 
bool solvePMAcceleration() const
This method is used to determine whether the bundle adjustment will solve for target body prime merid...
Definition BundleSettings.cpp:904
 
QList< BundleObservationSolveSettings > observationSolveSettings() const
Retrieves solve settings for the observation corresponding to the given index.
Definition BundleSettings.cpp:551
 
void setBundleTargetBody(BundleTargetBodyQsp bundleTargetBody)
Sets the target body for the bundle adjustment.
Definition BundleSettings.cpp:743
 
int numberTargetBodyParameters() const
This method is used to determine whether the bundle adjustment will solve for target body pole positi...
Definition BundleSettings.cpp:776
 
QString outputFilePrefix() const
Retrieve the output file prefix.
Definition BundleSettings.cpp:1011
 
double globalPointCoord1AprioriSigma() const
Retrieves global a priori sigma for 1st coordinate of points for this bundle.
Definition BundleSettings.cpp:461
 
bool updateCubeLabel() const
This method is used to determine whether this bundle adjustment will update the cube labels.
Definition BundleSettings.cpp:412
 
bool outlierRejection() const
This method is used to determine whether outlier rejection will be performed on this bundle adjustmen...
Definition BundleSettings.cpp:378
 
void setOutputFilePrefix(QString outputFilePrefix)
Set the output file prefix for the bundle adjustment.
Definition BundleSettings.cpp:997
 
bool solvePoleRA() const
This method is used to determine whether the bundle adjustment will solve for target body pole right ...
Definition BundleSettings.cpp:808
 
bool solvePoleDecVelocity() const
This method is used to determine whether the bundle adjustment will solve for target body pole declin...
Definition BundleSettings.cpp:856
 
void setSCPVLFilename(QString SCParamFilename)
 
static QString convergenceCriteriaToString(ConvergenceCriteria criteria)
Converts the given BundleSettings::ConvergenceCriteria enumeration to a string.
Definition BundleSettings.cpp:600
 
void setValidateNetwork(bool validate)
Sets the internal flag to indicate whether to validate the network before the bundle adjustment.
Definition BundleSettings.cpp:183
 
QString SCPVLFilename() const
 
~BundleSettings()
Destroys the BundleSettings object.
Definition BundleSettings.cpp:128
 
static ConvergenceCriteria stringToConvergenceCriteria(QString criteria)
Converts the given string value to a BundleSettings::ConvergenceCriteria enumeration.
Definition BundleSettings.cpp:576
 
bool createInverseMatrix() const
Indicates if the settings will allow the inverse correlation matrix to be created.
Definition BundleSettings.cpp:366
 
bool solvePoleRAVelocity() const
This method is used to determine whether the bundle adjustment will solve for target body pole right ...
Definition BundleSettings.cpp:824
 
void readBundleSettings(QXmlStreamReader *xmlReader)
Definition BundleSettings.cpp:1111
 
QString cubeList() const
BundleSettings::cubeList.
Definition BundleSettings.cpp:219
 
void setOutlierRejection(bool outlierRejection, double multiplier=1.0)
Set the outlier rejection options for the bundle adjustment.
Definition BundleSettings.cpp:304
 
ConvergenceCriteria convergenceCriteria() const
Retrieves the convergence criteria to be used to solve the bundle adjustment.
Definition BundleSettings.cpp:635
 
QList< QPair< MaximumLikelihoodWFunctions::Model, double > > maximumLikelihoodEstimatorModels() const
Retrieves the list of maximum likelihood estimator (MLE) models with their corresponding C-Quantiles.
Definition BundleSettings.cpp:724
 
bool solvePoleDec() const
This method is used to determine whether the bundle adjustment will solve for target body pole declin...
Definition BundleSettings.cpp:840
 
int numberSolveSettings() const
Retrieves the number of observation solve settings.
Definition BundleSettings.cpp:492
 
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:244
 
SurfacePoint::CoordinateType controlPointCoordTypeReports() const
Indicates the control point coordinate type for reports.
Definition BundleSettings.cpp:336
 
bool solvePM() const
This method is used to determine whether the bundle adjustment will solve for target body prime merid...
Definition BundleSettings.cpp:872
 
void setCubeList(QString fileName)
BundleSettings::setCubeList.
Definition BundleSettings.cpp:209
 
double convergenceCriteriaThreshold() const
Retrieves the convergence threshold to be used to solve the bundle adjustment.
Definition BundleSettings.cpp:646
 
void setObservationSolveOptions(QList< BundleObservationSolveSettings > obsSolveSettingsList)
Add the list of solve options for each observation.
Definition BundleSettings.cpp:322
 
bool solveObservationMode() const
This method is used to determine whether this bundle adjustment will solve for observation mode.
Definition BundleSettings.cpp:389
 
bool solveTargetBody() const
This method is used to determine whether the bundle adjustment will solve for target body.
Definition BundleSettings.cpp:790
 
double outlierRejectionMultiplier() const
Retrieves the outlier rejection multiplier for the bundle adjustment.
Definition BundleSettings.cpp:451
 
File name manipulation and expansion.
Definition FileName.h:100
 
Model
The supported maximum likelihood estimation models.
Definition MaximumLikelihoodWFunctions.h:56
 
The main project for ipce.
Definition Project.h:287
 
Contains Pvl Groups and Pvl Objects.
Definition PvlObject.h:61
 
CoordinateType
Defines the coordinate typ, units, and coordinate index for some of the output methods.
Definition SurfacePoint.h:139
 
@ Latitudinal
Planetocentric latitudinal (lat/lon/rad) coordinates.
Definition SurfacePoint.h:140
 
This is free and unencumbered software released into the public domain.
Definition BoxcarCachingAlgorithm.h:13
 
Definition JigsawWorkOrder.h:28
 
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16
 
QSharedPointer< BundleSettings > BundleSettingsQsp
Definition for a BundleSettingsQsp, a shared pointer to a BundleSettings object.
Definition BundleSettings.h:355
 
const double Null
Value for an Isis Null pixel.
Definition SpecialPixel.h:95
 
QSharedPointer< BundleTargetBody > BundleTargetBodyQsp
Definition for BundleTargetBodyQsp, a QSharedPointer to a BundleTargetBody.
Definition BundleTargetBody.h:187
 
bool validate(const NaifVertex &v)
Verifies that the given NaifVector or NaifVertex is 3 dimensional.
Definition NaifDskApi.cpp:28