1 #ifndef BundleResults_h
2 #define BundleResults_h
52 class QXmlStreamWriter;
110 QString minLatPointId, QString maxLatPointId);
112 QString minLonPointId, QString maxLonPointId);
114 QString minRadPointId, QString maxRadPointId);
116 double rmsFromSigmaLonStats,
117 double rmsFromSigmaRadStats);
135 double computeRejectionLimit(
ControlNet *p_Cnet,
136 double outlierRejectionMultiplier,
137 int numObservations);
141 double computeResiduals(
143 std::vector< boost::numeric::ublas::bounded_vector< double, 3 > > pointWeights,
144 std::vector< boost::numeric::ublas::bounded_vector< double, 3 > > pointCorrections,
146 std::vector< double > imageParameterWeights,
147 int numImagePartials,
202 double rmsRx()
const;
203 double rmsRy()
const;
246 void save(QXmlStreamWriter &stream,
const Project *project)
const;
248 QDataStream &
write(QDataStream &stream)
const;
249 QDataStream &
read(QDataStream &stream);
251 void createH5Group(hid_t locationId, QString locationName)
const;
252 void parseH5Group(hid_t locationId, QString locationName);
254 void createH5Group(H5::CommonFG &locationObject, QString locationName)
const;
255 void openH5Group(H5::CommonFG &locationObject, QString locationName);
256 BundleResults(H5::CommonFG &locationObject, QString locationName);
274 virtual bool startElement(
const QString &namespaceURI,
const QString &localName,
275 const QString &qName,
const QXmlAttributes &atts);
276 virtual bool characters(
const QString &ch);
277 virtual bool endElement(
const QString &namespaceURI,
const QString &localName,
278 const QString &qName);
281 Q_DISABLE_COPY(XmlHandler);
285 QString m_xmlHandlerCharacters;
286 int m_xmlHandlerResidualsListSize;
287 int m_xmlHandlerSampleResidualsListSize;
288 int m_xmlHandlerLineResidualsListSize;
289 int m_xmlHandlerXSigmasListSize;
290 int m_xmlHandlerYSigmasListSize;
291 int m_xmlHandlerZSigmasListSize;
292 int m_xmlHandlerRASigmasListSize;
293 int m_xmlHandlerDECSigmasListSize;
294 int m_xmlHandlerTWISTSigmasListSize;
298 QString m_xmlHandlerCorrelationImageId;
317 int m_numberFixedPoints;
319 int m_numberIgnoredPoints;
320 int m_numberHeldImages;
323 double m_rmsXResiduals;
324 double m_rmsYResiduals;
325 double m_rmsXYResiduals;
327 double m_rejectionLimit;
329 int m_numberObservations;
330 int m_numberRejectedObservations;
331 int m_numberUnknownParameters;
332 int m_numberImageParameters;
333 int m_numberConstrainedImageParameters;
334 int m_numberConstrainedPointParameters;
335 int m_numberConstrainedTargetParameters;
336 int m_degreesOfFreedom;
338 double m_elapsedTime;
339 double m_elapsedTimeErrorProp;
340 double m_radiansToMeters;
385 Distance m_minSigmaLatitudeDistance;
386 Distance m_maxSigmaLatitudeDistance;
387 Distance m_minSigmaLongitudeDistance;
388 Distance m_maxSigmaLongitudeDistance;
392 QString m_minSigmaLatitudePointId;
393 QString m_maxSigmaLatitudePointId;
394 QString m_minSigmaLongitudePointId;
395 QString m_maxSigmaLongitudePointId;
396 QString m_minSigmaRadiusPointId;
397 QString m_maxSigmaRadiusPointId;
399 double m_rmsSigmaLatitudeStats;
400 double m_rmsSigmaLongitudeStats;
401 double m_rmsSigmaRadiusStats;
421 int m_maximumLikelihoodIndex;
433 double m_maximumLikelihoodMedianR2Residuals;
443 #endif // BundleResults_h
QDataStream & read(QDataStream &stream)
Reads the data from a QDataStream into the BundleResults object.
Definition: BundleResults.cpp:2385
void save(QXmlStreamWriter &stream, const Project *project) const
Saves the BundleResults object to an XML file.
Definition: BundleResults.cpp:1577
void parseH5Group(hid_t locationId, QString locationName)
void setObservations(BundleObservationVector observations)
Sets the vector of BundleObservations.
Definition: BundleResults.cpp:894
double sigmaLongitudeStatisticsRms() const
Returns the RMS of the adjusted longitude sigmas.
Definition: BundleResults.cpp:1127
This class is a container class for BundleObservations.
Definition: BundleObservationVector.h:65
double rmsRy() const
Returns the RMS of the y residuals.
Definition: BundleResults.cpp:1157
int numberHeldImages() const
Returns the number of 'held' images.
Definition: BundleResults.cpp:616
QString minSigmaRadiusPointId() const
Returns the minimum sigma radius point id.
Definition: BundleResults.cpp:1097
void incrementFixedPoints()
Increase the number of 'fixed' (ground) points.
Definition: BundleResults.cpp:588
The main project for cnetsuite.
Definition: Project.h:105
void setElapsedTime(double time)
Sets the elapsed time for the bundle adjustment.
Definition: BundleResults.cpp:824
void setNumberImageParameters(int numberParameters)
Sets the number of image parameters.
Definition: BundleResults.cpp:688
int iterations() const
Returns the number of iterations taken by the BundleAdjust.
Definition: BundleResults.cpp:1344
void setRmsFromSigmaStatistics(double rmsFromSigmaLatStats, double rmsFromSigmaLonStats, double rmsFromSigmaRadStats)
Sets the root mean square values of the adjusted latitiude sigmas, adjusted longitude sigmas...
Definition: BundleResults.cpp:456
void setCorrMatCovFileName(FileName name)
Set the covariance file name for the matrix used to calculate the correlation matrix.
Definition: BundleResults.cpp:1554
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:111
void resetNumberConstrainedPointParameters()
Resets the number of contrained point parameters to 0.
Definition: BundleResults.cpp:696
QString minSigmaLongitudePointId() const
Returns the minimum sigma longitude point id.
Definition: BundleResults.cpp:1077
QSharedPointer< ControlNet > ControlNetQsp
This typedef is for future implementation of target body.
Definition: ControlNet.h:446
const BundleObservationVector & observations() const
Returns a reference to the observations used by the BundleAdjust.
Definition: BundleResults.cpp:1354
QString maxSigmaRadiusPointId() const
Returns the maximum sigma radius point id.
Definition: BundleResults.cpp:1107
void printMaximumLikelihoodTierInformation()
Prints out information about which tier the solution is in and the status of the residuals.
Definition: BundleResults.cpp:514
void incrementNumberConstrainedImageParameters(int incrementAmount)
Increase the number of constrained image parameters.
Definition: BundleResults.cpp:724
QString maxSigmaLongitudePointId() const
Returns the maximum sigma longitude point id.
Definition: BundleResults.cpp:1087
int numberConstrainedTargetParameters() const
Return the number of constrained target parameters.
Definition: BundleResults.cpp:1247
QVector< Statistics > rmsImageDECSigmas() const
Returns the list of RMS image declination sigma statistics.
Definition: BundleResults.cpp:977
void setRmsImageResidualLists(QList< Statistics > rmsImageLineResiduals, QList< Statistics > rmsImageSampleResiduals, QList< Statistics > rmsImageResiduals)
Sets the root mean square image residual Statistics lists.
Definition: BundleResults.cpp:388
CorrelationMatrix correlationMatrix() const
Returns the Correlation Matrix.
Definition: BundleResults.cpp:1537
Distance minSigmaLatitudeDistance() const
Returns the minimum sigma latitude distance.
Definition: BundleResults.cpp:997
void addProbabilityDistributionObservation(double obsValue)
Adds an observation to the cumulative probability distribution of |R^2 residuals|.
Definition: BundleResults.cpp:560
void setSigmaLongitudeRange(Distance minLonDist, Distance maxLonDist, QString minLonPointId, QString maxLonPointId)
Sets the min and max sigma longitude distances and point ids.
Definition: BundleResults.cpp:422
double sigma0() const
Returns the Sigma0 of the bundle adjustment.
Definition: BundleResults.cpp:1277
Q_DECLARE_METATYPE(Isis::Cube *)
This allows Cube *'s to be stored in a QVariant.
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
int numberImageParameters() const
Returns the total number of image parameters.
Definition: BundleResults.cpp:1217
void createH5Group(hid_t locationId, QString locationName) const
void resetNumberConstrainedImageParameters()
Resets the number of constrained image parameters to 0.
Definition: BundleResults.cpp:714
int numberIgnoredPoints() const
Returns the number of ignored points.
Definition: BundleResults.cpp:634
void maximumLikelihoodSetUp(QList< QPair< MaximumLikelihoodWFunctions::Model, double > > modelsWithQuantiles)
This method steps up the maximum likelihood estimation solution.
Definition: BundleResults.cpp:472
double sigmaLatitudeStatisticsRms() const
Returns the RMS of the adjusted latitude sigmas.
Definition: BundleResults.cpp:1117
void setOutputControlNet(ControlNetQsp outNet)
Sets the output ControlNet.
Definition: BundleResults.cpp:874
void setNumberUnknownParameters(int numberParameters)
Sets the total number of parameters to solve for.
Definition: BundleResults.cpp:752
void setElapsedTimeErrorProp(double time)
Sets the elapsed time for error propegation.
Definition: BundleResults.cpp:834
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
Distance measurement, usually in meters.
Definition: Distance.h:47
BundleResults & operator=(const BundleResults &src)
Assignment operator for BundleResults.
Definition: BundleResults.cpp:185
double rejectionLimit() const
Returns the rejection limit.
Definition: BundleResults.cpp:1177
ControlNetQsp outputControlNet() const
Returns a shared pointer to the output control network.
Definition: BundleResults.cpp:1329
void computeDegreesOfFreedom()
Computes the degrees of freedom of the bundle adjustment and stores it internally.
Definition: BundleResults.cpp:760
QVector< Statistics > rmsImageXSigmas() const
Returns the list of RMS image x sigma statistics.
Definition: BundleResults.cpp:937
double elapsedTimeErrorProp() const
Returns the elapsed time for error propagation.
Definition: BundleResults.cpp:1297
QVector< BundleControlPointQsp > & bundleControlPoints()
Returns a reference to the BundleControlPoint vector.
Definition: BundleResults.cpp:1317
int degreesOfFreedom() const
Returns the degrees of freedom.
Definition: BundleResults.cpp:1267
StatCumProbDistDynCalc cumulativeProbabilityDistribution() const
Returns the cumulative probability distribution of the |R^2 residuals|.
Definition: BundleResults.cpp:1385
QVector< Statistics > rmsImageTWISTSigmas() const
Returns the list of RMS image twist sigma statistics.
Definition: BundleResults.cpp:987
void setRejectionLimit(double rejectionLimit)
Sets the rejection limit.
Definition: BundleResults.cpp:658
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:124
int numberRejectedObservations() const
Returns the number of observation that were rejected.
Definition: BundleResults.cpp:1197
a control network
Definition: ControlNet.h:207
int maximumLikelihoodModelIndex() const
Returns which step the bundle adjustment is on.
Definition: BundleResults.cpp:1374
void setBundleControlPoints(QVector< BundleControlPointQsp > controlPoints)
Sets the bundle control point vector.
Definition: BundleResults.cpp:864
StatCumProbDistDynCalc residualsCumulativeProbabilityDistribution() const
Returns the cumulative probability distribution of the residuals used for reporting.
Definition: BundleResults.cpp:1395
QVector< Statistics > rmsImageYSigmas() const
Returns the list of RMS image y sigma statistics.
Definition: BundleResults.cpp:947
int numberFixedPoints() const
Returns the number of 'fixed' (ground) points.
Definition: BundleResults.cpp:598
void incrementIgnoredPoints()
Increase the number of ignored points.
Definition: BundleResults.cpp:624
double maximumLikelihoodMedianR2Residuals() const
Returns the median of the |R^2 residuals|.
Definition: BundleResults.cpp:1405
void incrementNumberConstrainedPointParameters(int incrementAmount)
Increase the number of contrained point parameters.
Definition: BundleResults.cpp:706
std::istream & operator>>(std::istream &is, CSVReader &csv)
Input read operator for input stream sources.
Definition: CSVReader.cpp:463
QList< Statistics > rmsImageResiduals() const
Returns the list of RMS image residuals statistics.
Definition: BundleResults.cpp:927
QVector< Statistics > rmsImageZSigmas() const
Returns the list of RMS image z sigma statistics.
Definition: BundleResults.cpp:957
XML Handler that parses XMLs in a stack-oriented way.
Definition: XmlStackedHandler.h:47
bool setNumberHeldImages(SerialNumberList pHeldSnList, SerialNumberList *pSnList)
QString maxSigmaLatitudePointId() const
Returns the maximum sigma latitude point id.
Definition: BundleResults.cpp:1067
void addResidualsProbabilityDistributionObservation(double obsValue)
Adds an observation to the cumulative probability distribution of residuals used for reporting...
Definition: BundleResults.cpp:571
void resizeSigmaStatisticsVectors(int numberImages)
Resizes all image sigma vectors.
Definition: BundleResults.cpp:359
double sigmaRadiusStatisticsRms() const
Returns the RMS of the adjusted raidus sigmas.
Definition: BundleResults.cpp:1137
void computeSigma0(double dvtpv, BundleSettings::ConvergenceCriteria criteria)
Computes the sigma0 and stores it internally.
Definition: BundleResults.cpp:780
Class provides maximum likelihood estimation functions for robust parameter estimation, e.g.
Definition: MaximumLikelihoodWFunctions.h:62
void setNumberRejectedObservations(int numberObservations)
Sets the number of rejected observations.
Definition: BundleResults.cpp:668
BundleResults(QObject *parent=0)
Constructs a BundleSettings object.
Definition: BundleResults.cpp:44
Distance minSigmaRadiusDistance() const
Returns the minimum sigma redius distance.
Definition: BundleResults.cpp:1037
void initializeResidualsProbabilityDistribution(unsigned int nodes=20)
Initializes or resets the cumulative probability distribution of residuals used for reporting...
Definition: BundleResults.cpp:549
void openH5Group(H5::CommonFG &locationObject, QString locationName)
Reads from an hdf5 group.
Definition: BundleResults.cpp:2841
void setCorrMatImgsAndParams(QMap< QString, QStringList > imgsAndParams)
Set the images and their associated parameters of the correlation matrix.
Definition: BundleResults.cpp:1565
QDataStream & write(QDataStream &stream) const
Writes the BundleResults object to a QDataStream.
Definition: BundleResults.cpp:2335
QString minSigmaLatitudePointId() const
Returns the minimum sigma latitude point id.
Definition: BundleResults.cpp:1057
void initializeProbabilityDistribution(unsigned int nodes=20)
Initializes or resets the cumulative probability distribution of |R^2 residuals|. ...
Definition: BundleResults.cpp:539
bool converged() const
Returns whether or not the bundle adjustment converged.
Definition: BundleResults.cpp:1307
int numberObservations() const
Returns the number of observations.
Definition: BundleResults.cpp:1207
Distance maxSigmaLongitudeDistance() const
Returns the maximum sigma longitude distance.
Definition: BundleResults.cpp:1027
Definition: Calculator.h:33
int numberConstrainedImageParameters() const
Returns the number of constrained image parameters.
Definition: BundleResults.cpp:1237
QVector< Statistics > rmsImageRASigmas() const
Returns the list of RMS image right ascension sigma statistics.
Definition: BundleResults.cpp:967
void setNumberObservations(int numberObservations)
Sets the number of observations.
Definition: BundleResults.cpp:678
Distance maxSigmaLatitudeDistance() const
Returns the maximum sigma latitude distance.
Definition: BundleResults.cpp:1007
void setSigmaLatitudeRange(Distance minLatDist, Distance maxLatDist, QString minLatPointId, QString maxLatPointId)
Sets the min and max sigma latitude distances and point ids.
Definition: BundleResults.cpp:405
void setRadiansToMeters(double rtm)
Sets the radians to meters conversion constant for the target body.
Definition: BundleResults.cpp:844
int numberUnknownParameters() const
Returns the number of unknown parameters.
Definition: BundleResults.cpp:1257
QList< Statistics > rmsImageSampleResiduals() const
Returns the list of RMS image sample residuals statistics.
Definition: BundleResults.cpp:907
void setRmsXYResiduals(double rx, double ry, double rxy)
Sets the root mean square of the x and y residuals.
Definition: BundleResults.cpp:646
void initialize()
Initializes the BundleResults to a default state where all numeric members are set to 0 or another de...
Definition: BundleResults.cpp:266
void incrementMaximumLikelihoodModelIndex()
Increases the value that indicates which stage the maximum likelihood adjustment is currently on...
Definition: BundleResults.cpp:580
Definition: BoxcarCachingAlgorithm.h:29
~BundleResults()
Destroys this BundleResults object.
Definition: BundleResults.cpp:162
void incrementHeldImages()
Increases the number of 'held' images.
Definition: BundleResults.cpp:606
A container class for statistical results from a BundleAdjust solution.
Definition: BundleResults.h:90
Distance maxSigmaRadiusDistance() const
Returns the maximum sigma redius distance.
Definition: BundleResults.cpp:1047
void resetNumberConstrainedTargetParameters()
Resets the number of constrained target parameters to 0.
Definition: BundleResults.cpp:732
PvlObject pvlObject(QString name="BundleResults") const
Saves the BundleResults object as a PvlObject.
Definition: BundleResults.cpp:1447
double elapsedTime() const
Returns the elapsed time for the bundle adjustment.
Definition: BundleResults.cpp:1287
QList< Statistics > rmsImageLineResiduals() const
Returns the list of RMS image line residuals statistics.
Definition: BundleResults.cpp:917
void setSigmaRadiusRange(Distance minRadDist, Distance maxRadDist, QString minRadPointId, QString maxRadPointId)
Sets the min and max sigma radius distances and point ids.
Definition: BundleResults.cpp:439
double rmsRx() const
Returns the RMS of the x residuals.
Definition: BundleResults.cpp:1147
void setSigma0(double sigma0)
Sets the sigma0.
Definition: BundleResults.cpp:814
Distance minSigmaLongitudeDistance() const
Returns the minimum sigma longitude distance.
Definition: BundleResults.cpp:1017
QList< QPair< MaximumLikelihoodWFunctions, double > > maximumLikelihoodModels() const
QDebug operator<<(QDebug debug, const Hillshade &hillshade)
Print this class out to a QDebug object.
Definition: Hillshade.cpp:308
void incrementNumberConstrainedTargetParameters(int incrementAmount)
Increases the number of constrained target parameters.
Definition: BundleResults.cpp:742
void setConverged(bool converged)
Sets if the bundle adjustment converged.
Definition: BundleResults.cpp:854
Serial Number list generator.
Definition: SerialNumberList.h:78
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:884
int numberConstrainedPointParameters() const
Returns the number of constrained point parameters.
Definition: BundleResults.cpp:1227
double radiansToMeters() const
Returns the radians to meters conversion factor for the target body.
Definition: BundleResults.cpp:1187
his enables stack-based XML parsing of XML files.
Definition: XmlStackedHandlerReader.h:26
double rmsRxy() const
Returns the RMS of the x and y residuals.
Definition: BundleResults.cpp:1167
MaximumLikelihoodWFunctions maximumLikelihoodModelWFunc(int modelIndex) const
Returns the maximum likelihood model at the given index.
Definition: BundleResults.cpp:1417
ConvergenceCriteria
This enum defines the options for the bundle adjustment's convergence.
Definition: BundleSettings.h:185
void setDegreesOfFreedom(double degreesOfFreedom)
Sets the degrees of freedom.
Definition: BundleResults.cpp:804
int numberMaximumLikelihoodModels() const
Returns how many maximum likelihood models were used in the bundle adjustment.
Definition: BundleResults.cpp:1364
double maximumLikelihoodModelQuantile(int modelIndex) const
Returns the quantile of the maximum likelihood model at the given index.
Definition: BundleResults.cpp:1429