Medical Imaging Interaction Toolkit  2024.12.00
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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