|
Isis Developer Reference
|
Go to the documentation of this file.
41 template<
typename T >
class QList;
42 template<
typename A,
typename B >
class QMap;
322 const QString &cnetFile,
323 const QString &cubeList,
324 bool printSummary =
true);
328 bool printSummary =
true);
336 bool printSummary =
true);
339 const QString &cubeList,
340 bool printSummary =
true);
382 bool initializeNormalEquationsMatrix();
383 bool validateNetwork();
385 void iterationSummary();
387 bool computeBundleStatistics();
388 void applyParameterCorrections();
389 bool errorPropagation();
390 double computeResiduals();
391 bool computeRejectionLimit();
396 bool formNormalEquations();
403 bool formMeasureNormals(boost::numeric::ublas::symmetric_matrix<
404 double, boost::numeric::ublas::upper > &N22,
406 boost::numeric::ublas::compressed_vector< double > &n1,
412 int observationIndex);
413 bool formPointNormals(boost::numeric::ublas::symmetric_matrix<
414 double, boost::numeric::ublas::upper > &N22,
419 bool formWeightedNormals(boost::numeric::ublas::compressed_vector< double > &n1,
426 void accumProductAlphaAB(
double alpha,
430 bool invert3x3(boost::numeric::ublas::symmetric_matrix<
431 double, boost::numeric::ublas::upper > &m);
432 bool productATransB(boost::numeric::ublas::symmetric_matrix<
433 double, boost::numeric::ublas::upper > &N22,
436 void productAlphaAV(
double alpha,
437 boost::numeric::ublas::bounded_vector< double, 3 > &v2,
443 bool initializeCHOLMODLibraryVariables();
444 bool freeCHOLMODLibraryVariables();
445 bool cholmodInverse();
446 bool loadCholmodTriplet();
458 QString m_cnetFileName;
470 QString m_iterationSummary;
480 int m_numberOfImagePartials;
491 boost::numeric::ublas::symmetric_matrix<
493 boost::numeric::ublas::upper,
494 boost::numeric::ublas::column_major > m_normalInverse;
495 cholmod_common m_cholmodCommon;
504 cholmod_triplet *m_cholmodTriplet;
510 cholmod_sparse *m_cholmodNormal;
522 int m_previousNumberImagePartials;
QString fileName(int index)
Return the ith filename in the cube list file given to constructor.
Definition: BundleAdjust.cpp:2806
double iteration() const
Returns what iteration the BundleAdjust is currently on.
Definition: BundleAdjust.cpp:2816
SerialNumberList * serialNumberList()
Returns a pointer to the serial number list.
Definition: BundleAdjust.cpp:2783
An image bundle adjustment object.
Definition: BundleAdjust.h:318
Application * iApp
Definition: Application.cpp:51
This class is used to accumulate statistics on double arrays.
Definition: Statistics.h:94
void AddData(const double *data, const unsigned int count)
Add an array of doubles to the accumulators and counters.
Definition: Statistics.cpp:141
QString cubeSerialNumber() const
Accesses the serial number of the cube containing this control measure.
Definition: BundleMeasure.cpp:251
SurfacePoint adjustedSurfacePoint() const
Accesses the adjusted SurfacePoint associated with this BundleControlPoint.
Definition: BundleControlPoint.cpp:479
boost::numeric::ublas::symmetric_matrix< double, boost::numeric::ublas::upper > GetSphericalMatrix(SurfacePoint::CoordUnits units=SurfacePoint::Meters) const
Definition: SurfacePoint.cpp:1785
SparseBlockColumnMatrix.
Definition: SparseBlockMatrix.h:58
A single keyword-value pair.
Definition: PvlKeyword.h:82
virtual bool GetXY(const SurfacePoint &spoint, double *cudx, double *cudy, bool test=true)
Compute undistorted focal plane coordinate from ground position using current Spice from SetImage cal...
Definition: CameraGroundMap.cpp:152
This is free and unencumbered software released into the public domain.
Definition: BoxcarCachingAlgorithm.h:13
int size() const
How many serial number / filename combos are in the list.
Definition: SerialNumberList.cpp:384
virtual bool SetImage(const double sample, const double line)
Sets the sample/line values of the image to get the lat/lon values.
Definition: Camera.cpp:154
File name manipulation and expansion.
Definition: FileName.h:100
bool isConverged()
Returns if the BundleAdjust converged.
Definition: BundleAdjust.cpp:2949
virtual CameraType GetCameraType() const =0
Returns the type of camera that was created.
void zeroBlocks()
Sets all elements of all matrix blocks to zero.
Definition: SparseBlockMatrix.cpp:611
void append(Image *const &value)
Appends an image to the image list.
Definition: ImageList.cpp:153
void abortBundle()
Flag to abort when bundle is threaded.
Definition: BundleAdjust.cpp:707
Camera * camera() const
Accesses the associated camera for this bundle measure.
Definition: BundleMeasure.cpp:128
Table spVector(int index)
Return the updated instrument position table for the ith cube in the cube list given to the construct...
Definition: BundleAdjust.cpp:2846
static QString CurrentLocalTime()
Returns the current local time This time is taken directly from the system clock, so if the system cl...
Definition: iTime.cpp:513
QString fileName() const
Get the file name of the cube that this image represents.
Definition: Image.cpp:340
Latitude GetLatitude() const
Return the body-fixed latitude for the surface point.
Definition: SurfacePoint.cpp:1665
Camera(Cube &cube)
Constructs the Camera object.
Definition: Camera.cpp:54
This class holds information about a control point that BundleAdjust needs to run correctly.
Definition: BundleControlPoint.h:91
This represents an ISIS control net in a project-based GUI interface.
Definition: Control.h:66
void ResetLocalRadius(const Distance &radius)
This method resets the local radius of a SurfacePoint.
Definition: SurfacePoint.cpp:914
int numberOfRows()
Returns total number of rows in map (this needs to be clarified and maybe rewritten).
Definition: SparseBlockMatrix.cpp:215
QString modelState(int index)
Return the updated model state for the ith cube in the cube list given to the constructor.
Definition: BundleAdjust.cpp:2859
boost::numeric::ublas::matrix< double > Matrix
Definition for an Isis::LinearAlgebra::Matrix of doubles.
Definition: LinearAlgebra.h:100
boost::numeric::ublas::symmetric_matrix< double, boost::numeric::ublas::upper > GetRectangularMatrix(SurfacePoint::CoordUnits units=SurfacePoint::Meters) const
Definition: SurfacePoint.cpp:1603
QString id() const
Accesses the Point ID associated with this BundleControlPoint.
Definition: BundleControlPoint.cpp:489
QString toString(bool boolToConvert)
Global function to convert a boolean to a string.
Definition: IString.cpp:211
Serial Number list generator.
Definition: SerialNumberList.h:64
ControlNetQsp controlNet()
Returns a pointer to the output control network.
Definition: BundleAdjust.cpp:2773
bool solveCholesky()
Compute the least squares bundle adjustment solution using Cholesky decomposition.
Definition: BundleAdjust.cpp:726
int startColumn() const
Sets starting column for block in full matrix.
Definition: SparseBlockMatrix.cpp:157
Distance measurement, usually in meters.
Definition: Distance.h:34
bool insertMatrixBlock(int nColumnBlock, int nRows, int nCols)
Inserts a "newed" LinearAlgebra::Matrix pointer of size (nRows, nCols) into the map with the block co...
Definition: SparseBlockMatrix.cpp:121
Internalizes a list of images and allows for operations on the entire list.
Definition: ImageList.h:55
A single control point.
Definition: ControlPoint.h:354
void SetMatrix(CoordinateType type, const boost::numeric::ublas::symmetric_matrix< double, boost::numeric::ublas::upper > &covar)
Set the covariance matrix.
Definition: SurfacePoint.cpp:749
bool isAborted()
Returns if the BundleAdjust has been aborted.
Definition: BundleAdjust.cpp:2959
boost::numeric::ublas::vector< double > Vector
Definition for an Isis::LinearAlgebra::Vector of doubles.
Definition: LinearAlgebra.h:120
double Rms() const
Computes and returns the rms.
Definition: Statistics.cpp:365
Contains multiple PvlContainers.
Definition: PvlGroup.h:41
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
CoordinateType
Defines the coordinate typ, units, and coordinate index for some of the output methods.
Definition: SurfacePoint.h:139
Table cMatrix(int index)
Return the updated instrument pointing table for the ith cube in the cube list given to the construct...
Definition: BundleAdjust.cpp:2831
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:104
void statusBarUpdate(QString)
Container class for BundleAdjustment results.
Definition: BundleSolutionInfo.h:159
double sample() const
Accesses the current sample measurement for this control measure.
Definition: BundleMeasure.cpp:191
Class for storing Table blobs information.
Definition: Table.h:61
void add(const QString &filename, bool def2filename=false)
Adds a new filename / serial number pair to the SerialNumberList.
Definition: SerialNumberList.cpp:121
void setRunTime(QString runTime)
Sets the run time, and the name if a name is not already set.
Definition: BundleSolutionInfo.cpp:242
void closeCube()
Cleans up the Cube pointer.
Definition: Image.cpp:307
~BundleAdjust()
Destroys BundleAdjust object, deallocates pointers (if we have ownership), and frees variables from c...
Definition: BundleAdjust.cpp:330
a control network
Definition: ControlNet.h:257
A container class for a ControlMeasure.
Definition: BundleMeasure.h:55
This represents a cube in a project-based GUI interface.
Definition: Image.h:107
Isis exception class.
Definition: IException.h:91
void resultsReady(BundleSolutionInfo *bundleSolveInformation)
Program progress reporter.
Definition: Progress.h:42
int numberOfImages() const
Returns the number of images.
Definition: BundleAdjust.cpp:2793
ErrorType errorType() const
Returns the source of the error for this exception.
Definition: IException.cpp:430
Longitude GetLongitude() const
Return the body-fixed longitude for the surface point.
Definition: SurfacePoint.cpp:1685
QString getModelState() const
Get the CSM Model state string to re-create the CSM Model.
Definition: CSMCamera.cpp:969
bool insertMatrixBlock(int nRowBlock, int nRows, int nCols)
Inserts a "newed" LinearAlgebra::Matrix pointer of size (nRows, nCols) into the map with the block ro...
Definition: SparseBlockMatrix.cpp:507
BundleSolutionInfo * solveCholeskyBR()
Compute the least squares bundle adjustment solution using Cholesky decomposition.
Definition: BundleAdjust.cpp:697
Distance GetLocalRadius() const
Return the radius of the surface point.
Definition: SurfacePoint.cpp:1732
void statusUpdate(QString)
CameraGroundMap * GroundMap()
Returns a pointer to the CameraGroundMap object.
Definition: Camera.cpp:2856
QString iterationSummaryGroup() const
Returns the iteration summary string.
Definition: BundleAdjust.cpp:2971
double meters() const
Get the distance in meters.
Definition: Distance.cpp:85
This class hold image information that BundleAdjust needs to run correctly.Definition for a BundleIma...
Definition: BundleImage.h:36
QSharedPointer< BundleObservation > parentBundleObservation()
Accesses the parent BundleObservation for this bundle measure.
Definition: BundleMeasure.cpp:158
This is free and unencumbered software released into the public domain.
Definition: CubeIoHandler.h:22
int numberOfColumns()
Returns total number of columns in map (NOTE: NOT the number of matrix blocks).
Definition: SparseBlockMatrix.cpp:190
void outputBundleStatus(QString status)
Slot for deltack and jigsaw to output the bundle status.
Definition: BundleAdjust.cpp:2985
bool IsIgnored() const
Definition: ControlPoint.cpp:1311
QList< ImageList * > imageLists()
This method returns the image list used in the bundle adjust.
Definition: BundleAdjust.cpp:2376
Definition: CSMCamera.h:25
SparseBlockRowMatrix.
Definition: SparseBlockMatrix.h:125
A container class for statistical results from a BundleAdjust solution.
Definition: BundleResults.h:82
This is free and unencumbered software released into the public domain.
Definition: Calculator.h:18
QSharedPointer< ControlNet > ControlNetQsp
This typedef is for future implementation of target body.
Definition: ControlNet.h:482
SparseBlockMatrix.
Definition: SparseBlockMatrix.h:186
QSharedPointer< BundleImage > BundleImageQsp
Definition: BundleImage.h:67
static void cholmodErrorHandler(int nStatus, const char *file, int nLineNo, const char *message)
Custom error handler for CHOLMOD.
Definition: BundleAdjust.cpp:72
void wipe()
Deletes all pointer elements and removes them from the map.
Definition: SparseBlockMatrix.cpp:52
double line() const
Accesses the current line measurement for this control measure.
Definition: BundleMeasure.cpp:215
void iterationUpdate(int)
This class defines a body-fixed surface point.
Definition: SurfacePoint.h:132
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
This class is a container class for BundleObservations.
Definition: BundleObservationVector.h:55
QString fileName() const
Access the name of the control network file associated with this Control.
Definition: Control.cpp:272