Home
|
Main Page
|
Modules
|
Namespace List
|
Class Hierarchy
|
Alphabetical List
|
Data Structures
|
File List
|
Namespace Members
|
Data Fields
|
Globals
|
Related Pages
src
Core
ComponentBaseClasses
elxInterpolatorBase.h
Go to the documentation of this file.
1
/*======================================================================
2
3
This file is part of the elastix software.
4
5
Copyright (c) University Medical Center Utrecht. All rights reserved.
6
See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
7
details.
8
9
This software is distributed WITHOUT ANY WARRANTY; without even
10
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11
PURPOSE. See the above copyright notices for more information.
12
13
======================================================================*/
14
15
#ifndef __elxInterpolatorBase_h
16
#define __elxInterpolatorBase_h
17
19
#include "
elxMacro.h
"
20
21
#include "
elxBaseComponentSE.h
"
22
23
#include "itkInterpolateImageFunction.h"
24
25
26
namespace
elastix
27
{
28
using namespace
itk;
29
40
template
<
class
TElastix>
41
class
InterpolatorBase
:
public
BaseComponentSE
<TElastix>
42
{
43
public
:
44
46
typedef
InterpolatorBase
Self
;
47
typedef
BaseComponentSE<TElastix>
Superclass
;
48
50
itkTypeMacro(
InterpolatorBase
,
BaseComponentSE
);
51
53
typedef
typename
Superclass::ElastixType
ElastixType
;
54
typedef
typename
Superclass::ElastixPointer
ElastixPointer
;
55
typedef
typename
Superclass::ConfigurationType
ConfigurationType
;
56
typedef
typename
Superclass::ConfigurationPointer
ConfigurationPointer
;
57
typedef
typename
Superclass::RegistrationType
RegistrationType
;
58
typedef
typename
Superclass::RegistrationPointer
RegistrationPointer
;
59
61
typedef
typename
ElastixType::MovingImageType
InputImageType
;
62
typedef
typename
ElastixType::CoordRepType
CoordRepType
;
63
65
typedef
InterpolateImageFunction<
66
InputImageType
,
CoordRepType
>
ITKBaseType
;
67
69
virtual
ITKBaseType
* GetAsITKBaseType(
void
)
70
{
71
return
dynamic_cast<
ITKBaseType
*
>
(
this
);
72
}
73
75
virtual
const
ITKBaseType
* GetAsITKBaseType(
void
)
const
76
{
77
return
dynamic_cast<
const
ITKBaseType
*
>
(
this
);
78
}
79
80
protected
:
81
83
InterpolatorBase
() {}
85
virtual
~InterpolatorBase
() {}
86
87
private
:
88
90
InterpolatorBase
(
const
Self& );
// purposely not implemented
92
void
operator=(
const
Self& );
// purposely not implemented
93
94
};
// end class InterpolatorBase
95
96
97
}
// end namespace elastix
98
99
100
101
#ifndef ITK_MANUAL_INSTANTIATION
102
#include "elxInterpolatorBase.hxx"
103
#endif
104
105
#endif // end #ifndef __elxInterpolatorBase_h
106
Generated on 27-06-2013 for elastix by
1.8.3.1