56 template<
typename T >
class QList;
57 template<
typename A,
typename B >
class QMap;
337 const QString &cnetFile,
338 const QString &cubeList,
339 bool printSummary =
true);
343 bool printSummary =
true);
351 bool printSummary =
true);
354 const QString &cubeList,
355 bool printSummary =
true);
396 bool initializeNormalEquationsMatrix();
397 bool validateNetwork();
399 void iterationSummary();
401 bool computeBundleStatistics();
402 void applyParameterCorrections();
403 bool errorPropagation();
404 double computeResiduals();
405 bool computeRejectionLimit();
410 bool formNormalEquations();
417 bool formMeasureNormals(boost::numeric::ublas::symmetric_matrix<
418 double, boost::numeric::ublas::upper > &N22,
420 boost::numeric::ublas::compressed_vector< double > &n1,
426 int observationIndex);
427 bool formPointNormals(boost::numeric::ublas::symmetric_matrix<
428 double, boost::numeric::ublas::upper > &N22,
433 bool formWeightedNormals(boost::numeric::ublas::compressed_vector< double > &n1,
440 void accumProductAlphaAB(
double alpha,
444 bool invert3x3(boost::numeric::ublas::symmetric_matrix<
445 double, boost::numeric::ublas::upper > &m);
446 bool productATransB(boost::numeric::ublas::symmetric_matrix<
447 double, boost::numeric::ublas::upper > &N22,
450 void productAlphaAV(
double alpha,
451 boost::numeric::ublas::bounded_vector< double, 3 > &v2,
457 bool initializeCHOLMODLibraryVariables();
458 bool freeCHOLMODLibraryVariables();
459 bool cholmodInverse();
460 bool loadCholmodTriplet();
472 QString m_cnetFileName;
484 QString m_iterationSummary;
494 int m_numberOfImagePartials;
505 boost::numeric::ublas::symmetric_matrix<
507 boost::numeric::ublas::upper,
508 boost::numeric::ublas::column_major > m_normalInverse;
509 cholmod_common m_cholmodCommon;
518 cholmod_triplet *m_cholmodTriplet;
524 cholmod_sparse *m_cholmodNormal;
536 int m_previousNumberImagePartials;
This represents an ISIS control net in a project-based GUI interface.
Definition: Control.h:79
This class is a container class for BundleObservations.
Definition: BundleObservationVector.h:65
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
SparseBlockMatrix.
Definition: SparseBlockMatrix.h:198
QString fileName(int index)
Return the ith filename in the cube list file given to constructor.
Definition: BundleAdjust.cpp:2964
Internalizes a list of images and allows for operations on the entire list.
Definition: ImageList.h:55
SparseBlockColumnMatrix.
Definition: SparseBlockMatrix.h:69
bool isConverged()
Returns if the BundleAdjust converged.
Definition: BundleAdjust.cpp:3076
Container class for BundleAdjustment results.
Definition: BundleSolutionInfo.h:171
SerialNumberList * serialNumberList()
Returns a pointer to the serial number list.
Definition: BundleAdjust.cpp:2941
Table spVector(int index)
Return a table spacecraft vector for the ith cube in the cube list given to the constructor.
Definition: BundleAdjust.cpp:2998
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:115
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:675
This class is used to accumulate statistics on double arrays.
Definition: Statistics.h:107
bool solveCholesky()
Compute the least squares bundle adjustment solution using Cholesky decomposition.
Definition: BundleAdjust.cpp:694
boost::numeric::ublas::vector< double > Vector
Definition for an Isis::LinearAlgebra::Vector of doubles.
Definition: LinearAlgebra.h:135
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:320
a control network
Definition: ControlNet.h:271
Table cMatrix(int index)
Return a table cmatrix for the ith cube in the cube list given to the constructor.
Definition: BundleAdjust.cpp:2986
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:2931
This class holds information about a control point that BundleAdjust needs to run correctly...
Definition: BundleControlPoint.h:105
BundleSolutionInfo * solveCholeskyBR()
Compute the least squares bundle adjustment solution using Cholesky decomposition.
Definition: BundleAdjust.cpp:665
void resultsReady(BundleSolutionInfo *bundleSolveInformation)
bool isAborted()
Returns if the BundleAdjust has been aborted.
Definition: BundleAdjust.cpp:3086
void statusBarUpdate(QString)
void outputBundleStatus(QString status)
Slot for deltack and jigsaw to output the bundle status.
Definition: BundleAdjust.cpp:3112
QList< ImageList * > imageLists()
This method returns the image list used in the bundle adjust.
Definition: BundleAdjust.cpp:2534
Definition: Calculator.h:33
int numberOfImages() const
Returns the number of images.
Definition: BundleAdjust.cpp:2951
Class for storing Table blobs information.
Definition: Table.h:77
Definition: BoxcarCachingAlgorithm.h:29
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
A container class for statistical results from a BundleAdjust solution.
Definition: BundleResults.h:96
QString iterationSummaryGroup() const
Returns the iteration summary string.
Definition: BundleAdjust.cpp:3098
double iteration() const
Returns what iteration the BundleAdjust is currently on.
Definition: BundleAdjust.cpp:2974
An image bundle adjustment object.
Definition: BundleAdjust.h:333
Serial Number list generator.
Definition: SerialNumberList.h:80
void iterationUpdate(int)
void statusUpdate(QString)
SparseBlockRowMatrix.
Definition: SparseBlockMatrix.h:136
Definition: CubeIoHandler.h:38