Home
|
Main Page
|
Modules
|
Namespace List
|
Class Hierarchy
|
Alphabetical List
|
Data Structures
|
File List
|
Namespace Members
|
Data Fields
|
Globals
|
Related Pages
src
Components
Transforms
SplineKernelTransform
itkThinPlateSplineKernelTransform2.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Insight Segmentation & Registration Toolkit
4
Module: $RCSfile: itkThinPlateSplineKernelTransform2.h,v $
5
Language: C++
6
Date: $Date: 2006-11-28 14:22:18 $
7
Version: $Revision: 1.1 $
8
9
Copyright (c) Insight Software Consortium. All rights reserved.
10
See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11
12
This software is distributed WITHOUT ANY WARRANTY; without even
13
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14
PURPOSE. See the above copyright notices for more information.
15
16
=========================================================================*/
17
#ifndef __itkThinPlateSplineKernelTransform2_h
18
#define __itkThinPlateSplineKernelTransform2_h
19
20
#include "
itkKernelTransform2.h
"
21
22
namespace
itk
23
{
32
template
<
class
TScalarType,
// Data type for scalars (float or double)
33
unsigned
int
NDimensions = 3>
// Number of dimensions
34
class
ITK_EXPORT
ThinPlateSplineKernelTransform2
35
:
public
KernelTransform2
<TScalarType, NDimensions>
36
{
37
public
:
39
typedef
ThinPlateSplineKernelTransform2
Self
;
40
typedef
KernelTransform2<TScalarType, NDimensions>
Superclass
;
41
typedef
SmartPointer<Self>
Pointer
;
42
typedef
SmartPointer<const Self>
ConstPointer
;
43
45
itkNewMacro(
Self
);
46
48
itkTypeMacro(
ThinPlateSplineKernelTransform2
,
KernelTransform2
);
49
51
typedef
typename
Superclass::ScalarType
ScalarType
;
52
54
typedef
typename
Superclass::ParametersType
ParametersType
;
55
57
typedef
typename
Superclass::JacobianType
JacobianType
;
58
60
itkStaticConstMacro( SpaceDimension,
unsigned
int
,Superclass::SpaceDimension );
61
65
typedef
typename
Superclass::InputPointType
InputPointType
;
66
typedef
typename
Superclass::OutputPointType
OutputPointType
;
67
typedef
typename
Superclass::InputVectorType
InputVectorType
;
68
typedef
typename
Superclass::OutputVectorType
OutputVectorType
;
69
typedef
typename
Superclass::InputCovariantVectorType
InputCovariantVectorType
;
70
typedef
typename
Superclass::OutputCovariantVectorType
OutputCovariantVectorType
;
71
typedef
typename
Superclass::PointsIterator
PointsIterator
;
72
73
protected
:
74
ThinPlateSplineKernelTransform2
()
75
{
76
this->m_FastComputationPossible =
true
;
77
};
78
virtual
~ThinPlateSplineKernelTransform2
() {}
79
83
typedef
typename
Superclass::GMatrixType
GMatrixType
;
84
94
void
ComputeG(
const
InputVectorType
& x,
GMatrixType
& GMatrix )
const
;
95
96
100
virtual
void
ComputeDeformationContribution(
101
const
InputPointType
& inputPoint,
OutputPointType
& result )
const
;
102
103
private
:
104
ThinPlateSplineKernelTransform2
(
const
Self
&);
//purposely not implemented
105
void
operator=(
const
Self
&);
//purposely not implemented
106
107
};
108
109
}
// namespace itk
110
111
#ifndef ITK_MANUAL_INSTANTIATION
112
#include "itkThinPlateSplineKernelTransform2.txx"
113
#endif
114
115
#endif // __itkThinPlateSplineKernelTransform2_h
Generated on 27-06-2013 for elastix by
1.8.3.1