Isis 3 Programmer Reference
|
Container class for BundleAdjustment settings. More...
#include <BundleSettings.h>
Classes | |
struct | MaximumLikelihoodModelTableRecord |
This struct is needed to write the m_maximumLikelihood variable as an HDF5 table. More... | |
class | XmlHandler |
This class is needed to read/write BundleSettings from/to an XML formateed file. More... | |
Public Types | |
enum | ConvergenceCriteria { Sigma0, ParameterCorrections } |
This enum defines the options for the bundle adjustment's convergence. More... | |
enum | MaximumLikelihoodModel { NoMaximumLikelihoodEstimator, Huber, ModifiedHuber, Welsch, Chen } |
This enum defines the options for maximum likelihood estimation. More... | |
Public Member Functions | |
BundleSettings () | |
Constructs a BundleSettings object. More... | |
BundleSettings (const BundleSettings &other) | |
This copy constructor sets this BundleSettings' member data to match that of the 'other' given BundleSettings. More... | |
BundleSettings (Project *project, XmlStackedHandlerReader *xmlReader) | |
Construct a BundleSettings object from member data read from an XML file. More... | |
~BundleSettings () | |
Destroys the BundleSettings object. More... | |
BundleSettings & | operator= (const BundleSettings &other) |
Assignment operator to allow proper copying of the 'other' BundleSettings object to this one. More... | |
void | setValidateNetwork (bool validate) |
Sets the internal flag to indicate whether to validate the network before the bundle adjustment. More... | |
bool | validateNetwork () const |
This method is used to determine whether to validate the network before the bundle adjustment. More... | |
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. More... | |
void | setOutlierRejection (bool outlierRejection, double multiplier=1.0) |
Set the outlier rejection options for the bundle adjustment. More... | |
void | setObservationSolveOptions (QList< BundleObservationSolveSettings > obsSolveSettingsList) |
Add the list of solve options for each observation. More... | |
void | setCreateInverseMatrix (bool createMatrix) |
Turn the creation of the inverse correlation matrix file on or off. More... | |
SurfacePoint::CoordinateType | controlPointCoordTypeReports () const |
Indicates the control point coordinate type for reports. More... | |
SurfacePoint::CoordinateType | controlPointCoordTypeBundle () const |
Indicates the control point coordinate type for the actual bundle adjust. More... | |
bool | createInverseMatrix () const |
Indicates if the settings will allow the inverse correlation matrix to be created. More... | |
bool | solveObservationMode () const |
This method is used to determine whether this bundle adjustment will solve for observation mode. More... | |
bool | solveRadius () const |
This method is used to determine whether this bundle adjustment will solve for radius. More... | |
bool | updateCubeLabel () const |
This method is used to determine whether this bundle adjustment will update the cube labels. More... | |
bool | errorPropagation () const |
This method is used to determine whether this bundle adjustment will perform error propagation. More... | |
bool | outlierRejection () const |
This method is used to determine whether outlier rejection will be performed on this bundle adjustment. More... | |
double | outlierRejectionMultiplier () const |
Retrieves the outlier rejection multiplier for the bundle adjustment. More... | |
double | globalPointCoord1AprioriSigma () const |
Retrieves global a priori sigma for 1st coordinate of points for this bundle. More... | |
double | globalPointCoord2AprioriSigma () const |
Retrieves the global a priori sigma for 2nd coordinate of points for this bundle. More... | |
double | globalPointCoord3AprioriSigma () const |
Retrieves the global a priori sigma 3rd coordinate of points for this bundle. More... | |
int | numberSolveSettings () const |
Retrieves the number of observation solve settings. More... | |
BundleObservationSolveSettings | observationSolveSettings (QString instrumentId) const |
Retrieves solve settings for the observation corresponding to the given observation number. More... | |
BundleObservationSolveSettings | observationSolveSettings (int n) const |
Retrieves solve settings for the observation corresponding to the given index. More... | |
QList< BundleObservationSolveSettings > | observationSolveSettings () const |
Retrieves solve settings for the observation corresponding to the given index. More... | |
void | setConvergenceCriteria (ConvergenceCriteria criteria, double threshold, int maximumIterations) |
Set the convergence criteria options for the bundle adjustment. More... | |
ConvergenceCriteria | convergenceCriteria () const |
Retrieves the convergence criteria to be used to solve the bundle adjustment. More... | |
double | convergenceCriteriaThreshold () const |
Retrieves the convergence threshold to be used to solve the bundle adjustment. More... | |
int | convergenceCriteriaMaximumIterations () const |
Retrieves the maximum number of iterations allowed to solve the bundle adjustment. More... | |
void | addMaximumLikelihoodEstimatorModel (MaximumLikelihoodWFunctions::Model model, double cQuantile) |
Add a maximum likelihood estimator (MLE) model to the bundle adjustment. More... | |
QList< QPair< MaximumLikelihoodWFunctions::Model, double > > | maximumLikelihoodEstimatorModels () const |
Retrieves the list of maximum likelihood estimator (MLE) models with their corresponding C-Quantiles. More... | |
void | setBundleTargetBody (BundleTargetBodyQsp bundleTargetBody) |
Sets the target body for the bundle adjustment. More... | |
BundleTargetBodyQsp | bundleTargetBody () const |
Retrieves a pointer to target body information for the bundle adjustment. More... | |
int | numberTargetBodyParameters () const |
This method is used to determine whether the bundle adjustment will solve for target body pole position. More... | |
bool | solveTargetBody () const |
This method is used to determine whether the bundle adjustment will solve for target body. More... | |
bool | solvePoleRA () const |
This method is used to determine whether the bundle adjustment will solve for target body pole right ascension. More... | |
bool | solvePoleRAVelocity () const |
This method is used to determine whether the bundle adjustment will solve for target body pole right ascension velocity. More... | |
bool | solvePoleDec () const |
This method is used to determine whether the bundle adjustment will solve for target body pole declination. More... | |
bool | solvePoleDecVelocity () const |
This method is used to determine whether the bundle adjustment will solve for target body pole declination velocity. More... | |
bool | solvePM () const |
This method is used to determine whether the bundle adjustment will solve for target body prime meridian. More... | |
bool | solvePMVelocity () const |
This method is used to determine whether the bundle adjustment will solve for target body prime meridian velocity. More... | |
bool | solvePMAcceleration () const |
This method is used to determine whether the bundle adjustment will solve for target body prime meridian acceleration. More... | |
bool | solveTriaxialRadii () const |
This method is used to determine whether the bundle adjustment will solve for target body triaxial radii. More... | |
bool | solveMeanRadius () const |
This method is used to determine whether the bundle adjustment will solve for target body mean radius. More... | |
void | setOutputFilePrefix (QString outputFilePrefix) |
Set the output file prefix for the bundle adjustment. More... | |
void | setSCPVLFilename (QString SCParamFilename) |
QString | outputFilePrefix () const |
Retrieve the output file prefix. More... | |
void | setCubeList (QString fileName) |
BundleSettings::setCubeList. More... | |
QString | cubeList () const |
BundleSettings::cubeList. More... | |
QString | SCPVLFilename () const |
void | save (QXmlStreamWriter &stream, const Project *project) const |
This method is used to write a BundleSettings object in an XML format. More... | |
Static Public Member Functions | |
static ConvergenceCriteria | stringToConvergenceCriteria (QString criteria) |
Converts the given string value to a BundleSettings::ConvergenceCriteria enumeration. More... | |
static QString | convergenceCriteriaToString (ConvergenceCriteria criteria) |
Converts the given BundleSettings::ConvergenceCriteria enumeration to a string. More... | |
Private Member Functions | |
void | init () |
Set Default vales for a BundleSettings object. More... | |
Private Attributes | |
bool | m_validateNetwork |
Indicates whether the network should be validated. More... | |
QString | m_cubeList |
bool | m_solveObservationMode |
Indicates whether to solve for observation mode. More... | |
bool | m_solveRadius |
Indicates whether to solve for point radii. More... | |
bool | m_updateCubeLabel |
Indicates whether to update cubes. More... | |
bool | m_errorPropagation |
Indicates whether to perform error propagation. More... | |
bool | m_createInverseMatrix |
Indicates whether to create the inverse matrix file. More... | |
bool | m_outlierRejection |
Indicates whether to perform automatic outlier detection/rejection. More... | |
double | m_outlierRejectionMultiplier |
The multiplier value for outlier rejection. More... | |
double | m_globalPointCoord1AprioriSigma |
The global a priori sigma for latitude or X. More... | |
double | m_globalPointCoord2AprioriSigma |
The global a priori sigma for longitude or Y. More... | |
double | m_globalPointCoord3AprioriSigma |
The global a priori sigma for radius or Z. More... | |
QList< BundleObservationSolveSettings > | m_observationSolveSettings |
ConvergenceCriteria | m_convergenceCriteria |
Enumeration used to indicate what criteria to use to determine bundle adjustment convergence. More... | |
double | m_convergenceCriteriaThreshold |
Tolerance value corresponding to the selected convergence criteria. More... | |
int | m_convergenceCriteriaMaximumIterations |
Maximum number of iterations before quitting the bundle adjustment if it has not yet converged to the given threshold. More... | |
QList< QPair< MaximumLikelihoodWFunctions::Model, double > > | m_maximumLikelihood |
Model and C-Quantile for each of the three maximum likelihood estimations. More... | |
bool | m_solveTargetBody |
Indicates whether to solve for target body. More... | |
BundleTargetBodyQsp | m_bundleTargetBody |
A pointer to the target body settings and information. More... | |
SurfacePoint::CoordinateType | m_cpCoordTypeReports |
Indicates the coordinate type for outputting control points in reports. More... | |
SurfacePoint::CoordinateType | m_cpCoordTypeBundle |
Indicates the coordinate type used for control points in the bundle adjustment. More... | |
QString | m_outputFilePrefix |
The prefix for all output files. More... | |
Container class for BundleAdjustment settings.
This class contains all of the settings needed to run a bundle adjustment. A BundleSettings object is passed into the BundleAdjustment constructor.
Definition at line 125 of file BundleSettings.h.
This enum defines the options for the bundle adjustment's convergence.
Definition at line 197 of file BundleSettings.h.
This enum defines the options for maximum likelihood estimation.
Definition at line 230 of file BundleSettings.h.
Isis::BundleSettings::BundleSettings | ( | ) |
Constructs a BundleSettings object.
Default values are set for all member variables. By default, BundleSettings allows creation of the inverse correlation matrix file.
Definition at line 39 of file BundleSettings.cpp.
References init().
Isis::BundleSettings::BundleSettings | ( | const BundleSettings & | other | ) |
This copy constructor sets this BundleSettings' member data to match that of the 'other' given BundleSettings.
other | The BundleSettings object to be copied. |
Definition at line 124 of file BundleSettings.cpp.
Isis::BundleSettings::BundleSettings | ( | Project * | project, |
XmlStackedHandlerReader * | xmlReader | ||
) |
Construct a BundleSettings object from member data read from an XML file.
project | A pointer to the project where the Settings will be saved. |
xmlReader | The Content handler to parse the BundleSettings XML |
Definition at line 110 of file BundleSettings.cpp.
References init(), and Isis::XmlStackedHandlerReader::pushContentHandler().
Isis::BundleSettings::~BundleSettings | ( | ) |
Destroys the BundleSettings object.
Definition at line 153 of file BundleSettings.cpp.
void Isis::BundleSettings::addMaximumLikelihoodEstimatorModel | ( | MaximumLikelihoodWFunctions::Model | model, |
double | maxModelCQuantile | ||
) |
Add a maximum likelihood estimator (MLE) model to the bundle adjustment.
model | The enumeration for the model to be used. |
maxModelCQuantile | The C-Quantile of the residual to be used to compute the tweaking constant. |
Isis::Exception::Programmer | "For bundle adjustments with multiple maximum likelihood estimators, the first model must be of type HUBER or HUBER_MODIFIED." |
Definition at line 727 of file BundleSettings.cpp.
References Isis::MaximumLikelihoodWFunctions::HuberModified, m_maximumLikelihood, and Isis::IException::Programmer.
BundleTargetBodyQsp Isis::BundleSettings::bundleTargetBody | ( | ) | const |
Retrieves a pointer to target body information for the bundle adjustment.
Definition at line 779 of file BundleSettings.cpp.
References m_bundleTargetBody.
Referenced by setBundleTargetBody().
SurfacePoint::CoordinateType Isis::BundleSettings::controlPointCoordTypeBundle | ( | ) | const |
Indicates the control point coordinate type for the actual bundle adjust.
This method returns the control point coordinate setting for performing the bundle adjust.
Definition at line 375 of file BundleSettings.cpp.
References m_cpCoordTypeBundle.
Referenced by save().
SurfacePoint::CoordinateType Isis::BundleSettings::controlPointCoordTypeReports | ( | ) | const |
Indicates the control point coordinate type for reports.
This method returns the control point coordinate setting for reporting control points.
Definition at line 361 of file BundleSettings.cpp.
References m_cpCoordTypeReports.
Referenced by save().
BundleSettings::ConvergenceCriteria Isis::BundleSettings::convergenceCriteria | ( | ) | const |
Retrieves the convergence criteria to be used to solve the bundle adjustment.
Definition at line 660 of file BundleSettings.cpp.
References m_convergenceCriteria.
Referenced by save().
int Isis::BundleSettings::convergenceCriteriaMaximumIterations | ( | ) | const |
Retrieves the maximum number of iterations allowed to solve the bundle adjustment.
maximumIterations | The maximum number of iterations allowed before the bundle adjustment determines that the data is not converging. |
Definition at line 684 of file BundleSettings.cpp.
References m_convergenceCriteriaMaximumIterations.
Referenced by save().
double Isis::BundleSettings::convergenceCriteriaThreshold | ( | ) | const |
Retrieves the convergence threshold to be used to solve the bundle adjustment.
Definition at line 671 of file BundleSettings.cpp.
References m_convergenceCriteriaThreshold.
Referenced by save().
|
static |
Converts the given BundleSettings::ConvergenceCriteria enumeration to a string.
This method is used to print the type of convergence criteria used in the bundle adjustment.
criteria | The ConvergenceCriteria enumeration to be converted. |
Isis::Exception::Programmer | "Unknown bundle convergence criteria enum." |
Definition at line 625 of file BundleSettings.cpp.
References ParameterCorrections, Isis::IException::Programmer, Sigma0, and Isis::toString().
Referenced by save().
bool Isis::BundleSettings::createInverseMatrix | ( | ) | const |
Indicates if the settings will allow the inverse correlation matrix to be created.
This method is used to determine if the inverse correlation matrix file will be created when creating error propagation information in the bundle adjust. If error propagation is not turned on, then the inverse correlation matrix file will not be created.
Definition at line 391 of file BundleSettings.cpp.
References m_createInverseMatrix, and m_errorPropagation.
Referenced by save().
QString Isis::BundleSettings::cubeList | ( | ) | const |
Definition at line 244 of file BundleSettings.cpp.
Referenced by setCubeList().
bool Isis::BundleSettings::errorPropagation | ( | ) | const |
This method is used to determine whether this bundle adjustment will perform error propagation.
Definition at line 448 of file BundleSettings.cpp.
References m_errorPropagation.
Referenced by save(), and setSolveOptions().
double Isis::BundleSettings::globalPointCoord1AprioriSigma | ( | ) | const |
Retrieves global a priori sigma for 1st coordinate of points for this bundle.
Definition at line 486 of file BundleSettings.cpp.
References m_globalPointCoord1AprioriSigma.
Referenced by save(), and setSolveOptions().
double Isis::BundleSettings::globalPointCoord2AprioriSigma | ( | ) | const |
Retrieves the global a priori sigma for 2nd coordinate of points for this bundle.
Definition at line 496 of file BundleSettings.cpp.
References m_globalPointCoord2AprioriSigma.
Referenced by save(), and setSolveOptions().
double Isis::BundleSettings::globalPointCoord3AprioriSigma | ( | ) | const |
Retrieves the global a priori sigma 3rd coordinate of points for this bundle.
Definition at line 506 of file BundleSettings.cpp.
References m_globalPointCoord3AprioriSigma.
Referenced by save(), and setSolveOptions().
|
private |
Set Default vales for a BundleSettings object.
Note we call the default constructor to initialize the TargetBody information that is not currently in the XML.
Definition at line 50 of file BundleSettings.cpp.
References Isis::SurfacePoint::Latitudinal, m_convergenceCriteria, m_convergenceCriteriaMaximumIterations, m_convergenceCriteriaThreshold, m_cpCoordTypeBundle, m_cpCoordTypeReports, m_createInverseMatrix, m_errorPropagation, m_globalPointCoord1AprioriSigma, m_globalPointCoord2AprioriSigma, m_globalPointCoord3AprioriSigma, m_maximumLikelihood, m_outlierRejection, m_outlierRejectionMultiplier, m_outputFilePrefix, m_solveObservationMode, m_solveRadius, m_solveTargetBody, m_updateCubeLabel, m_validateNetwork, Isis::Null, and Sigma0.
Referenced by BundleSettings().
QList< QPair< MaximumLikelihoodWFunctions::Model, double > > Isis::BundleSettings::maximumLikelihoodEstimatorModels | ( | ) | const |
Retrieves the list of maximum likelihood estimator (MLE) models with their corresponding C-Quantiles.
Definition at line 749 of file BundleSettings.cpp.
References m_maximumLikelihood.
int Isis::BundleSettings::numberSolveSettings | ( | ) | const |
Retrieves the number of observation solve settings.
Definition at line 517 of file BundleSettings.cpp.
Referenced by observationSolveSettings().
int Isis::BundleSettings::numberTargetBodyParameters | ( | ) | const |
This method is used to determine whether the bundle adjustment will solve for target body pole position.
Definition at line 801 of file BundleSettings.cpp.
References m_bundleTargetBody.
QList< BundleObservationSolveSettings > Isis::BundleSettings::observationSolveSettings | ( | ) | const |
Retrieves solve settings for the observation corresponding to the given index.
Definition at line 576 of file BundleSettings.cpp.
BundleObservationSolveSettings Isis::BundleSettings::observationSolveSettings | ( | int | n | ) | const |
Retrieves solve settings for the observation corresponding to the given index.
n | The index of the BundleObservationSolveSettings object to be accessed. |
IException::Unknown | "Unable to find BundleObservationSolveSettings with given index" |
Definition at line 559 of file BundleSettings.cpp.
References numberSolveSettings(), Isis::toString(), and Isis::IException::Unknown.
BundleObservationSolveSettings Isis::BundleSettings::observationSolveSettings | ( | QString | observationNumber | ) | const |
Retrieves solve settings for the observation corresponding to the given observation number.
If no corresponding settings object exists, return a new solve settings with no related observation numbers.
observationNumber | The observation number associated with the BundleObservationSolveSettings object to be accessed. |
Definition at line 534 of file BundleSettings.cpp.
References numberSolveSettings().
BundleSettings & Isis::BundleSettings::operator= | ( | const BundleSettings & | other | ) |
Assignment operator to allow proper copying of the 'other' BundleSettings object to this one.
other | The BundleSettings object to be copied. |
Definition at line 169 of file BundleSettings.cpp.
References m_bundleTargetBody, m_convergenceCriteria, m_convergenceCriteriaMaximumIterations, m_convergenceCriteriaThreshold, m_cpCoordTypeBundle, m_cpCoordTypeReports, m_createInverseMatrix, m_errorPropagation, m_globalPointCoord1AprioriSigma, m_globalPointCoord2AprioriSigma, m_globalPointCoord3AprioriSigma, m_maximumLikelihood, m_outlierRejection, m_outlierRejectionMultiplier, m_outputFilePrefix, m_solveObservationMode, m_solveRadius, m_solveTargetBody, m_updateCubeLabel, and m_validateNetwork.
bool Isis::BundleSettings::outlierRejection | ( | ) | const |
This method is used to determine whether outlier rejection will be performed on this bundle adjustment.
Definition at line 403 of file BundleSettings.cpp.
References m_outlierRejection.
Referenced by save(), and setOutlierRejection().
double Isis::BundleSettings::outlierRejectionMultiplier | ( | ) | const |
Retrieves the outlier rejection multiplier for the bundle adjustment.
Definition at line 476 of file BundleSettings.cpp.
References m_outlierRejectionMultiplier.
Referenced by save().
QString Isis::BundleSettings::outputFilePrefix | ( | ) | const |
Retrieve the output file prefix.
This string will be appended to all of the output files created by the bundle adjustment.
Definition at line 1036 of file BundleSettings.cpp.
References m_outputFilePrefix.
Referenced by save(), and setOutputFilePrefix().
void Isis::BundleSettings::save | ( | QXmlStreamWriter & | stream, |
const Project * | project | ||
) | const |
This method is used to write a BundleSettings object in an XML format.
stream | The stream to write serialized XML output |
project | The project that contains the settings |
Definition at line 1050 of file BundleSettings.cpp.
References controlPointCoordTypeBundle(), controlPointCoordTypeReports(), convergenceCriteria(), convergenceCriteriaMaximumIterations(), convergenceCriteriaThreshold(), convergenceCriteriaToString(), createInverseMatrix(), errorPropagation(), globalPointCoord1AprioriSigma(), globalPointCoord2AprioriSigma(), globalPointCoord3AprioriSigma(), Isis::IsSpecial(), m_maximumLikelihood, Isis::MaximumLikelihoodWFunctions::modelToString(), outlierRejection(), outlierRejectionMultiplier(), outputFilePrefix(), solveObservationMode(), solveRadius(), Isis::toString(), updateCubeLabel(), and validateNetwork().
void Isis::BundleSettings::setBundleTargetBody | ( | BundleTargetBodyQsp | bundleTargetBody | ) |
Sets the target body for the bundle adjustment.
bundleTargetBody | A pointer to the BundleTargetBody object for the bundle adjustment to be run. |
Definition at line 768 of file BundleSettings.cpp.
References bundleTargetBody(), and m_bundleTargetBody.
void Isis::BundleSettings::setConvergenceCriteria | ( | BundleSettings::ConvergenceCriteria | criteria, |
double | threshold, | ||
int | maximumIterations | ||
) |
Set the convergence criteria options for the bundle adjustment.
criteria | An enumeration for the convergence criteria to be used for this bundle adjustment. |
threshold | The convergence threshold for this bundle adjustment. |
maximumIterations | The maximum number of iterations allowed before the bundle adjustment determines that the data is not converging. |
Definition at line 645 of file BundleSettings.cpp.
References m_convergenceCriteria, m_convergenceCriteriaMaximumIterations, and m_convergenceCriteriaThreshold.
void Isis::BundleSettings::setCreateInverseMatrix | ( | bool | createMatrixFile | ) |
Turn the creation of the inverse correlation matrix file on or off.
Note that the inverse correlation matrix is created in BundleAdjust, and will only be created if error propagation is turned on. By default, BundleSettings allows the inverse matrix to be created. This requires stand-alone applications (e.g. jigsaw) to call this method to turn of the correlation matrix creation.
createMatrixFile | Boolean indicating whether or not to allow the inverse matrix file to be created. |
Definition at line 466 of file BundleSettings.cpp.
References m_createInverseMatrix.
void Isis::BundleSettings::setCubeList | ( | QString | cubeList | ) |
void Isis::BundleSettings::setObservationSolveOptions | ( | QList< BundleObservationSolveSettings > | obsSolveSettingsList | ) |
Add the list of solve options for each observation.
observationSolveSettings | A list of BundleObservationSolveSettings objects to indicate the settings for each observation of the bundle adjustment. |
Definition at line 347 of file BundleSettings.cpp.
void Isis::BundleSettings::setOutlierRejection | ( | bool | outlierRejection, |
double | multiplier = 1.0 |
||
) |
Set the outlier rejection options for the bundle adjustment.
outlierRejection | Indicates whether to perform automatic outlier rejection during the bundle adjustment. |
mutliplier | The outlier rejection multiplier. |
Definition at line 329 of file BundleSettings.cpp.
References m_outlierRejection, m_outlierRejectionMultiplier, and outlierRejection().
void Isis::BundleSettings::setOutputFilePrefix | ( | QString | outputFilePrefix | ) |
Set the output file prefix for the bundle adjustment.
outputFilePrefix | A string containing a prefix and/or directory path |
Definition at line 1022 of file BundleSettings.cpp.
References m_outputFilePrefix, and outputFilePrefix().
void Isis::BundleSettings::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.
solveObservationMode | A boolean value indicating whether to solve for observation mode. |
updateCubeLabel | A boolean value indicating whether to update the cube labels after the bundle adjustment is completed. |
errorPropagation | A boolean value indicating whether to use the cholmod library's error propagation. |
solveRadius | A boolean value indicating whether to solve for radius. |
coordType | The type of coordinates used for control points |
globalPointCoord1AprioriSigma | The global a priori sigma for latitude. |
globalPointCoord2AprioriSigma | The global a priori sigma for longitude. |
globalPointCoord3AprioriSigma | The global a priori sigma for radius. |
Definition at line 269 of file BundleSettings.cpp.
References errorPropagation(), globalPointCoord1AprioriSigma(), globalPointCoord2AprioriSigma(), globalPointCoord3AprioriSigma(), Isis::SurfacePoint::Latitudinal, m_cpCoordTypeBundle, m_cpCoordTypeReports, m_errorPropagation, m_globalPointCoord1AprioriSigma, m_globalPointCoord2AprioriSigma, m_globalPointCoord3AprioriSigma, m_solveObservationMode, m_solveRadius, m_updateCubeLabel, Isis::Null, Isis::SurfacePoint::Rectangular, solveObservationMode(), solveRadius(), and updateCubeLabel().
void Isis::BundleSettings::setValidateNetwork | ( | bool | validate | ) |
Sets the internal flag to indicate whether to validate the network before the bundle adjustment.
validate | Indicates whether the network should be validated by BundleAdjust. |
Definition at line 208 of file BundleSettings.cpp.
References m_validateNetwork, and Isis::validate().
bool Isis::BundleSettings::solveMeanRadius | ( | ) | const |
This method is used to determine whether the bundle adjustment will solve for target body mean radius.
Definition at line 961 of file BundleSettings.cpp.
References m_bundleTargetBody.
bool Isis::BundleSettings::solveObservationMode | ( | ) | const |
This method is used to determine whether this bundle adjustment will solve for observation mode.
Definition at line 414 of file BundleSettings.cpp.
References m_solveObservationMode.
Referenced by save(), and setSolveOptions().
bool Isis::BundleSettings::solvePM | ( | ) | const |
This method is used to determine whether the bundle adjustment will solve for target body prime meridian.
Definition at line 897 of file BundleSettings.cpp.
References m_bundleTargetBody.
bool Isis::BundleSettings::solvePMAcceleration | ( | ) | const |
This method is used to determine whether the bundle adjustment will solve for target body prime meridian acceleration.
Definition at line 929 of file BundleSettings.cpp.
References m_bundleTargetBody.
bool Isis::BundleSettings::solvePMVelocity | ( | ) | const |
This method is used to determine whether the bundle adjustment will solve for target body prime meridian velocity.
Definition at line 913 of file BundleSettings.cpp.
References m_bundleTargetBody.
bool Isis::BundleSettings::solvePoleDec | ( | ) | const |
This method is used to determine whether the bundle adjustment will solve for target body pole declination.
Definition at line 865 of file BundleSettings.cpp.
References m_bundleTargetBody.
bool Isis::BundleSettings::solvePoleDecVelocity | ( | ) | const |
This method is used to determine whether the bundle adjustment will solve for target body pole declination velocity.
Definition at line 881 of file BundleSettings.cpp.
References m_bundleTargetBody.
bool Isis::BundleSettings::solvePoleRA | ( | ) | const |
This method is used to determine whether the bundle adjustment will solve for target body pole right ascension.
Definition at line 833 of file BundleSettings.cpp.
References m_bundleTargetBody.
bool Isis::BundleSettings::solvePoleRAVelocity | ( | ) | const |
This method is used to determine whether the bundle adjustment will solve for target body pole right ascension velocity.
Definition at line 849 of file BundleSettings.cpp.
References m_bundleTargetBody.
bool Isis::BundleSettings::solveRadius | ( | ) | const |
This method is used to determine whether this bundle adjustment will solve for radius.
Definition at line 425 of file BundleSettings.cpp.
References m_solveRadius.
Referenced by save(), and setSolveOptions().
bool Isis::BundleSettings::solveTargetBody | ( | ) | const |
This method is used to determine whether the bundle adjustment will solve for target body.
Definition at line 815 of file BundleSettings.cpp.
References m_bundleTargetBody.
bool Isis::BundleSettings::solveTriaxialRadii | ( | ) | const |
This method is used to determine whether the bundle adjustment will solve for target body triaxial radii.
Definition at line 945 of file BundleSettings.cpp.
References m_bundleTargetBody.
|
static |
Converts the given string value to a BundleSettings::ConvergenceCriteria enumeration.
Currently accepted inputs are listed below. This method is case insensitive.
criteria | Convergence criteria name to be converted. |
Isis::Exception::Programmer | "Unknown bundle convergence criteria." |
Definition at line 601 of file BundleSettings.cpp.
References ParameterCorrections, Isis::IException::Programmer, and Sigma0.
Referenced by Isis::BundleSettings::XmlHandler::startElement().
bool Isis::BundleSettings::updateCubeLabel | ( | ) | const |
This method is used to determine whether this bundle adjustment will update the cube labels.
Definition at line 437 of file BundleSettings.cpp.
References m_updateCubeLabel.
Referenced by save(), and setSolveOptions().
bool Isis::BundleSettings::validateNetwork | ( | ) | const |
This method is used to determine whether to validate the network before the bundle adjustment.
Definition at line 223 of file BundleSettings.cpp.
References m_validateNetwork.
Referenced by save().
|
private |
A pointer to the target body settings and information.
Definition at line 390 of file BundleSettings.h.
Referenced by bundleTargetBody(), numberTargetBodyParameters(), operator=(), setBundleTargetBody(), solveMeanRadius(), solvePM(), solvePMAcceleration(), solvePMVelocity(), solvePoleDec(), solvePoleDecVelocity(), solvePoleRA(), solvePoleRAVelocity(), solveTargetBody(), and solveTriaxialRadii().
|
private |
Enumeration used to indicate what criteria to use to determine bundle adjustment convergence.
Definition at line 367 of file BundleSettings.h.
Referenced by convergenceCriteria(), init(), operator=(), and setConvergenceCriteria().
|
private |
Maximum number of iterations before quitting the bundle adjustment if it has not yet converged to the given threshold.
Definition at line 372 of file BundleSettings.h.
Referenced by convergenceCriteriaMaximumIterations(), init(), operator=(), and setConvergenceCriteria().
|
private |
Tolerance value corresponding to the selected convergence criteria.
Definition at line 370 of file BundleSettings.h.
Referenced by convergenceCriteriaThreshold(), init(), operator=(), and setConvergenceCriteria().
|
private |
Indicates the coordinate type used for control points in the bundle adjustment.
Definition at line 395 of file BundleSettings.h.
Referenced by controlPointCoordTypeBundle(), init(), operator=(), and setSolveOptions().
|
private |
Indicates the coordinate type for outputting control points in reports.
Definition at line 393 of file BundleSettings.h.
Referenced by controlPointCoordTypeReports(), init(), operator=(), and setSolveOptions().
|
private |
Indicates whether to create the inverse matrix file.
Definition at line 352 of file BundleSettings.h.
Referenced by createInverseMatrix(), init(), operator=(), and setCreateInverseMatrix().
|
private |
Indicates whether to perform error propagation.
Definition at line 351 of file BundleSettings.h.
Referenced by createInverseMatrix(), errorPropagation(), init(), operator=(), and setSolveOptions().
|
private |
The global a priori sigma for latitude or X.
Definition at line 359 of file BundleSettings.h.
Referenced by globalPointCoord1AprioriSigma(), init(), operator=(), and setSolveOptions().
|
private |
The global a priori sigma for longitude or Y.
Definition at line 360 of file BundleSettings.h.
Referenced by globalPointCoord2AprioriSigma(), init(), operator=(), and setSolveOptions().
|
private |
The global a priori sigma for radius or Z.
Definition at line 361 of file BundleSettings.h.
Referenced by globalPointCoord3AprioriSigma(), init(), operator=(), and setSolveOptions().
|
private |
Model and C-Quantile for each of the three maximum likelihood estimations.
The C-Quantile is the quantile of the residual used to compute the tweaking constant. Note that this is an ordered list and that the Welsch and Chen models can not be used for the first model.
Definition at line 384 of file BundleSettings.h.
Referenced by addMaximumLikelihoodEstimatorModel(), init(), maximumLikelihoodEstimatorModels(), operator=(), and save().
|
private |
Indicates whether to perform automatic outlier detection/rejection.
Definition at line 353 of file BundleSettings.h.
Referenced by init(), operator=(), outlierRejection(), and setOutlierRejection().
|
private |
The multiplier value for outlier rejection.
Defaults to 1, so no change if rejection = false.
Definition at line 355 of file BundleSettings.h.
Referenced by init(), operator=(), outlierRejectionMultiplier(), and setOutlierRejection().
|
private |
The prefix for all output files.
If the user does not want output files to be written to the current directory, the output directory path should be included in this prefix.
Definition at line 398 of file BundleSettings.h.
Referenced by init(), operator=(), outputFilePrefix(), and setOutputFilePrefix().
|
private |
Indicates whether to solve for observation mode.
Definition at line 348 of file BundleSettings.h.
Referenced by init(), operator=(), setSolveOptions(), and solveObservationMode().
|
private |
Indicates whether to solve for point radii.
Definition at line 349 of file BundleSettings.h.
Referenced by init(), operator=(), setSolveOptions(), and solveRadius().
|
private |
Indicates whether to solve for target body.
Definition at line 389 of file BundleSettings.h.
Referenced by init(), and operator=().
|
private |
Indicates whether to update cubes.
Definition at line 350 of file BundleSettings.h.
Referenced by init(), operator=(), setSolveOptions(), and updateCubeLabel().
|
private |
Indicates whether the network should be validated.
Definition at line 346 of file BundleSettings.h.
Referenced by init(), operator=(), setValidateNetwork(), and validateNetwork().