Medical Imaging Interaction Toolkit  2023.12.00
Medical Imaging Interaction Toolkit
mitk::AnisotropicRegistrationCommon Class Reference

A Class that provides common static functions used by all classes and tests in the anisotropic iterative closest point algorithm (AnisotropicIterativeClosestPointRegistration). More...

#include <mitkAnisotropicRegistrationCommon.h>

Static Public Member Functions

static WeightMatrix CalculateWeightMatrix (const CovarianceMatrix &sigma_X, const CovarianceMatrix &sigma_Y)
 Method that computes a WeightMatrix with two CovarianceMatrices. More...
 
static void TransformPoints (vtkPoints *src, vtkPoints *dst, const Rotation &rotation, const Translation &translation)
 Transforms a point cloud with a Rotation and Translation. More...
 
static void PropagateMatrices (const MatrixList &src, MatrixList &dst, const Rotation &rotation)
 Propagate a list of matrices with a rotation matrix. More...
 
static double ComputeTargetRegistrationError (const mitk::PointSet *movingTargets, const mitk::PointSet *fixedTargets, const Rotation &rotation, const Translation &translation)
 Compute the target registration error between two point sets. More...
 

Protected Types

typedef itk::Matrix< double, 3, 3 > WeightMatrix
 
typedef WeightMatrix Rotation
 
typedef WeightMatrix CovarianceMatrix
 
typedef mitk::Vector3D Translation
 
typedef std::vector< WeightMatrixMatrixList
 

Protected Member Functions

 AnisotropicRegistrationCommon ()
 
 ~AnisotropicRegistrationCommon ()
 

Detailed Description

A Class that provides common static functions used by all classes and tests in the anisotropic iterative closest point algorithm (AnisotropicIterativeClosestPointRegistration).

The class provides common functionality used by the A-ICP algorithm like: compute weightmatrices (CalculateWeightMatrix()), transform points (TransformPoints()), propagate 3 x 3 matrices (PropagateMatrices()) and compute the target registration error (TRE) (ComputeTargetRegistrationError()).

Definition at line 41 of file mitkAnisotropicRegistrationCommon.h.

Member Typedef Documentation

◆ CovarianceMatrix

Definition of the covariance matrix.

Definition at line 51 of file mitkAnisotropicRegistrationCommon.h.

◆ MatrixList

Definition of the weight matrix list.

Definition at line 55 of file mitkAnisotropicRegistrationCommon.h.

◆ Rotation

Definition of a rotation matrix.

Definition at line 49 of file mitkAnisotropicRegistrationCommon.h.

◆ Translation

Definition of the translation vector.

Definition at line 53 of file mitkAnisotropicRegistrationCommon.h.

◆ WeightMatrix

typedef itk::Matrix<double, 3, 3> mitk::AnisotropicRegistrationCommon::WeightMatrix
protected

Definition of the 3 x 3 weight matrix.

Definition at line 47 of file mitkAnisotropicRegistrationCommon.h.

Constructor & Destructor Documentation

◆ AnisotropicRegistrationCommon()

mitk::AnisotropicRegistrationCommon::AnisotropicRegistrationCommon ( )
inlineprotected

Definition at line 57 of file mitkAnisotropicRegistrationCommon.h.

◆ ~AnisotropicRegistrationCommon()

mitk::AnisotropicRegistrationCommon::~AnisotropicRegistrationCommon ( )
inlineprotected

Definition at line 58 of file mitkAnisotropicRegistrationCommon.h.

Member Function Documentation

◆ CalculateWeightMatrix()

static WeightMatrix mitk::AnisotropicRegistrationCommon::CalculateWeightMatrix ( const CovarianceMatrix sigma_X,
const CovarianceMatrix sigma_Y 
)
static

Method that computes a WeightMatrix with two CovarianceMatrices.

Parameters
sigma_XCovarianceMatrix from the moving point set.
sigma_YCovarianceMatrix from the fixed point set.
Returns
The computed WeighMatrix.

◆ ComputeTargetRegistrationError()

static double mitk::AnisotropicRegistrationCommon::ComputeTargetRegistrationError ( const mitk::PointSet movingTargets,
const mitk::PointSet fixedTargets,
const Rotation rotation,
const Translation translation 
)
static

Compute the target registration error between two point sets.

Method that is used for testing and evaluation. It computes the target registration error (TRE) between two point sets with a rotation matrix and a translation vector.

Parameters
movingTargetsThe target points of the moving point set.
fixedTargetsThe target points of the fixed point set.
rotationA 3x3 rotation matrix.
translationA 3x1 translation vector.
Returns
The Target Registration Error (TRE).

◆ PropagateMatrices()

static void mitk::AnisotropicRegistrationCommon::PropagateMatrices ( const MatrixList src,
MatrixList dst,
const Rotation rotation 
)
static

Propagate a list of matrices with a rotation matrix.

Method that propagate the source list and saves the result in the destination. If the source and destination lists are the same the matrices will be computed in place.

Warning
No bound check is done. Make sure that both lists are allocated and have the same size.
Parameters
srcReference to the source matrices list.
dstReference to the destination list
rotationReference to a rotation matrix.

◆ TransformPoints()

static void mitk::AnisotropicRegistrationCommon::TransformPoints ( vtkPoints *  src,
vtkPoints *  dst,
const Rotation rotation,
const Translation translation 
)
static

Transforms a point cloud with a Rotation and Translation.

The method uses two point sets as input. It transforms every point from the source point set and saves the result in the destination. The soure is not modified. If the same point set is used as source and destination. The method will modify the source and the transformation is done in place.

Warning
No bound check is done. Ensure that source and destination are allocated and have the same size.
Parameters
srcThe source point set.
dstThe destination point set.
rotationThe rotation matrix.
translationThe translation vector.

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