Isis Developer Reference
Isis::CorrelationMatrix Class Reference

This is a container for the correlation matrix that comes from a bundle adjust. More...

#include <CorrelationMatrix.h>

Collaboration diagram for Isis::CorrelationMatrix:
Collaboration graph

Public Member Functions

 CorrelationMatrix ()
 Default Constructor.
 
 CorrelationMatrix (PvlObject storedMatrixData)
 This constructor will create a CorrelationMatrix object given a pvl.
 
 CorrelationMatrix (const CorrelationMatrix &other)
 Copy Constructor.
 
 ~CorrelationMatrix ()
 Destructor.
 
CorrelationMatrixoperator= (const CorrelationMatrix &other)
 Equal Operator.
 
void computeCorrelationMatrix ()
 Read covariance matrix and compute correlation values This method reads the covariance matrix in from a file, one SparseBlockColumnMatrix at a time.
 
void retrieveVisibleElements (int x, int y)
 Extract requested area from correlation matrix This method will open the correlation matrix file and read in the blocks that apply to the requested area.
 
bool isValid ()
 This is the public accessor for the list of elements that should be displayed in the current view.
 
bool hasCovMat ()
 Check if the correlation matrix has a covariance matrix This is used to make sure the covariance matrix exists.
 
void setCorrelationFileName (FileName correlationFileName)
 Set the qmap of images and parameters.
 
void setCovarianceFileName (FileName covarianceFileName)
 Set the qmap of images and parameters.
 
void setImagesAndParameters (QMap< QString, QStringList > imagesAndParameters)
 Set the qmap of images and parameters.
 
SparseBlockColumnMatrix correlationMatrixFromFile (QDataStream inStream)
 
FileName correlationFileName ()
 Public access for the correlation matrix file name.
 
FileName covarianceFileName ()
 Public access for the covariance matrix file name.
 
QMap< QString, QStringList > * imagesAndParameters ()
 Public access for the qmap of images and parameters.
 
void retrieveWholeMatrix ()
 This method will read the matrix in from the file and hold on to the whole thing.
 
void retrieveThreeVisibleBlocks ()
 Display only part of a matrix This method will be used when the matrix is too big to display the whole thing.
 
QList< SparseBlockColumnMatrix > * visibleBlocks ()
 Get the visible part of the matrix.
 
PvlObject pvlObject ()
 This method creates a Pvl group with the information necessary to recreate this correlation matrix.
 

Detailed Description

This is a container for the correlation matrix that comes from a bundle adjust.

The bundle adjust will output the covariance matrix to a file. This class will read that file in and compute the correlation matrix. The entire correlation matrix will be written to a file and values will be read/displayed on an as-needed basis.

Author
2014-05-02 Kimberly Oyama

Constructor & Destructor Documentation

◆ CorrelationMatrix() [1/3]

Isis::CorrelationMatrix::CorrelationMatrix ( )

Default Constructor.

◆ CorrelationMatrix() [2/3]

Isis::CorrelationMatrix::CorrelationMatrix ( PvlObject storedMatrixData)

This constructor will create a CorrelationMatrix object given a pvl.

Object = CorrelationMatrix

CovarianceFileName = fileName.dat CorrelationFileName = fileName.dat

Group = ImagesAndParameters Image1 = "Parameter1", "Parameter2", "..." Image2 = "Parameter1", "Parameter2", "..." Image3 = "Parameter1", "Parameter2", "..." End_Group

End_Object

Parameters
storedMatrixDataA PvlObject containing data about the covariance/correlation matrix.
Exceptions
IException::User"This Pvl Object does not have the correct correlation information. The Object you are looking for is called CorrelationMatrixData"
IException::User"Could not find the Covariance Matrix .dat file name."
IException::User"Could not find the Correlation Matrix .dat file name."
IException::User"Could not get Images and Parameters from ImagesAndParameters group."

References _FILEINFO_, and Isis::IException::User.

◆ CorrelationMatrix() [3/3]

Isis::CorrelationMatrix::CorrelationMatrix ( const CorrelationMatrix & other)

Copy Constructor.

Parameters
otherThe CorrelationMatrix to copy.

◆ ~CorrelationMatrix()

Isis::CorrelationMatrix::~CorrelationMatrix ( )

Destructor.

Member Function Documentation

◆ computeCorrelationMatrix()

void Isis::CorrelationMatrix::computeCorrelationMatrix ( )

Read covariance matrix and compute correlation values This method reads the covariance matrix in from a file, one SparseBlockColumnMatrix at a time.

It then stores the diagonal values from that column and computes the correlation values. The resulting SparseBlockMatrix is written to a new file, one SparseBlockColumnMatrix at a time.

Exceptions
IException::Progammer"Cannot compute correlation matrix without a specified file name. Use setCorrelationFileName(FileName) before calling computeCorrelationMatrix()."

References _FILEINFO_, Isis::FileName::expanded(), isValid(), and Isis::IException::Programmer.

◆ correlationFileName()

FileName Isis::CorrelationMatrix::correlationFileName ( )

Public access for the correlation matrix file name.

