56 template<
typename T >
class QList;
57 template<
typename A,
typename B >
class QMap;
275 const QString &cnetFile,
276 const QString &cubeList,
277 bool printSummary =
true);
281 bool printSummary =
true);
289 bool printSummary =
true);
292 const QString &cubeList,
293 bool printSummary =
true);
329 bool validateNetwork();
331 void iterationSummary();
333 bool computeBundleStatistics();
334 void applyParameterCorrections();
335 bool errorPropagation();
336 double computeResiduals();
337 bool computeRejectionLimit();
342 bool formNormalEquations();
349 bool formMeasureNormals(boost::numeric::ublas::symmetric_matrix<
350 double, boost::numeric::ublas::upper > &N22,
352 boost::numeric::ublas::compressed_vector< double > &n1,
358 int observationIndex);
359 bool formPointNormals(boost::numeric::ublas::symmetric_matrix<
360 double, boost::numeric::ublas::upper > &N22,
365 bool formWeightedNormals(boost::numeric::ublas::compressed_vector< double > &n1,
372 void accumProductAlphaAB(
double alpha,
376 bool invert3x3(boost::numeric::ublas::symmetric_matrix<
377 double, boost::numeric::ublas::upper > &m);
378 bool productATransB(boost::numeric::ublas::symmetric_matrix<
379 double, boost::numeric::ublas::upper > &N22,
382 void productAlphaAV(
double alpha,
383 boost::numeric::ublas::bounded_vector< double, 3 > &v2,
389 bool initializeCHOLMODLibraryVariables();
390 bool freeCHOLMODLibraryVariables();
391 bool cholmodInverse();
392 bool loadCholmodTriplet();
404 QString m_cnetFileName;
417 QString m_iterationSummary;
427 int m_numberOfImagePartials;
428 double m_radiansToMeters;
430 double m_metersToRadians;
440 boost::numeric::ublas::symmetric_matrix<
442 boost::numeric::ublas::upper,
443 boost::numeric::ublas::column_major > m_normalInverse;
444 cholmod_common m_cholmodCommon;
453 cholmod_triplet *m_cholmodTriplet;
459 cholmod_sparse *m_cholmodNormal;
This represents an ISIS control net in a project-based GUI interface.
Definition: Control.h:57
This class is a container class for BundleObservations.
Definition: BundleObservationVector.h:65
SparseBlockMatrix.
Definition: SparseBlockMatrix.h:187
QString fileName(int index)
Return the ith filename in the cube list file given to constructor.
Definition: BundleAdjust.cpp:2879
Internalizes a list of images and allows for operations on the entire list.
Definition: ImageList.h:44
QSharedPointer< BundleSettings > BundleSettingsQsp
Definition for a BundleSettingsQsp, a shared pointer to a BundleSettings object.
Definition: BundleSettings.h:404
SparseBlockColumnMatrix.
Definition: SparseBlockMatrix.h:66
QSharedPointer< ControlNet > ControlNetQsp
This typedef is for future implementation of target body.
Definition: ControlNet.h:446
bool isConverged()
Returns if the BundleAdjust converged.
Definition: BundleAdjust.cpp:2991
Container class for BundleAdjustment results.
Definition: BundleSolutionInfo.h:98
void finished()
Definition: moc_BundleAdjust.cpp:272
SerialNumberList * serialNumberList()
Returns a pointer to the serial number list.
Definition: BundleAdjust.cpp:2856
Table spVector(int index)
Return a table spacecraft vector for the ith cube in the cube list given to the constructor.
Definition: BundleAdjust.cpp:2913
QString iterationSummaryGroup() const
Returns the iteration summary string.
Definition: BundleAdjust.cpp:3003
QSharedPointer< BundleTargetBody > BundleTargetBodyQsp
Definition for BundleTargetBodyQsp, a QSharedPointer to a BundleTargetBody.
Definition: BundleTargetBody.h:198
double iteration() const
Returns what iteration the BundleAdjust is currently on.
Definition: BundleAdjust.cpp:2889
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
A container class for a ControlMeasure.
Definition: BundleMeasure.h:69
boost::numeric::ublas::matrix< double > Matrix
Definition for an Isis::LinearAlgebra::Matrix of doubles.
Definition: LinearAlgebra.h:114
void iterationUpdate(int, double)
Definition: moc_BundleAdjust.cpp:258
Distance measurement, usually in meters.
Definition: Distance.h:47
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
void abortBundle()
Flag to abort when bundle is threaded.
Definition: BundleAdjust.cpp:621
This class is used to accumulate statistics on double arrays.
Definition: Statistics.h:109
bool solveCholesky()
Compute the least squares bundle adjustment solution using Cholesky decomposition.
Definition: BundleAdjust.cpp:640
boost::numeric::ublas::vector< double > Vector
Definition for an Isis::LinearAlgebra::Vector of doubles.
Definition: LinearAlgebra.h:124
Program progress reporter.
Definition: Progress.h:58
~BundleAdjust()
Destroys BundleAdjust object, deallocates pointers (if we have ownership), and frees variables from c...
Definition: BundleAdjust.cpp:287
a control network
Definition: ControlNet.h:207
Table cMatrix(int index)
Return a table cmatrix for the ith cube in the cube list given to the constructor.
Definition: BundleAdjust.cpp:2901
BundleAdjust(BundleSettingsQsp bundleSettings, const QString &cnetFile, const QString &cubeList, bool printSummary=true)
Construct a BundleAdjust object from the given settings, control network file, and cube list...
Definition: BundleAdjust.cpp:94
ControlNetQsp controlNet()
Returns a pointer to the output control network.
Definition: BundleAdjust.cpp:2846
This class holds information about a control point that BundleAdjust needs to run corretly...
Definition: BundleControlPoint.h:71
void resultsReady(BundleSolutionInfo *bundleSolveInformation)
Definition: moc_BundleAdjust.cpp:265
int numberOfImages() const
Returns the number of images.
Definition: BundleAdjust.cpp:2866
void outputBundleStatus(QString status)
Slot for deltack and jigsaw to output the bundle status.
Definition: BundleAdjust.cpp:3017
BundleSolutionInfo solveCholeskyBR()
Compute the least squares bundle adjustment solution using Cholesky decomposition.
Definition: BundleAdjust.cpp:611
void error(QString)
Definition: moc_BundleAdjust.cpp:251
Class for storing Table blobs information.
Definition: Table.h:74
Definition: BoxcarCachingAlgorithm.h:29
A container class for statistical results from a BundleAdjust solution.
Definition: BundleResults.h:90
An image bundle adjustment object.
Definition: BundleAdjust.h:271
QSharedPointer< BundleControlPoint > BundleControlPointQsp
Definition for BundleControlPointQSP, a shared pointer to a BundleControlPoint.
Definition: BundleControlPoint.h:144
Serial Number list generator.
Definition: SerialNumberList.h:78
void statusUpdate(QString)
Definition: moc_BundleAdjust.cpp:244
SparseBlockRowMatrix.
Definition: SparseBlockMatrix.h:125
Definition: CubeIoHandler.h:38