Home
|
Main Page
|
Modules
|
Namespace List
|
Class Hierarchy
|
Alphabetical List
|
Data Structures
|
File List
|
Namespace Members
|
Data Fields
|
Globals
|
Related Pages
src
Core
ComponentBaseClasses
elxMovingImagePyramidBase.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 __elxMovingImagePyramidBase_h
16
#define __elxMovingImagePyramidBase_h
17
19
#include "
elxMacro.h
"
20
21
#include "
elxBaseComponentSE.h
"
22
#include "itkObject.h"
23
24
#include "itkMultiResolutionPyramidImageFilter.h"
25
26
27
namespace
elastix
28
{
29
using namespace
itk;
30
57
template
<
class
TElastix>
58
class
MovingImagePyramidBase
:
public
BaseComponentSE
<TElastix>
59
{
60
public
:
61
63
typedef
MovingImagePyramidBase
Self
;
64
typedef
BaseComponentSE<TElastix>
Superclass
;
65
67
itkTypeMacro(
MovingImagePyramidBase
,
BaseComponentSE
);
68
70
typedef
typename
Superclass::ElastixType
ElastixType
;
71
typedef
typename
Superclass::ElastixPointer
ElastixPointer
;
72
typedef
typename
Superclass::ConfigurationType
ConfigurationType
;
73
typedef
typename
Superclass::ConfigurationPointer
ConfigurationPointer
;
74
typedef
typename
Superclass::RegistrationType
RegistrationType
;
75
typedef
typename
Superclass::RegistrationPointer
RegistrationPointer
;
76
78
typedef
typename
ElastixType::MovingImageType
InputImageType
;
79
typedef
typename
ElastixType::MovingImageType
OutputImageType
;
80
82
typedef
MultiResolutionPyramidImageFilter
<
83
InputImageType
,
OutputImageType
>
ITKBaseType
;
84
86
typedef
typename
ITKBaseType::ScheduleType
ScheduleType
;
87
89
virtual
ITKBaseType
* GetAsITKBaseType(
void
)
90
{
91
return
dynamic_cast<
ITKBaseType
*
>
(
this
);
92
}
93
95
virtual
const
ITKBaseType
* GetAsITKBaseType(
void
)
const
96
{
97
return
dynamic_cast<
const
ITKBaseType
*
>
(
this
);
98
}
99
103
virtual
void
BeforeRegistrationBase(
void
);
104
108
virtual
void
BeforeEachResolutionBase(
void
);
109
111
virtual
void
SetMovingSchedule(
void
);
112
114
virtual
void
WritePyramidImage(
const
std::string & filename,
115
const
unsigned
int
& level );
// const;
116
117
protected
:
118
120
MovingImagePyramidBase
() {}
122
virtual
~MovingImagePyramidBase
() {}
123
124
private
:
125
127
MovingImagePyramidBase
(
const
Self& );
// purposely not implemented
129
void
operator=(
const
Self& );
// purposely not implemented
130
131
};
// end class MovingImagePyramidBase
132
133
134
}
// end namespace elastix
135
136
137
#ifndef ITK_MANUAL_INSTANTIATION
138
#include "elxMovingImagePyramidBase.hxx"
139
#endif
140
141
#endif // end #ifndef __elxMovingImagePyramidBase_h
Generated on 21-03-2014 for elastix by
1.8.1.2