Medical Imaging Interaction Toolkit  2025.12.02
Medical Imaging Interaction Toolkit
mitkAnisotropicRegistrationCommon.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef mitkAnisotropicRegistrationCommon_h
14 #define mitkAnisotropicRegistrationCommon_h
15 
16 #include <itkMatrix.h>
17 #include <mitkCommon.h>
18 #include <mitkVector.h>
19 
21 
22 // forward declarations
23 class vtkPoints;
24 
25 namespace mitk
26 {
27  class PointSet;
28 
42  {
43  protected:
44  // local typedefs
45 
47  typedef itk::Matrix<double, 3, 3> WeightMatrix;
55  typedef std::vector<WeightMatrix> MatrixList;
56 
59  public:
65  static WeightMatrix CalculateWeightMatrix(const CovarianceMatrix &sigma_X, const CovarianceMatrix &sigma_Y);
66 
84  static void TransformPoints(vtkPoints *src,
85  vtkPoints *dst,
86  const Rotation &rotation,
87  const Translation &translation);
88 
103  static void PropagateMatrices(const MatrixList &src, MatrixList &dst, const Rotation &rotation);
104 
119  static double ComputeTargetRegistrationError(const mitk::PointSet *movingTargets,
120  const mitk::PointSet *fixedTargets,
121  const Rotation &rotation,
122  const Translation &translation);
123  };
124 }
125 
126 #endif
#define MITKALGORITHMSEXT_EXPORT
A Class that provides common static functions used by all classes and tests in the anisotropic iterat...
static WeightMatrix CalculateWeightMatrix(const CovarianceMatrix &sigma_X, const CovarianceMatrix &sigma_Y)
Method that computes a WeightMatrix with two CovarianceMatrices.
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.
static void TransformPoints(vtkPoints *src, vtkPoints *dst, const Rotation &rotation, const Translation &translation)
Transforms a point cloud with a Rotation and Translation.
static void PropagateMatrices(const MatrixList &src, MatrixList &dst, const Rotation &rotation)
Propagate a list of matrices with a rotation matrix.
Data structure which stores a set of points.
Definition: mitkPointSet.h:72
Find image slices visible on a given plane.