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
16
#include "
mitkLandmarkProjectorBasedCurvedGeometry.h
"
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
27
class
MITKCORE_EXPORT
ThinPlateSplineCurvedGeometry
:
public
LandmarkProjectorBasedCurvedGeometry
28
{
29
public
:
30
mitkClassMacro
(
ThinPlateSplineCurvedGeometry
,
LandmarkProjectorBasedCurvedGeometry
);
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
:
47
ThinPlateSplineCurvedGeometry
();
48
ThinPlateSplineCurvedGeometry
(
const
ThinPlateSplineCurvedGeometry
&other);
49
50
~
ThinPlateSplineCurvedGeometry
()
override
;
51
52
vtkThinPlateSplineTransform *
m_ThinPlateSplineTransform
;
53
54
vtkPoints *
m_VtkTargetLandmarks
;
55
vtkPoints *
m_VtkProjectedLandmarks
;
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
src
MITK
Modules
Core
include
mitkThinPlateSplineCurvedGeometry.h
Generated on Mon Dec 23 2024 02:13:21 for Medical Imaging Interaction Toolkit by
1.8.17