Medical Imaging Interaction Toolkit  2022.04.99-b2814023 Medical Imaging Interaction Toolkit
mitk::CovarianceMatrixCalculator Class Reference

Class that computes the covariance matrices for every point in a Surface used in the A-ICP algorithm. More...

#include <mitkCovarianceMatrixCalculator.h>

Inheritance diagram for mitk::CovarianceMatrixCalculator:
Collaboration diagram for mitk::CovarianceMatrixCalculator:

## Public Member Functions

mitkClassMacroItkParent (CovarianceMatrixCalculator, itk::Object)

Pointer Clone () const

void SetVoronoiScalingFator (const double factor)

void EnableNormalization (bool state)

double GetMeanVariance () const

const CovarianceMatrixListGetCovarianceMatrices () const

void SetInputSurface (Surface *input)

void ComputeCovarianceMatrices ()

## Static Public Member Functions

static Pointer New ()

## Protected Types

typedef itk::Matrix< double, 3, 3 > CovarianceMatrix

typedef std::vector< CovarianceMatrixCovarianceMatrixList

typedef double Vertex[3]

## Protected Member Functions

void ComputeOrthonormalCoordinateSystem (const int index, Vertex normal, CovarianceMatrix &principalComponents, Vertex variances, Vertex curVertex)

CovarianceMatrixCalculator ()

~CovarianceMatrixCalculator () override

## Protected Attributes

CovarianceMatrixList m_CovarianceMatrixList

## Detailed Description

Class that computes the covariance matrices for every point in a Surface used in the A-ICP algorithm.

Computes a covariance matrix for every vertex in a given Surface based on it's direct neighbours and saves them into a CovarianceMatrixList. The Class implements the CM_PCA method presented by L. Maier-Hein et al. in "Convergent Iterative Closest-Point Algorithm to Accomodate Anisotropic and Inhomogenous Localization Error.", IEEE T Pattern Anal 34 (8), 1520-1532, 2012. The algorithm needs a clean Surface with non manifold edges and no duplicated vertices. To ensure a clean Surface representation use vtkCleanPolyData.

Definition at line 46 of file mitkCovarianceMatrixCalculator.h.

## ◆ CovarianceMatrix

 typedef itk::Matrix mitk::CovarianceMatrixCalculator::CovarianceMatrix
protected

Definition of the covariance matrix.

Definition at line 56 of file mitkCovarianceMatrixCalculator.h.

## ◆ CovarianceMatrixList

 typedef std::vector mitk::CovarianceMatrixCalculator::CovarianceMatrixList
protected

Definition of a list of covariance matrices

Definition at line 58 of file mitkCovarianceMatrixCalculator.h.

## ◆ Vertex

 typedef double mitk::CovarianceMatrixCalculator::Vertex[3]
protected

Definition at line 59 of file mitkCovarianceMatrixCalculator.h.

## ◆ CovarianceMatrixCalculator()

 mitk::CovarianceMatrixCalculator::CovarianceMatrixCalculator ( )
protected

## ◆ ~CovarianceMatrixCalculator()

 mitk::CovarianceMatrixCalculator::~CovarianceMatrixCalculator ( )
overrideprotected

## ◆ Clone()

 Pointer mitk::CovarianceMatrixCalculator::Clone ( ) const

## ◆ ComputeCovarianceMatrices()

 void mitk::CovarianceMatrixCalculator::ComputeCovarianceMatrices ( )

Method that computes the covariance matrices for the input surface.

Exceptions
 std::exception If the input surface is not set.

## ◆ ComputeOrthonormalCoordinateSystem()

 void mitk::CovarianceMatrixCalculator::ComputeOrthonormalCoordinateSystem ( const int index, Vertex normal, CovarianceMatrix & principalComponents, Vertex variances, Vertex curVertex )
protected

This method projects all surrounding vertices of given vertex in a Surface in the normal direction onto a plane and computes a primary component analysis on the projected vertices. In the next step a orthonormal system is created.

Parameters
 index The index of the input Vertex in the Surface. normal The normal of the input Vertex. principalComponents CovarianceMatrix of the principal component analysis. variances Variances along the axes of the createt Orthonormal system. curVertex The current Vertex in the surface

## ◆ EnableNormalization()

 void mitk::CovarianceMatrixCalculator::EnableNormalization ( bool state )

Enables/disables the covariance matrix normalization.

Parameters
 state Enables the covariance matrix normalization.

## ◆ GetCovarianceMatrices()

 const CovarianceMatrixList& mitk::CovarianceMatrixCalculator::GetCovarianceMatrices ( ) const

Returns a reference to the CovarianceMatrixList with the computed covariance matrices.

Returns
A CovarianceMatrixList.

## ◆ GetMeanVariance()

 double mitk::CovarianceMatrixCalculator::GetMeanVariance ( ) const

Returns the mean of variance of all computed covariance matrices.

Returns
The mean variance.

## ◆ mitkClassMacroItkParent()

 mitk::CovarianceMatrixCalculator::mitkClassMacroItkParent ( CovarianceMatrixCalculator , itk::Object )

## ◆ New()

 static Pointer mitk::CovarianceMatrixCalculator::New ( )
static

## ◆ SetInputSurface()

 void mitk::CovarianceMatrixCalculator::SetInputSurface ( Surface * input )

Sets the input Surface for which the covariance matrices will be calculated.

Parameters
 input A Surface.

## ◆ SetVoronoiScalingFator()

 void mitk::CovarianceMatrixCalculator::SetVoronoiScalingFator ( const double factor )

Sets the scaling factor for the voronoi area.

Parameters
 factor The scaling factor.

## ◆ m_CovarianceMatrixList

 CovarianceMatrixList mitk::CovarianceMatrixCalculator::m_CovarianceMatrixList
protected

List that stores the computed covariance matrices.

Definition at line 62 of file mitkCovarianceMatrixCalculator.h.

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