Isis 3 Programmer Reference
CorrelationMatrix.h
1#ifndef CorrelationMatrix_h
2#define CorrelationMatrix_h
3
10/* SPDX-License-Identifier: CC0-1.0 */
11
12#include "FileName.h"
13
14#include <QDebug>
15#include <QList>
16#include <QMap>
17#include <QString>
18#include <QStringList>
19
20#include <boost/numeric/ublas/matrix_sparse.hpp>
21
22template <typename A, typename B> class QMap;
23template <typename A> class QList;
24
25namespace Isis {
26 class FileName;
27 class MosaicSceneWidget;
28 class PvlObject;
29 class SparseBlockColumnMatrix;
30
31
62 public:
64 CorrelationMatrix(PvlObject storedMatrixData);
67
69
71 void retrieveVisibleElements(int x, int y);
72
73 bool isValid();
74 bool hasCovMat();
75 //const bool hasCovMat() const;
76
79 void setImagesAndParameters(QMap<QString, QStringList> imagesAndParameters);
80
81 SparseBlockColumnMatrix correlationMatrixFromFile(QDataStream inStream);
82 //might need something called deleteLater(), called from MatrixTreeWidgetItem constructor.
83
84 //if cov filename is null we need to ask the user to find it.
85
88 QMap<QString, QStringList> *imagesAndParameters();
89
92
93 // Need these for range used to pick colors....
94 QList<SparseBlockColumnMatrix> *visibleBlocks();
95
97
98
99 private:
101 QMap<QString, QStringList> *m_imagesAndParameters;
102
105
108
113 QList<double> *m_diagonals;
114
119 QList<SparseBlockColumnMatrix> *m_visibleBlocks;
120 };
121
122};
123
124Q_DECLARE_METATYPE(Isis::CorrelationMatrix);
125
126#endif
This is a container for the correlation matrix that comes from a bundle adjust.
QList< double > * m_diagonals
List of the parameter values.
void retrieveWholeMatrix()
This method will read the matrix in from the file and hold on to the whole thing.
QMap< QString, QStringList > * imagesAndParameters()
Public access for the qmap of images and parameters.
void setCovarianceFileName(FileName covarianceFileName)
Set the qmap of images and parameters.
CorrelationMatrix & operator=(const CorrelationMatrix &other)
Equal Operator.
bool isValid()
This is the public accessor for the list of elements that should be displayed in the current view.
FileName covarianceFileName()
Public access for the covariance matrix file name.
FileName * m_covarianceFileName
FileName of the covariance matrix calculated when the bundle was run.
void setImagesAndParameters(QMap< QString, QStringList > imagesAndParameters)
Set the qmap of images and parameters.
FileName * m_correlationFileName
FileName of the correlation matrix.
CorrelationMatrix()
Default Constructor.
void retrieveVisibleElements(int x, int y)
Extract requested area from correlation matrix This method will open the correlation matrix file and ...
bool hasCovMat()
Check if the correlation matrix has a covariance matrix This is used to make sure the covariance matr...
QList< SparseBlockColumnMatrix > * visibleBlocks()
Get the visible part of the matrix.
QMap< QString, QStringList > * m_imagesAndParameters
This map holds the images used to create this matrix and their associated parameters.
void setCorrelationFileName(FileName correlationFileName)
Set the qmap of images and parameters.
PvlObject pvlObject()
This method creates a Pvl group with the information necessary to recreate this correlation matrix.
void computeCorrelationMatrix()
Read covariance matrix and compute correlation values This method reads the covariance matrix in from...
FileName correlationFileName()
Public access for the correlation matrix file name.
QList< SparseBlockColumnMatrix > * m_visibleBlocks
This will be the three blocks (or whole matrix depending on size) that apply to the given area.
void retrieveThreeVisibleBlocks()
Display only part of a matrix This method will be used when the matrix is too big to display the whol...
File name manipulation and expansion.
Definition FileName.h:100
Contains Pvl Groups and Pvl Objects.
Definition PvlObject.h:61
SparseBlockColumnMatrix.
This is free and unencumbered software released into the public domain.
This is free and unencumbered software released into the public domain.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16