Isis 3.0
Home
CorrelationMatrix.h
Go to the documentation of this file.
1 #ifndef CorrelationMatrix_h
2 #define CorrelationMatrix_h
3 
23 #include "FileName.h"
24 
25 #include <QDebug>
26 #include <QList>
27 #include <QMap>
28 #include <QString>
29 #include <QStringList>
30 
31 #include <boost/numeric/ublas/matrix_sparse.hpp>
32 
33 template <typename A, typename B> class QMap;
34 template <typename A> class QList;
35 
36 namespace Isis {
37  class FileName;
38  class MosaicSceneWidget;
39  class PvlObject;
40  class SparseBlockColumnMatrix;
41 
42 
73  public:
75  CorrelationMatrix(PvlObject storedMatrixData);
78 
80 
82  void retrieveVisibleElements(int x, int y);
83 
84  bool isValid();
85  bool hasCovMat();
86  //const bool hasCovMat() const;
87 
91 
93  //might need something called deleteLater(), called from MatrixTreeWidgetItem constructor.
94 
95  //if cov filename is null we need to ask the user to find it.
96 
100 
101  void retrieveWholeMatrix();
103 
104  // Need these for range used to pick colors....
106 
108 
109  QDataStream &write(QDataStream &stream) const;
110  QDataStream &read(QDataStream &stream);
111 
112  private:
114  QMap<QString, QStringList> *m_imagesAndParameters;
115 
117  FileName *m_covarianceFileName;
118 
120  FileName *m_correlationFileName;
121 
126  QList<double> *m_diagonals;
127 
132  QList<SparseBlockColumnMatrix> *m_visibleBlocks;
133  };
134  // operators to read/write CorrelationMatrix to/from binary disk file
135  QDataStream &operator<<(QDataStream &stream, const CorrelationMatrix &matrix);
136  QDataStream &operator>>(QDataStream &stream, CorrelationMatrix &matrix);
137 };
138 
140 
141 #endif
void retrieveVisibleElements(int x, int y)
This method will open the correlation matrix file and read in the blocks that apply to the requested ...
Definition: CorrelationMatrix.cpp:279
void retrieveWholeMatrix()
This method will read the matrix in from the file and hold on to the whole thing. ...
Definition: CorrelationMatrix.cpp:416
This is a container for the correlation matrix that comes from a bundle adjust.
Definition: CorrelationMatrix.h:72
FileName covarianceFileName()
Public access for the covariance matrix file name.
Definition: CorrelationMatrix.cpp:395
SparseBlockColumnMatrix.
Definition: SparseBlockMatrix.h:66
File name manipulation and expansion.
Definition: FileName.h:111
CorrelationMatrix()
Default Constructor.
Definition: CorrelationMatrix.cpp:21
void setCorrelationFileName(FileName correlationFileName)
Set the qmap of images and parameters.
Definition: CorrelationMatrix.cpp:334
FileName correlationFileName()
Public access for the correlation matrix file name.
Definition: CorrelationMatrix.cpp:385
void computeCorrelationMatrix()
This method reads the covariance matrix in from a file, one SparseBlockColumnMatrix at a time...
Definition: CorrelationMatrix.cpp:194
void setImagesAndParameters(QMap< QString, QStringList > imagesAndParameters)
Set the qmap of images and parameters.
Definition: CorrelationMatrix.cpp:370
~CorrelationMatrix()
Destructor.
Definition: CorrelationMatrix.cpp:129
QDataStream & read(QDataStream &stream)
Reads CorrelationMatrix data from the input stream and places the data in member variables.
Definition: CorrelationMatrix.cpp:506
Q_DECLARE_METATYPE(Isis::Cube *)
This allows Cube *&#39;s to be stored in a QVariant.
SparseBlockColumnMatrix correlationMatrixFromFile(QDataStream inStream)
PvlObject pvlObject()
This method creates a Pvl group with the information necessary to recreate this correlation matrix...
Definition: CorrelationMatrix.cpp:464
std::istream & operator>>(std::istream &is, CSVReader &csv)
Input read operator for input stream sources.
Definition: CSVReader.cpp:463
void retrieveThreeVisibleBlocks()
This method will be used when the matrix is too big to display the whole thing.
Definition: CorrelationMatrix.cpp:434
bool hasCovMat()
This is used to make sure the covariance matrix exists.
Definition: CorrelationMatrix.cpp:324
void setCovarianceFileName(FileName covarianceFileName)
Set the qmap of images and parameters.
Definition: CorrelationMatrix.cpp:348
bool isValid()
This is the public accessor for the list of elements that should be displayed in the current view...
Definition: CorrelationMatrix.cpp:311
Definition: BoxcarCachingAlgorithm.h:29
QList< SparseBlockColumnMatrix > * visibleBlocks()
Get the visible part of the matrix.
Definition: CorrelationMatrix.cpp:442
CorrelationMatrix & operator=(const CorrelationMatrix &other)
Equal Operator.
Definition: CorrelationMatrix.cpp:155
QDebug operator<<(QDebug debug, const Hillshade &hillshade)
Print this class out to a QDebug object.
Definition: Hillshade.cpp:308
Contains Pvl Groups and Pvl Objects.
Definition: PvlObject.h:74
Definition: CubeIoHandler.h:38
QDataStream & write(QDataStream &stream) const
Writes CorrelationMatrix data to the output stream and returns this stream to the user...
Definition: CorrelationMatrix.cpp:489
QMap< QString, QStringList > * imagesAndParameters()
Public access for the qmap of images and parameters.
Definition: CorrelationMatrix.cpp:406