Medical Imaging Interaction Toolkit  2024.12.99-0da743f6
Medical Imaging Interaction Toolkit
mitkThinPlateSplineCurvedGeometry.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 mitkThinPlateSplineCurvedGeometry_h
14 #define mitkThinPlateSplineCurvedGeometry_h
15 
17 
18 class vtkPoints;
19 class vtkThinPlateSplineTransform;
20 
21 namespace mitk
22 {
23  //##Documentation
24  //## @brief Thin-plate-spline-based landmark-based curved geometry
25  //##
26  //## @ingroup Geometry
28  {
29  public:
31 
32  itkFactorylessNewMacro(Self);
33 
34  itkCloneMacro(Self);
35 
36  void ComputeGeometry() override;
37 
38  itk::LightObject::Pointer InternalClone() const override;
39 
40  vtkThinPlateSplineTransform *GetThinPlateSplineTransform() const { return m_ThinPlateSplineTransform; }
41  virtual void SetSigma(double sigma);
42  virtual double GetSigma() const;
43 
44  bool IsValid() const override;
45 
46  protected:
49 
51 
52  vtkThinPlateSplineTransform *m_ThinPlateSplineTransform;
53 
56 
57  //##Documentation
58  //## @brief PreSetSpacing
59  //##
60  //## These virtual function allows a different beahiour in subclasses.
61  //## Do implement them in every subclass of BaseGeometry. If not needed, use
62  //## {Superclass::PreSetSpacing();};
63  void PreSetSpacing(const mitk::Vector3D &aSpacing) override { Superclass::PreSetSpacing(aSpacing); };
64  };
65 } // namespace mitk
66 
67 #endif
mitk::ThinPlateSplineCurvedGeometry::m_VtkProjectedLandmarks
vtkPoints * m_VtkProjectedLandmarks
Definition: mitkThinPlateSplineCurvedGeometry.h:55
mitkLandmarkProjectorBasedCurvedGeometry.h
mitk::ThinPlateSplineCurvedGeometry
Thin-plate-spline-based landmark-based curved geometry.
Definition: mitkThinPlateSplineCurvedGeometry.h:27
mitk::LandmarkProjectorBasedCurvedGeometry
Superclass of AbstractTransformGeometry sub-classes defined by a set of landmarks.
Definition: mitkLandmarkProjectorBasedCurvedGeometry.h:28
mitk
Find image slices visible on a given plane.
Definition: RenderingTests.dox:1
mitk::Vector< ScalarType, 3 >
mitk::BaseGeometry
BaseGeometry Describes the geometry of a data object.
Definition: mitkBaseGeometry.h:94
mitk::ThinPlateSplineCurvedGeometry::GetThinPlateSplineTransform
vtkThinPlateSplineTransform * GetThinPlateSplineTransform() const
Definition: mitkThinPlateSplineCurvedGeometry.h:40
mitkClassMacro
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:36
mitk::ThinPlateSplineCurvedGeometry::m_ThinPlateSplineTransform
vtkThinPlateSplineTransform * m_ThinPlateSplineTransform
Definition: mitkThinPlateSplineCurvedGeometry.h:52
mitk::ThinPlateSplineCurvedGeometry::PreSetSpacing
void PreSetSpacing(const mitk::Vector3D &aSpacing) override
PreSetSpacing.
Definition: mitkThinPlateSplineCurvedGeometry.h:63
MITKCORE_EXPORT
#define MITKCORE_EXPORT
Definition: MitkCoreExports.h:15
mitk::ThinPlateSplineCurvedGeometry::m_VtkTargetLandmarks
vtkPoints * m_VtkTargetLandmarks
Definition: mitkThinPlateSplineCurvedGeometry.h:54