Returns
FileName The FileName of the correlation matrix data file.

Referenced by setCorrelationFileName().

◆ correlationMatrixFromFile()

SparseBlockColumnMatrix Isis::CorrelationMatrix::correlationMatrixFromFile ( QDataStream inStream)

◆ covarianceFileName()

FileName Isis::CorrelationMatrix::covarianceFileName ( )

Public access for the covariance matrix file name.

Returns
FileName The FileName of the covariance data file.

Referenced by setCovarianceFileName().

◆ hasCovMat()

bool Isis::CorrelationMatrix::hasCovMat ( )

Check if the correlation matrix has a covariance matrix This is used to make sure the covariance matrix exists.

If it doesn't this class is not valid. If this file exists, we can compute the correlation matrix.

Returns
bool Returns True if the covariance matrix exists, and False if it does not.

References Isis::FileName::name().

◆ imagesAndParameters()

QMap< QString, QStringList > * Isis::CorrelationMatrix::imagesAndParameters ( )

Public access for the qmap of images and parameters.

Returns
*QMap<QString,QStringList> A pointer to the QMap structure containing a list of images (the keys) and their associated parameter values.

Referenced by Isis::MatrixOptions::matrixImgsAndParams(), and setImagesAndParameters().

◆ isValid()

bool Isis::CorrelationMatrix::isValid ( )

This is the public accessor for the list of elements that should be displayed in the current view.

Returns
QList<MatrixElement*> The list of currently visible elements.

See if the correlation matrix has already been calculated by checking to see if the correlation matrix file has been created.

Returns
bool Returns True if the correlation matrix has already been set.

References Isis::FileName::name().

Referenced by computeCorrelationMatrix(), Isis::MatrixViewWorkOrder::isExecutable(), and setCovarianceFileName().

◆ operator=()

CorrelationMatrix & Isis::CorrelationMatrix::operator= ( const CorrelationMatrix & other)

Equal Operator.

Should this call the copy constructor???

Parameters
otherThe matrix to assign to this matrix.
Returns
CorrelationMatrix Returns the new matrix.

◆ pvlObject()

PvlObject Isis::CorrelationMatrix::pvlObject ( )

This method creates a Pvl group with the information necessary to recreate this correlation matrix.

Object = CorrelationMatrixData CovarianceMatrixFileName = /location/covarianceTmpFileName.dat CorrelationMatrixFileName = /location/correlationTmpFileName.dat

Group = ImagesAndParameters Image1Name = "Param1, Param2, ..., ParamN" ... ImageNName = "..." End_Group End_Object

Returns
PvlGroup Returns the information needed to recreate this correlation matrix.

References Isis::FileName::expanded().

◆ retrieveThreeVisibleBlocks()

void Isis::CorrelationMatrix::retrieveThreeVisibleBlocks ( )

Display only part of a matrix This method will be used when the matrix is too big to display the whole thing.

It will read in the block we want to see and the two blocks for the diagonals that belong to the right images.

◆ retrieveVisibleElements()

void Isis::CorrelationMatrix::retrieveVisibleElements ( int x,
int y )

Extract requested area from correlation matrix This method will open the correlation matrix file and read in the blocks that apply to the requested area.

It will populate m_visibleElements.

Parameters
xfirst coordinate of the location in the matrix that the user wants to see.
ysecond coordinate of the location in the matrix that the user wants to see.

◆ retrieveWholeMatrix()

void Isis::CorrelationMatrix::retrieveWholeMatrix ( )

This method will read the matrix in from the file and hold on to the whole thing.

This will only be used when the matrix is small enough that this will be useful.

◆ setCorrelationFileName()

void Isis::CorrelationMatrix::setCorrelationFileName ( FileName correlationFileName)

Set the qmap of images and parameters.

Parameters
correlationFileNameThe FileName of the stored correlation matrix data.

References correlationFileName().

Referenced by Isis::BundleResults::readCorrelationMatrix(), and setCovarianceFileName().

◆ setCovarianceFileName()

void Isis::CorrelationMatrix::setCovarianceFileName ( FileName covarianceFileName)

Set the qmap of images and parameters.

Parameters
covarianceFileNameThe FileName of the stored covariance matrix data.

References covarianceFileName(), Isis::FileName::expanded(), isValid(), and setCorrelationFileName().

Referenced by Isis::BundleResults::readCorrelationMatrix(), and Isis::BundleResults::setCorrMatCovFileName().

◆ setImagesAndParameters()

void Isis::CorrelationMatrix::setImagesAndParameters ( QMap< QString, QStringList > imagesAndParameters)

Set the qmap of images and parameters.

Parameters
imagesAndParametersa QMap structure indexed by image keys, with an arbitrary set of parameters for each image.

References imagesAndParameters().

Referenced by Isis::BundleResults::setCorrMatImgsAndParams().

◆ visibleBlocks()

QList< SparseBlockColumnMatrix > * Isis::CorrelationMatrix::visibleBlocks ( )

Get the visible part of the matrix.

Returns
QList Returns a list of the non-empty diagonal blocks of the correlation matrix.

The documentation for this class was generated from the following files: