1 #ifndef BundleResults_h 2 #define BundleResults_h 48 class QXmlStreamWriter;
116 QString minCoord1PointId, QString maxCoord1PointId);
118 QString minCoord2PointId, QString maxCoord2PointId);
120 QString minCoord3PointId, QString maxCoord3PointId);
122 double rmsFromSigmaCoord2Stats,
123 double rmsFromSigmaCoord3Stats);
141 double computeRejectionLimit(
ControlNet *p_Cnet,
142 double outlierRejectionMultiplier,
143 int numObservations);
147 double computeResiduals(
149 std::vector< boost::numeric::ublas::bounded_vector< double, 3 > > pointWeights,
150 std::vector< boost::numeric::ublas::bounded_vector< double, 3 > > pointCorrections,
152 std::vector< double > imageParameterWeights,
153 int numImagePartials,
212 double rmsRx()
const;
213 double rmsRy()
const;
253 void save(QXmlStreamWriter &stream,
const Project *project)
const;
272 virtual bool startElement(
const QString &namespaceURI,
const QString &localName,
273 const QString &qName,
const QXmlAttributes &atts);
274 virtual bool characters(
const QString &ch);
275 virtual bool endElement(
const QString &namespaceURI,
const QString &localName,
276 const QString &qName);
279 Q_DISABLE_COPY(XmlHandler);
283 QString m_xmlHandlerCharacters;
284 int m_xmlHandlerResidualsListSize;
285 int m_xmlHandlerSampleResidualsListSize;
286 int m_xmlHandlerLineResidualsListSize;
287 int m_xmlHandlerXSigmasListSize;
288 int m_xmlHandlerYSigmasListSize;
289 int m_xmlHandlerZSigmasListSize;
290 int m_xmlHandlerRASigmasListSize;
291 int m_xmlHandlerDECSigmasListSize;
292 int m_xmlHandlerTWISTSigmasListSize;
296 QString m_xmlHandlerCorrelationImageId;
303 int m_numberFixedPoints;
305 int m_numberIgnoredPoints;
306 int m_numberHeldImages;
309 double m_rmsXResiduals;
310 double m_rmsYResiduals;
311 double m_rmsXYResiduals;
313 double m_rejectionLimit;
315 int m_numberObservations;
316 int m_numberRejectedObservations;
317 int m_numberUnknownParameters;
318 int m_numberImageParameters;
319 int m_numberConstrainedImageParameters;
320 int m_numberConstrainedPointParameters;
321 int m_numberConstrainedTargetParameters;
322 int m_degreesOfFreedom;
324 double m_elapsedTime;
325 double m_elapsedTimeErrorProp;
377 QString m_minSigmaCoord1PointId;
378 QString m_maxSigmaCoord1PointId;
379 QString m_minSigmaCoord2PointId;
380 QString m_maxSigmaCoord2PointId;
381 QString m_minSigmaCoord3PointId;
382 QString m_maxSigmaCoord3PointId;
384 double m_rmsSigmaCoord1Stats;
385 double m_rmsSigmaCoord2Stats;
386 double m_rmsSigmaCoord3Stats;
406 int m_maximumLikelihoodIndex;
418 double m_maximumLikelihoodMedianR2Residuals;
426 #endif // BundleResults_h void setObservations(BundleObservationVector observations)
Sets the vector of BundleObservations.
Definition: BundleResults.cpp:854
This class is a container class for BundleObservations.
Definition: BundleObservationVector.h:65
Distance minSigmaCoord2Distance() const
Returns the minimum sigma distance for coordinate 2.
Definition: BundleResults.cpp:977
void incrementFixedPoints()
Increase the number of 'fixed' (ground) points.
Definition: BundleResults.cpp:558
void setSigmaCoord1Range(Distance minCoord1Dist, Distance maxCoord1Dist, QString minCoord1PointId, QString maxCoord1PointId)
Sets the min and max sigma distances and point ids for coordinate 1.
Definition: BundleResults.cpp:375
QString maxSigmaCoord3PointId() const
Returns the maximum sigma point id for coordinate 3.
Definition: BundleResults.cpp:1067
The main project for ipce.
Definition: Project.h:289
void setElapsedTime(double time)
Sets the elapsed time for the bundle adjustment.
Definition: BundleResults.cpp:794
int numberObservations() const
Returns the number of observations.
Definition: BundleResults.cpp:1157
void setNumberImageParameters(int numberParameters)
Sets the number of image parameters.
Definition: BundleResults.cpp:658
void setCorrMatCovFileName(FileName name)
Set the covariance file name for the matrix used to calculate the correlation matrix.
Definition: BundleResults.cpp:1414
const BundleObservationVector & observations() const
Returns a reference to the observations used by the BundleAdjust.
Definition: BundleResults.cpp:1304
void setSigmaCoord3Range(Distance minCoord3Dist, Distance maxCoord3Dist, QString minCoord3PointId, QString maxCoord3PointId)
Sets the min and max sigma distances and point ids for coordinate 3.
Definition: BundleResults.cpp:409
This is a container for the correlation matrix that comes from a bundle adjust.
Definition: CorrelationMatrix.h:72
File name manipulation and expansion.
Definition: FileName.h:116
void resetNumberConstrainedPointParameters()
Resets the number of contrained point parameters to 0.
Definition: BundleResults.cpp:666
void save(QXmlStreamWriter &stream, const Project *project) const
Saves the BundleResults object to an XML file.
Definition: BundleResults.cpp:1449
void printMaximumLikelihoodTierInformation()
Prints out information about which tier the solution is in and the status of the residuals.
Definition: BundleResults.cpp:484
QVector< Statistics > rmsImageDECSigmas() const
Returns the list of RMS image declination sigma statistics.
Definition: BundleResults.cpp:937
void incrementNumberConstrainedImageParameters(int incrementAmount)
Increase the number of constrained image parameters.
Definition: BundleResults.cpp:694
double sigmaCoord1StatisticsRms() const
Returns the RMS of the adjusted sigmas for coordinate 1.
Definition: BundleResults.cpp:1077
void setRmsImageResidualLists(QList< Statistics > rmsImageLineResiduals, QList< Statistics > rmsImageSampleResiduals, QList< Statistics > rmsImageResiduals)
Sets the root mean square image residual Statistics lists.
Definition: BundleResults.cpp:358
double sigmaCoord3StatisticsRms() const
Returns the RMS of the adjusted sigmas for coordinate 3.
Definition: BundleResults.cpp:1097
QVector< Statistics > rmsImageZSigmas() const
Returns the list of RMS image z sigma statistics.
Definition: BundleResults.cpp:917
void addProbabilityDistributionObservation(double obsValue)
Adds an observation to the cumulative probability distribution of |R^2 residuals|.
Definition: BundleResults.cpp:530
QString minSigmaCoord1PointId() const
Returns the minimum sigma point id for coordinate 1.
Definition: BundleResults.cpp:1017
void setRmsFromSigmaStatistics(double rmsFromSigmaCoord1Stats, double rmsFromSigmaCoord2Stats, double rmsFromSigmaCoord3Stats)
Sets the root mean square values of the adjusted sigmas for all three coordinates.
Definition: BundleResults.cpp:425
double rejectionLimit() const
Returns the rejection limit.
Definition: BundleResults.cpp:1137
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
void resetNumberConstrainedImageParameters()
Resets the number of constrained image parameters to 0.
Definition: BundleResults.cpp:684
void maximumLikelihoodSetUp(QList< QPair< MaximumLikelihoodWFunctions::Model, double > > modelsWithQuantiles)
This method steps up the maximum likelihood estimation solution.
Definition: BundleResults.cpp:442
int numberFixedPoints() const
Returns the number of 'fixed' (ground) points.
Definition: BundleResults.cpp:568
void setOutputControlNet(ControlNetQsp outNet)
Sets the output ControlNet.
Definition: BundleResults.cpp:834
void setNumberUnknownParameters(int numberParameters)
Sets the total number of parameters to solve for.
Definition: BundleResults.cpp:722
void setElapsedTimeErrorProp(double time)
Sets the elapsed time for error propegation.
Definition: BundleResults.cpp:804
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
int maximumLikelihoodModelIndex() const
Returns which step the bundle adjustment is on.
Definition: BundleResults.cpp:1324
QString maxSigmaCoord1PointId() const
Returns the maximum sigma point id for coordinate 1.
Definition: BundleResults.cpp:1027
Distance measurement, usually in meters.
Definition: Distance.h:47
BundleResults & operator=(const BundleResults &src)
Assignment operator for BundleResults.
Definition: BundleResults.cpp:161
Distance maxSigmaCoord3Distance() const
Returns the maximum sigma distance for coordinate 3.
Definition: BundleResults.cpp:1007
ControlNetQsp outputControlNet() const
Returns a shared pointer to the output control network.
Definition: BundleResults.cpp:1279
int numberHeldImages() const
Returns the number of 'held' images.
Definition: BundleResults.cpp:586
StatCumProbDistDynCalc cumulativeProbabilityDistribution() const
Returns the cumulative probability distribution of the |R^2 residuals|.
Definition: BundleResults.cpp:1335
void computeDegreesOfFreedom()
Computes the degrees of freedom of the bundle adjustment and stores it internally.
Definition: BundleResults.cpp:730
QVector< BundleControlPointQsp > & bundleControlPoints()
Returns a reference to the BundleControlPoint vector.
Definition: BundleResults.cpp:1267
QVector< Statistics > rmsImageYSigmas() const
Returns the list of RMS image y sigma statistics.
Definition: BundleResults.cpp:907
MaximumLikelihoodWFunctions maximumLikelihoodModelWFunc(int modelIndex) const
Returns the maximum likelihood model at the given index.
Definition: BundleResults.cpp:1367
double rmsRx() const
Returns the RMS of the x residuals.
Definition: BundleResults.cpp:1107
void setRejectionLimit(double rejectionLimit)
Sets the rejection limit.
Definition: BundleResults.cpp:628
double elapsedTime() const
Returns the elapsed time for the bundle adjustment.
Definition: BundleResults.cpp:1237
This class is used to approximate cumulative probibility distributions of a stream of observations wi...
Definition: StatCumProbDistDynCalc.h:79
boost::numeric::ublas::vector< double > Vector
Definition for an Isis::LinearAlgebra::Vector of doubles.
Definition: LinearAlgebra.h:135
void setSigmaCoord2Range(Distance minCoord2Dist, Distance maxCoord2Dist, QString minCoord2PointId, QString maxCoord2PointId)
Sets the min and max sigma distances and point ids for coordinate 2.
Definition: BundleResults.cpp:392
StatCumProbDistDynCalc residualsCumulativeProbabilityDistribution() const
Returns the cumulative probability distribution of the residuals used for reporting.
Definition: BundleResults.cpp:1345
int numberConstrainedImageParameters() const
Returns the number of constrained image parameters.
Definition: BundleResults.cpp:1187
a control network
Definition: ControlNet.h:271
Distance minSigmaCoord3Distance() const
Returns the minimum sigma distance for coordinate 3.
Definition: BundleResults.cpp:997
void setBundleControlPoints(QVector< BundleControlPointQsp > controlPoints)
Sets the bundle control point vector.
Definition: BundleResults.cpp:824
double sigmaCoord2StatisticsRms() const
Returns the RMS of the adjusted sigmas for coordinate 2.
Definition: BundleResults.cpp:1087
void incrementIgnoredPoints()
Increase the number of ignored points.
Definition: BundleResults.cpp:594
double maximumLikelihoodModelQuantile(int modelIndex) const
Returns the quantile of the maximum likelihood model at the given index.
Definition: BundleResults.cpp:1379
void incrementNumberConstrainedPointParameters(int incrementAmount)
Increase the number of contrained point parameters.
Definition: BundleResults.cpp:676
QList< Statistics > rmsImageSampleResiduals() const
Returns the list of RMS image sample residuals statistics.
Definition: BundleResults.cpp:867
QList< QPair< MaximumLikelihoodWFunctions, double > > maximumLikelihoodModels() const
CorrelationMatrix correlationMatrix() const
Returns the Correlation Matrix.
Definition: BundleResults.cpp:1397
XML Handler that parses XMLs in a stack-oriented way.
Definition: XmlStackedHandler.h:112
bool setNumberHeldImages(SerialNumberList pHeldSnList, SerialNumberList *pSnList)
void addResidualsProbabilityDistributionObservation(double obsValue)
Adds an observation to the cumulative probability distribution of residuals used for reporting...
Definition: BundleResults.cpp:541
void resizeSigmaStatisticsVectors(int numberImages)
Resizes all image sigma vectors.
Definition: BundleResults.cpp:329
QVector< Statistics > rmsImageRASigmas() const
Returns the list of RMS image right ascension sigma statistics.
Definition: BundleResults.cpp:927
void computeSigma0(double dvtpv, BundleSettings::ConvergenceCriteria criteria)
Computes the sigma0 and stores it internally.
Definition: BundleResults.cpp:750
Class provides maximum likelihood estimation functions for robust parameter estimation, e.g.
Definition: MaximumLikelihoodWFunctions.h:64
void setNumberRejectedObservations(int numberObservations)
Sets the number of rejected observations.
Definition: BundleResults.cpp:638
QString minSigmaCoord2PointId() const
Returns the minimum sigma point id for coordinate 2.
Definition: BundleResults.cpp:1037
QList< Statistics > rmsImageResiduals() const
Returns the list of RMS image residuals statistics.
Definition: BundleResults.cpp:887
BundleResults(QObject *parent=0)
Constructs a BundleResults object.
Definition: BundleResults.cpp:40
Distance minSigmaCoord1Distance() const
Returns the minimum sigma distance for coordinate 1.
Definition: BundleResults.cpp:957
QVector< Statistics > rmsImageXSigmas() const
Returns the list of RMS image x sigma statistics.
Definition: BundleResults.cpp:897
bool converged() const
Returns whether or not the bundle adjustment converged.
Definition: BundleResults.cpp:1257
double elapsedTimeErrorProp() const
Returns the elapsed time for error propagation.
Definition: BundleResults.cpp:1247
void initializeResidualsProbabilityDistribution(unsigned int nodes=20)
Initializes or resets the cumulative probability distribution of residuals used for reporting...
Definition: BundleResults.cpp:519
double rmsRxy() const
Returns the RMS of the x and y residuals.
Definition: BundleResults.cpp:1127
void setCorrMatImgsAndParams(QMap< QString, QStringList > imgsAndParams)
Set the images and their associated parameters of the correlation matrix.
Definition: BundleResults.cpp:1425
double maximumLikelihoodMedianR2Residuals() const
Returns the median of the |R^2 residuals|.
Definition: BundleResults.cpp:1355
CoordinateType
Defines the coordinate typ, units, and coordinate index for some of the output methods.
Definition: SurfacePoint.h:155
void initializeProbabilityDistribution(unsigned int nodes=20)
Initializes or resets the cumulative probability distribution of |R^2 residuals|. ...
Definition: BundleResults.cpp:509
int numberRejectedObservations() const
Returns the number of observation that were rejected.
Definition: BundleResults.cpp:1147
QList< Statistics > rmsImageLineResiduals() const
Returns the list of RMS image line residuals statistics.
Definition: BundleResults.cpp:877
int numberMaximumLikelihoodModels() const
Returns how many maximum likelihood models were used in the bundle adjustment.
Definition: BundleResults.cpp:1314
QString minSigmaCoord3PointId() const
Returns the minimum sigma point id for coordinate 3.
Definition: BundleResults.cpp:1057
Definition: Calculator.h:33
double rmsRy() const
Returns the RMS of the y residuals.
Definition: BundleResults.cpp:1117
void setNumberObservations(int numberObservations)
Sets the number of observations.
Definition: BundleResults.cpp:648
int numberConstrainedTargetParameters() const
Return the number of constrained target parameters.
Definition: BundleResults.cpp:1197
QVector< Statistics > rmsImageTWISTSigmas() const
Returns the list of RMS image twist sigma statistics.
Definition: BundleResults.cpp:947
void setRmsXYResiduals(double rx, double ry, double rxy)
Sets the root mean square of the x and y residuals.
Definition: BundleResults.cpp:616
void initialize()
Initializes the BundleResults to a default state where all numeric members are set to 0 or another de...
Definition: BundleResults.cpp:237
void incrementMaximumLikelihoodModelIndex()
Increases the value that indicates which stage the maximum likelihood adjustment is currently on...
Definition: BundleResults.cpp:550
Definition: BoxcarCachingAlgorithm.h:29
~BundleResults()
Destroys this BundleResults object.
Definition: BundleResults.cpp:141
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
void incrementHeldImages()
Increases the number of 'held' images.
Definition: BundleResults.cpp:576
A container class for statistical results from a BundleAdjust solution.
Definition: BundleResults.h:96
Distance maxSigmaCoord2Distance() const
Returns the maximum sigma distance for coordinate 2.
Definition: BundleResults.cpp:987
void resetNumberConstrainedTargetParameters()
Resets the number of constrained target parameters to 0.
Definition: BundleResults.cpp:702
void setSigma0(double sigma0)
Sets the sigma0.
Definition: BundleResults.cpp:784
int numberConstrainedPointParameters() const
Returns the number of constrained point parameters.
Definition: BundleResults.cpp:1177
int iterations() const
Returns the number of iterations taken by the BundleAdjust.
Definition: BundleResults.cpp:1294
SurfacePoint::CoordinateType coordTypeReports()
Definition: BundleResults.cpp:1431
QString maxSigmaCoord2PointId() const
Returns the maximum sigma point id for coordinate 2.
Definition: BundleResults.cpp:1047
void incrementNumberConstrainedTargetParameters(int incrementAmount)
Increases the number of constrained target parameters.
Definition: BundleResults.cpp:712
int degreesOfFreedom() const
Returns the degrees of freedom.
Definition: BundleResults.cpp:1217
void setConverged(bool converged)
Sets if the bundle adjustment converged.
Definition: BundleResults.cpp:814
Serial Number list generator.
Definition: SerialNumberList.h:80
Definition: CubeIoHandler.h:39
Contains Pvl Groups and Pvl Objects.
Definition: PvlObject.h:74
void setIterations(int iterations)
Sets the number of iterations taken by the BundleAdjust.
Definition: BundleResults.cpp:844
int numberImageParameters() const
Returns the total number of image parameters.
Definition: BundleResults.cpp:1167
Manage a stack of content handlers for reading XML files.
Definition: XmlStackedHandlerReader.h:25
double sigma0() const
Returns the Sigma0 of the bundle adjustment.
Definition: BundleResults.cpp:1227
Distance maxSigmaCoord1Distance() const
Returns the maximum sigma distance for coordinate 1.
Definition: BundleResults.cpp:967
int numberUnknownParameters() const
Returns the number of unknown parameters.
Definition: BundleResults.cpp:1207
Q_DECLARE_METATYPE(Isis::BundleResults)
int numberIgnoredPoints() const
Returns the number of ignored points.
Definition: BundleResults.cpp:604
ConvergenceCriteria
This enum defines the options for the bundle adjustment's convergence.
Definition: BundleSettings.h:210
void setDegreesOfFreedom(double degreesOfFreedom)
Sets the degrees of freedom.
Definition: BundleResults.cpp:774