  | 
  
    Isis 3 Programmer Reference
    
   | 
 
 
 
 
    1 #ifndef BundleResults_h 
    2 #define BundleResults_h 
   20 #include "BundleControlPoint.h" 
   21 #include "BundleObservationVector.h" 
   22 #include "BundleSettings.h" 
   23 #include "ControlNet.h" 
   25 #include "MaximumLikelihoodWFunctions.h" 
   26 #include "PvlObject.h" 
   27 #include "Statistics.h"  
   28 #include "SurfacePoint.h" 
   29 #include "XmlStackedHandler.h" 
   34 class QXmlStreamWriter;
 
  102                                  QString minCoord1PointId, QString maxCoord1PointId);
 
  104                                   QString minCoord2PointId, QString maxCoord2PointId);
 
  106                                QString minCoord3PointId, QString maxCoord3PointId);
 
  108                                      double rmsFromSigmaCoord2Stats,
 
  109                                      double rmsFromSigmaCoord3Stats);
 
  127       double computeRejectionLimit(
ControlNet *p_Cnet,
 
  128                                    double outlierRejectionMultiplier,
 
  129                                    int numObservations);
 
  133       double computeResiduals(
 
  135                std::vector< boost::numeric::ublas::bounded_vector< double, 3 > > pointWeights,
 
  136                std::vector< boost::numeric::ublas::bounded_vector< double, 3 > > pointCorrections,
 
  138                std::vector< double > imageParameterWeights,
 
  139                int numImagePartials,
 
  198       double rmsRx() 
const;  
 
  199       double rmsRy() 
const;  
 
  239       void save(QXmlStreamWriter &stream, 
const Project *project) 
const;
 
  258           virtual bool startElement(
const QString &namespaceURI, 
const QString &localName,
 
  259                                     const QString &qName, 
const QXmlAttributes &atts);
 
  261           virtual bool endElement(
const QString &namespaceURI, 
const QString &localName,
 
  262                                   const QString &qName);
 
  269           QString m_xmlHandlerCharacters;
 
  270           int m_xmlHandlerResidualsListSize;
 
  271           int m_xmlHandlerSampleResidualsListSize;
 
  272           int m_xmlHandlerLineResidualsListSize;
 
  273           int m_xmlHandlerXSigmasListSize;
 
  274           int m_xmlHandlerYSigmasListSize;
 
  275           int m_xmlHandlerZSigmasListSize;
 
  276           int m_xmlHandlerRASigmasListSize;
 
  277           int m_xmlHandlerDECSigmasListSize;
 
  278           int m_xmlHandlerTWISTSigmasListSize;
 
  282           QString m_xmlHandlerCorrelationImageId;
 
  412 #endif // BundleResults_h 
 
 
double maximumLikelihoodMedianR2Residuals() const
Returns the median of the |R^2 residuals|.
 
QString minSigmaCoord2PointId() const
Returns the minimum sigma point id for coordinate 2.
 
This class is an XmlHandler used to read and write BundleResults objects from and to XML files.
 
int numberUnknownParameters() const
Returns the number of unknown parameters.
 
int numberConstrainedPointParameters() const
Returns the number of constrained point parameters.
 
int iterations() const
Returns the number of iterations taken by the BundleAdjust.
 
QString maxSigmaCoord2PointId() const
Returns the maximum sigma point id for coordinate 2.
 
virtual bool endElement(const QString &namespaceURI, const QString &localName, const QString &qName)
Handle end tags for the BundleResults serialized XML.
 
double m_rmsYResiduals
rms of y residuals
 
CorrelationMatrix * m_correlationMatrix
The correlation matrix from the BundleAdjust.
 
void incrementNumberConstrainedTargetParameters(int incrementAmount)
Increases the number of constrained target parameters.
 
bool converged() const
Returns whether or not the bundle adjustment converged.
 
MaximumLikelihoodWFunctions maximumLikelihoodModelWFunc(int modelIndex) const
Returns the maximum likelihood model at the given index.
 
Contains Pvl Groups and Pvl Objects.
 
int numberConstrainedImageParameters() const
Returns the number of constrained image parameters.
 
Distance m_maxSigmaCoord1Distance
The maximum sigma latitude distance.
 
int numberObservations() const
Returns the number of observations.
 
void printMaximumLikelihoodTierInformation()
Prints out information about which tier the solution is in and the status of the residuals.
 
void resetNumberConstrainedImageParameters()
Resets the number of constrained image parameters to 0.
 
This is free and unencumbered software released into the public domain.
 
void setSigmaCoord2Range(Distance minCoord2Dist, Distance maxCoord2Dist, QString minCoord2PointId, QString maxCoord2PointId)
Sets the min and max sigma distances and point ids for coordinate 2.
 
Distance maxSigmaCoord3Distance() const
Returns the maximum sigma distance for coordinate 3.
 
int m_maximumLikelihoodIndex
This count keeps track of which stage of the maximum likelihood adjustment the bundle is currently on...
 
QVector< Statistics > m_rmsImageZSigmas
< The root mean square image z sigmas.
 
int m_numberObservations
number of image coordinate observations
 
void setOutputControlNet(ControlNetQsp outNet)
Sets the output ControlNet.
 
QVector< Statistics > m_rmsImageTWISTSigmas
< The root mean square image twist sigmas.
 
QList< Statistics > rmsImageResiduals() const
Returns the list of RMS image residuals statistics.
 
double sigmaCoord1StatisticsRms() const
Returns the RMS of the adjusted sigmas for coordinate 1.
 
void setSigma0(double sigma0)
Sets the sigma0.
 
int m_numberConstrainedPointParameters
number of constrained point parameters
 
int m_numberRejectedObservations
number of rejected image coordinate observations
 
BundleResults & operator=(const BundleResults &src)
Assignment operator for BundleResults.
 
File name manipulation and expansion.
 
StatCumProbDistDynCalc * m_cumPro
This class will be used to calculate the cumulative probability distribution of |R^2 residuals|,...
 
int m_numberConstrainedTargetParameters
number of constrained target parameters
 
double elapsedTimeErrorProp() const
Returns the elapsed time for error propagation.
 
QString m_maxSigmaCoord3PointId
The maximum sigma coordinate 3 point id.
 
double m_maximumLikelihoodMedianR2Residuals
Median of R^2 residuals.
 
int numberIgnoredPoints() const
Returns the number of ignored points.
 
QString m_minSigmaCoord3PointId
The minimum sigma coordinate 3 point id.
 
QString m_minSigmaCoord2PointId
The minimum sigma coordinate 2 point id.
 
QVector< Statistics > rmsImageTWISTSigmas() const
Returns the list of RMS image twist sigma statistics.
 
void initializeProbabilityDistribution(unsigned int nodes=20)
Initializes or resets the cumulative probability distribution of |R^2 residuals|.
 
QString minSigmaCoord1PointId() const
Returns the minimum sigma point id for coordinate 1.
 
void setConverged(bool converged)
Sets if the bundle adjustment converged.
 
int numberFixedPoints() const
Returns the number of 'fixed' (ground) points.
 
void setIterations(int iterations)
Sets the number of iterations taken by the BundleAdjust.
 
Distance maxSigmaCoord1Distance() const
Returns the maximum sigma distance for coordinate 1.
 
int m_degreesOfFreedom
degrees of freedom
 
int numberImageParameters() const
Returns the total number of image parameters.
 
QVector< Statistics > m_rmsImageRASigmas
< The root mean square image right ascension sigmas.
 
double m_rmsSigmaCoord1Stats
rms of adjusted Latitude sigmas
 
Distance minSigmaCoord3Distance() const
Returns the minimum sigma distance for coordinate 3.
 
StatCumProbDistDynCalc * m_cumProRes
This class keeps track of the cumulative probability distribution of residuals (in unweighted pixels)...
 
int numberMaximumLikelihoodModels() const
Returns how many maximum likelihood models were used in the bundle adjustment.
 
double sigma0() const
Returns the Sigma0 of the bundle adjustment.
 
double rmsRxy() const
Returns the RMS of the x and y residuals.
 
int m_numberImageParameters
number of image parameters
 
~XmlHandler()
Destroys an XmlHandler.
 
QVector< BundleControlPointQsp > & bundleControlPoints()
Returns a reference to the BundleControlPoint vector.
 
BundleObservationVector m_observations
The vector of BundleObservations from BundleAdjust.
 
QList< Statistics > rmsImageLineResiduals() const
Returns the list of RMS image line residuals statistics.
 
int maximumLikelihoodModelIndex() const
Returns which step the bundle adjustment is on.
 
Distance m_maxSigmaCoord3Distance
The maximum sigma radius distance.
 
void incrementNumberConstrainedImageParameters(int incrementAmount)
Increase the number of constrained image parameters.
 
Serial Number list generator.
 
Manage a stack of content handlers for reading XML files.
 
This is a container for the correlation matrix that comes from a bundle adjust.
 
double m_elapsedTimeErrorProp
elapsed time for error propagation
 
QVector< Statistics > rmsImageYSigmas() const
Returns the list of RMS image y sigma statistics.
 
void initialize()
Initializes the BundleResults to a default state where all numeric members are set to 0 or another de...
 
int m_numberIgnoredPoints
number of ignored points
 
StatCumProbDistDynCalc cumulativeProbabilityDistribution() const
Returns the cumulative probability distribution of the |R^2 residuals|.
 
double elapsedTime() const
Returns the elapsed time for the bundle adjustment.
 
QVector< Statistics > rmsImageZSigmas() const
Returns the list of RMS image z sigma statistics.
 
void setNumberRejectedObservations(int numberObservations)
Sets the number of rejected observations.
 
Distance measurement, usually in meters.
 
void setRejectionLimit(double rejectionLimit)
Sets the rejection limit.
 
The main project for ipce.
 
void setRmsFromSigmaStatistics(double rmsFromSigmaCoord1Stats, double rmsFromSigmaCoord2Stats, double rmsFromSigmaCoord3Stats)
Sets the root mean square values of the adjusted sigmas for all three coordinates.
 
int degreesOfFreedom() const
Returns the degrees of freedom.
 
int m_numberConstrainedImageParameters
number of constrained image parameters
 
double rmsRx() const
Returns the RMS of the x residuals.
 
This class is used to approximate cumulative probibility distributions of a stream of observations wi...
 
void setBundleControlPoints(QVector< BundleControlPointQsp > controlPoints)
Sets the bundle control point vector.
 
Distance m_minSigmaCoord3Distance
The minimum sigma radius distance.
 
QString m_maxSigmaCoord1PointId
The maximum sigma coordinate 1 point id.
 
QList< Statistics > m_rmsImageResiduals
RMS image sample and line residual statistics for each image in the bundle
 
void incrementFixedPoints()
Increase the number of 'fixed' (ground) points.
 
const BundleObservationVector & observations() const
Returns a reference to the observations used by the BundleAdjust.
 
double m_rmsXResiduals
rms of x residuals
 
void resetNumberConstrainedPointParameters()
Resets the number of contrained point parameters to 0.
 
void setElapsedTime(double time)
Sets the elapsed time for the bundle adjustment.
 
boost::numeric::ublas::vector< double > Vector
Definition for an Isis::LinearAlgebra::Vector of doubles.
 
virtual bool startElement(const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &atts)
Handle an XML start element.
 
double m_sigma0
std deviation of unit weight
 
QString maxSigmaCoord1PointId() const
Returns the maximum sigma point id for coordinate 1.
 
CoordinateType
Defines the coordinate typ, units, and coordinate index for some of the output methods.
 
ConvergenceCriteria
This enum defines the options for the bundle adjustment's convergence.
 
void incrementNumberConstrainedPointParameters(int incrementAmount)
Increase the number of contrained point parameters.
 
double m_rejectionLimit
current rejection limit
 
void setSigmaCoord1Range(Distance minCoord1Dist, Distance maxCoord1Dist, QString minCoord1PointId, QString maxCoord1PointId)
Sets the min and max sigma distances and point ids for coordinate 1.
 
QString maxSigmaCoord3PointId() const
Returns the maximum sigma point id for coordinate 3.
 
void setNumberUnknownParameters(int numberParameters)
Sets the total number of parameters to solve for.
 
ControlNetQsp m_outNet
The output control net from BundleAdjust.
 
double m_rmsSigmaCoord2Stats
rms of adjusted Longitude sigmas
 
void addProbabilityDistributionObservation(double obsValue)
Adds an observation to the cumulative probability distribution of |R^2 residuals|.
 
virtual bool characters(const QString &ch)
Adds a QString to the XmlHandler's internal character data.
 
void setNumberObservations(int numberObservations)
Sets the number of observations.
 
ControlNetQsp outputControlNet() const
Returns a shared pointer to the output control network.
 
Distance m_maxSigmaCoord2Distance
The maximum sigma longitude distance.
 
int numberHeldImages() const
Returns the number of 'held' images.
 
double m_elapsedTime
elapsed time for bundle
 
double sigmaCoord3StatisticsRms() const
Returns the RMS of the adjusted sigmas for coordinate 3.
 
Distance maxSigmaCoord2Distance() const
Returns the maximum sigma distance for coordinate 2.
 
void addResidualsProbabilityDistributionObservation(double obsValue)
Adds an observation to the cumulative probability distribution of residuals used for reporting.
 
void setDegreesOfFreedom(double degreesOfFreedom)
Sets the degrees of freedom.
 
QList< Statistics > m_rmsImageLineResiduals
List of RMS image line residual statistics for each image in the bundle
 
int m_iterations
The number of iterations taken by BundleAdjust.
 
void computeSigma0(double dvtpv, BundleSettings::ConvergenceCriteria criteria)
Computes the sigma0 and stores it internally.
 
BundleResults(QObject *parent=0)
Constructs a BundleResults object.
 
Distance minSigmaCoord1Distance() const
Returns the minimum sigma distance for coordinate 1.
 
double rejectionLimit() const
Returns the rejection limit.
 
double sigmaCoord2StatisticsRms() const
Returns the RMS of the adjusted sigmas for coordinate 2.
 
void maximumLikelihoodSetUp(QList< QPair< MaximumLikelihoodWFunctions::Model, double > > modelsWithQuantiles)
This method steps up the maximum likelihood estimation solution.
 
void setCorrMatImgsAndParams(QMap< QString, QStringList > imgsAndParams)
Set the images and their associated parameters of the correlation matrix.
 
QVector< Statistics > rmsImageDECSigmas() const
Returns the list of RMS image declination sigma statistics.
 
double m_rmsSigmaCoord3Stats
rms of adjusted Radius sigmas
 
double maximumLikelihoodModelQuantile(int modelIndex) const
Returns the quantile of the maximum likelihood model at the given index.
 
XmlHandler(BundleResults *statistics, Project *project)
Constructs an XmlHandler used to save a BundleResults object.
 
Distance m_minSigmaCoord2Distance
The minimum sigma longitude distance.
 
int m_numberFixedPoints
number of 'fixed' (ground) points (define)
 
QString minSigmaCoord3PointId() const
Returns the minimum sigma point id for coordinate 3.
 
double m_rmsXYResiduals
rms of all x and y residuals
 
CorrelationMatrix correlationMatrix() const
Returns the Correlation Matrix.
 
void setElapsedTimeErrorProp(double time)
Sets the elapsed time for error propegation.
 
QVector< Statistics > m_rmsImageYSigmas
< The root mean square image y sigmas.
 
double rmsRy() const
Returns the RMS of the y residuals.
 
void setRmsXYResiduals(double rx, double ry, double rxy)
Sets the root mean square of the x and y residuals.
 
int numberConstrainedTargetParameters() const
Return the number of constrained target parameters.
 
void setCorrMatCovFileName(FileName name)
Set the covariance file name for the matrix used to calculate the correlation matrix.
 
QVector< Statistics > m_rmsImageDECSigmas
< The root mean square image declination sigmas.
 
This is free and unencumbered software released into the public domain.
 
void setRmsImageResidualLists(QList< Statistics > rmsImageLineResiduals, QList< Statistics > rmsImageSampleResiduals, QList< Statistics > rmsImageResiduals)
Sets the root mean square image residual Statistics lists.
 
XML Handler that parses XMLs in a stack-oriented way.
 
QList< Statistics > m_rmsImageSampleResiduals
List of RMS image sample residual statistics for each image in the bundle
 
void incrementMaximumLikelihoodModelIndex()
Increases the value that indicates which stage the maximum likelihood adjustment is currently on.
 
void initializeResidualsProbabilityDistribution(unsigned int nodes=20)
Initializes or resets the cumulative probability distribution of residuals used for reporting.
 
Class provides maximum likelihood estimation functions for robust parameter estimation,...
 
void incrementIgnoredPoints()
Increase the number of ignored points.
 
void computeDegreesOfFreedom()
Computes the degrees of freedom of the bundle adjustment and stores it internally.
 
Distance m_minSigmaCoord1Distance
The minimum sigma latitude distance.
 
void incrementHeldImages()
Increases the number of 'held' images.
 
void setObservations(BundleObservationVector observations)
Sets the vector of BundleObservations.
 
int numberRejectedObservations() const
Returns the number of observation that were rejected.
 
QVector< Statistics > rmsImageXSigmas() const
Returns the list of RMS image x sigma statistics.
 
void resetNumberConstrainedTargetParameters()
Resets the number of constrained target parameters to 0.
 
int m_numberHeldImages
number of 'held' images (define)
 
QList< QPair< MaximumLikelihoodWFunctions, double > > m_maximumLikelihoodFunctions
< The maximum likelihood models and their quantiles.
 
A container class for statistical results from a BundleAdjust solution.
 
Distance minSigmaCoord2Distance() const
Returns the minimum sigma distance for coordinate 2.
 
This is free and unencumbered software released into the public domain.
 
void setSigmaCoord3Range(Distance minCoord3Dist, Distance maxCoord3Dist, QString minCoord3PointId, QString maxCoord3PointId)
Sets the min and max sigma distances and point ids for coordinate 3.
 
QVector< BundleControlPointQsp > m_bundleControlPoints
The vector of BundleControlPoints from BundleAdjust.
 
void save(QXmlStreamWriter &stream, const Project *project) const
Saves the BundleResults object to an XML file.
 
QString m_maxSigmaCoord2PointId
The maximum sigma coordinate2 point id.
 
void setNumberImageParameters(int numberParameters)
Sets the number of image parameters.
 
QList< Statistics > rmsImageSampleResiduals() const
Returns the list of RMS image sample residuals statistics.
 
StatCumProbDistDynCalc residualsCumulativeProbabilityDistribution() const
Returns the cumulative probability distribution of the residuals used for reporting.
 
This is free and unencumbered software released into the public domain.
 
This class is a container class for BundleObservations.
 
void resizeSigmaStatisticsVectors(int numberImages)
Resizes all image sigma vectors.
 
Q_DECLARE_METATYPE(Isis::PlotWindow *)
We have plot windows as QVariant data types, so here it's enabled.
 
~BundleResults()
Destroys this BundleResults object.
 
QVector< Statistics > rmsImageRASigmas() const
Returns the list of RMS image right ascension sigma statistics.
 
int m_numberUnknownParameters
total number of parameters to solve for
 
QString m_minSigmaCoord1PointId
The minimum sigma coordinate 1 point id.