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
itkThinPlateR2LogRSplineKernelTransform2.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Insight Segmentation & Registration Toolkit
4
Module: $RCSfile: itkThinPlateR2LogRSplineKernelTransform2.h,v $
5
Language: C++
6
Date: $Date: 2006/03/19 04:36:59 $
7
Version: $Revision: 1.7 $
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 __itkThinPlateR2LogRSplineKernelTransform2_h
18
#define __itkThinPlateR2LogRSplineKernelTransform2_h
19
20
#include "
itkKernelTransform2.h
"
21
22
namespace
itk
23
{
34
template
<
class
TScalarType,
// Data type for scalars (float or double)
35
unsigned
int
NDimensions = 3>
// Number of dimensions
36
class
ITK_EXPORT
ThinPlateR2LogRSplineKernelTransform2
:
37
public
KernelTransform2
< TScalarType, NDimensions>
38
{
39
public
:
41
typedef
ThinPlateR2LogRSplineKernelTransform2
Self
;
42
typedef
KernelTransform2< TScalarType, NDimensions>
Superclass
;
43
typedef
SmartPointer<Self>
Pointer
;
44
typedef
SmartPointer<const Self>
ConstPointer
;
45
47
itkNewMacro(
Self
);
48
50
itkTypeMacro(
ThinPlateR2LogRSplineKernelTransform2
,
KernelTransform2
);
51
53
typedef
typename
Superclass::ScalarType
ScalarType
;
54
56
typedef
typename
Superclass::ParametersType
ParametersType
;
57
59
typedef
typename
Superclass::JacobianType
JacobianType
;
60
62
itkStaticConstMacro(SpaceDimension,
unsigned
int
,Superclass::SpaceDimension);
63
66
typedef
typename
Superclass::InputPointType
InputPointType
;
67
typedef
typename
Superclass::OutputPointType
OutputPointType
;
68
typedef
typename
Superclass::InputVectorType
InputVectorType
;
69
typedef
typename
Superclass::OutputVectorType
OutputVectorType
;
70
typedef
typename
Superclass::InputCovariantVectorType
InputCovariantVectorType
;
71
typedef
typename
Superclass::OutputCovariantVectorType
OutputCovariantVectorType
;
72
typedef
typename
Superclass::PointsIterator
PointsIterator
;
73
74
75
protected
:
76
ThinPlateR2LogRSplineKernelTransform2
()
77
{
78
this->m_FastComputationPossible =
true
;
79
};
80
virtual
~ThinPlateR2LogRSplineKernelTransform2
() {}
81
84
typedef
typename
Superclass::GMatrixType
GMatrixType
;
85
94
void
ComputeG(
const
InputVectorType
& x,
GMatrixType
& GMatrix)
const
;
95
96
99
virtual
void
ComputeDeformationContribution(
const
InputPointType
& inputPoint,
100
OutputPointType
& result )
const
;
101
102
private
:
103
ThinPlateR2LogRSplineKernelTransform2
(
const
Self
&);
//purposely not implemented
104
void
operator=(
const
Self
&);
//purposely not implemented
105
106
};
107
108
}
// namespace itk
109
110
#ifndef ITK_MANUAL_INSTANTIATION
111
#include "itkThinPlateR2LogRSplineKernelTransform2.txx"
112
#endif
113
114
#endif // __itkThinPlateR2LogRSplineKernelTransform2_h
Generated on 27-06-2013 for elastix by
1.8.3.1