Home
|
Main Page
|
Modules
|
Namespace List
|
Class Hierarchy
|
Alphabetical List
|
Data Structures
|
File List
|
Namespace Members
|
Data Fields
|
Globals
|
Related Pages
src
Components
Registrations
MultiMetricMultiResolutionRegistration
elxMultiMetricMultiResolutionRegistration.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 __elxMultiMetricMultiResolutionRegistration_H__
16
#define __elxMultiMetricMultiResolutionRegistration_H__
17
18
#include "
itkMultiMetricMultiResolutionImageRegistrationMethod.h
"
19
20
#include "
elxIncludes.h
"
21
22
namespace
elastix
23
{
24
using namespace
itk;
25
94
template
<
class
TElastix>
95
class
MultiMetricMultiResolutionRegistration
96
:
public
97
MultiMetricMultiResolutionImageRegistrationMethod
<
98
ITK_TYPENAME RegistrationBase<TElastix>::FixedImageType,
99
ITK_TYPENAME RegistrationBase<TElastix>::MovingImageType >,
100
public
RegistrationBase
<TElastix>
101
{
102
public
:
103
105
typedef
MultiMetricMultiResolutionRegistration
Self
;
106
108
typedef
MultiMetricMultiResolutionImageRegistrationMethod
<
109
typename
RegistrationBase<TElastix>::FixedImageType
,
110
typename
RegistrationBase<TElastix>::MovingImageType
>
111
Superclass1
;
112
typedef
RegistrationBase<TElastix>
Superclass2
;
113
115
typedef
SmartPointer<Self>
Pointer
;
116
typedef
SmartPointer<const Self>
ConstPointer
;
117
119
itkNewMacro(
Self
);
120
122
itkTypeMacro(
MultiMetricMultiResolutionRegistration
,
123
MultiMetricMultiResolutionImageRegistrationMethod
);
124
129
elxClassNameMacro
(
"MultiMetricMultiResolutionRegistration"
);
130
134
typedef
typename
Superclass1::FixedImageType
FixedImageType
;
135
typedef
typename
Superclass1::FixedImageConstPointer
FixedImageConstPointer
;
136
typedef
typename
Superclass1::FixedImageRegionType
FixedImageRegionType
;
137
139
typedef
typename
Superclass1::MovingImageType
MovingImageType
;
140
typedef
typename
Superclass1::MovingImageConstPointer
MovingImageConstPointer
;
141
143
typedef
typename
Superclass1::MetricType
MetricType
;
144
typedef
typename
Superclass1::MetricPointer
MetricPointer
;
145
147
typedef
typename
Superclass1::TransformType
TransformType
;
148
typedef
typename
Superclass1::TransformPointer
TransformPointer
;
149
151
typedef
typename
Superclass1::InterpolatorType
InterpolatorType
;
152
typedef
typename
Superclass1::InterpolatorPointer
InterpolatorPointer
;
153
155
typedef
typename
Superclass1::OptimizerType
OptimizerType
;
156
typedef
typename
Superclass1::OptimizerPointer
OptimizerPointer
;
157
159
typedef
typename
Superclass1::FixedImagePyramidType
FixedImagePyramidType
;
160
typedef
typename
Superclass1::FixedImagePyramidPointer
FixedImagePyramidPointer
;
161
163
typedef
typename
Superclass1::MovingImagePyramidType
MovingImagePyramidType
;
164
typedef
typename
Superclass1::MovingImagePyramidPointer
MovingImagePyramidPointer
;
165
169
typedef
typename
Superclass1::ParametersType
ParametersType
;
170
172
typedef
typename
Superclass1::CombinationMetricType
CombinationMetricType
;
173
typedef
typename
Superclass1::CombinationMetricPointer
CombinationMetricPointer
;
174
176
typedef
typename
Superclass2::ElastixType
ElastixType
;
177
typedef
typename
Superclass2::ElastixPointer
ElastixPointer
;
178
typedef
typename
Superclass2::ConfigurationType
ConfigurationType
;
179
typedef
typename
Superclass2::ConfigurationPointer
ConfigurationPointer
;
180
typedef
typename
Superclass2::RegistrationType
RegistrationType
;
181
typedef
typename
Superclass2::RegistrationPointer
RegistrationPointer
;
182
typedef
typename
Superclass2::ITKBaseType
ITKBaseType
;
183
typedef
typename
Superclass2::UseMaskErosionArrayType
UseMaskErosionArrayType
;
184
186
itkStaticConstMacro( FixedImageDimension,
unsigned
int
, Superclass2::FixedImageDimension );
188
itkStaticConstMacro( MovingImageDimension,
unsigned
int
, Superclass2::MovingImageDimension );
189
196
virtual
void
BeforeRegistration(
void
);
197
202
virtual
void
BeforeEachResolution(
void
);
203
207
virtual
void
AfterEachIteration(
void
);
208
209
protected
:
210
212
MultiMetricMultiResolutionRegistration
();
214
virtual
~MultiMetricMultiResolutionRegistration
() {};
215
217
typedef
tmr::Timer
TimerType;
219
typedef
TimerType::Pointer
TimerPointer
;
220
222
typedef
typename
Superclass2::MaskPixelType
MaskPixelType
;
223
typedef
typename
Superclass2::FixedMaskImageType
FixedMaskImageType
;
224
typedef
typename
Superclass2::MovingMaskImageType
MovingMaskImageType
;
225
typedef
typename
Superclass2::FixedMaskImagePointer
FixedMaskImagePointer
;
226
typedef
typename
Superclass2::MovingMaskImagePointer
MovingMaskImagePointer
;
227
typedef
typename
Superclass2::FixedMaskSpatialObjectType
FixedMaskSpatialObjectType
;
228
typedef
typename
Superclass2::MovingMaskSpatialObjectType
MovingMaskSpatialObjectType
;
229
typedef
typename
Superclass2::FixedMaskSpatialObjectPointer
FixedMaskSpatialObjectPointer
;
230
typedef
typename
Superclass2::MovingMaskSpatialObjectPointer
MovingMaskSpatialObjectPointer
;
231
233
void
UpdateFixedMasks(
unsigned
int
level );
234
void
UpdateMovingMasks(
unsigned
int
level );
235
237
virtual
void
SetComponents(
void
);
238
239
bool
m_ShowExactMetricValue
;
240
241
private
:
242
244
MultiMetricMultiResolutionRegistration
(
const
Self
& );
// purposely not implemented
246
void
operator=(
const
Self
& );
// purposely not implemented
247
248
};
// end class MultiMetricMultiResolutionRegistration
249
250
251
}
// end namespace elastix
252
253
#ifndef ITK_MANUAL_INSTANTIATION
254
#include "elxMultiMetricMultiResolutionRegistration.hxx"
255
#endif
256
257
#endif // end #ifndef __elxMultiMetricMultiResolutionRegistration_H__
Generated on 27-06-2013 for elastix by
1.8.3.1