Medical Imaging Interaction Toolkit  2016.11.0
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 45 of file mitkAnisotropicRegistrationCommon.h.

Member Typedef Documentation

Definition of the covariance matrix.

Definition at line 55 of file mitkAnisotropicRegistrationCommon.h.

Definition of the weight matrix list.

Definition at line 59 of file mitkAnisotropicRegistrationCommon.h.

Definition of a rotation matrix.

Definition at line 53 of file mitkAnisotropicRegistrationCommon.h.

Definition of the translation vector.

Definition at line 57 of file mitkAnisotropicRegistrationCommon.h.

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

Definition of the 3 x 3 weight matrix.

Definition at line 51 of file mitkAnisotropicRegistrationCommon.h.

Constructor & Destructor Documentation

mitk::AnisotropicRegistrationCommon::AnisotropicRegistrationCommon ( )
inlineprotected

Definition at line 61 of file mitkAnisotropicRegistrationCommon.h.

mitk::AnisotropicRegistrationCommon::~AnisotropicRegistrationCommon ( )
inlineprotected

Definition at line 62 of file mitkAnisotropicRegistrationCommon.h.

Member Function Documentation

mitk::AnisotropicRegistrationCommon::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.

Definition at line 21 of file mitkAnisotropicRegistrationCommon.cpp.

Referenced by calculateWeightMatrices(), and mitk::AnisotropicIterativeClosestPointRegistration::ComputeCorrespondences().

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).

Definition at line 80 of file mitkAnisotropicRegistrationCommon.cpp.

References mitk::PointSet::GetPoint(), and mitk::PointSet::GetSize().

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.

Definition at line 67 of file mitkAnisotropicRegistrationCommon.cpp.

Referenced by mitk::AnisotropicIterativeClosestPointRegistration::Update().

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.

Definition at line 46 of file mitkAnisotropicRegistrationCommon.cpp.

Referenced by mitk::AnisotropicIterativeClosestPointRegistration::Update(), and mitk::WeightedPointTransform::WeightedPointRegister().


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