Home
|
Main Page
|
Modules
|
Namespace List
|
Class Hierarchy
|
Alphabetical List
|
Data Structures
|
File List
|
Namespace Members
|
Data Fields
|
Globals
|
Related Pages
src
Components
Registrations
MultiResolutionRegistration
elxMultiResolutionRegistration.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 __elxMultiResolutionRegistration_H__
16
#define __elxMultiResolutionRegistration_H__
17
18
#include "
itkMultiResolutionImageRegistrationMethod2.h
"
19
20
#include "
elxIncludes.h
"
21
22
namespace
elastix
23
{
24
using namespace
itk;
25
43
template
<
class
TElastix>
44
class
MultiResolutionRegistration
:
45
public
46
RegistrationBase
<TElastix>
::ITKBaseType
,
47
public
48
RegistrationBase
<TElastix>
49
{
50
public
:
51
53
typedef
MultiResolutionRegistration
Self
;
54
typedef
typename
RegistrationBase<TElastix>
55
::ITKBaseType
Superclass1
;
56
typedef
RegistrationBase<TElastix>
Superclass2
;
57
typedef
SmartPointer<Self>
Pointer
;
58
typedef
SmartPointer<const Self>
ConstPointer
;
59
61
itkNewMacro(
Self
);
62
64
itkTypeMacro(
MultiResolutionRegistration
, MultiResolutionImageRegistrationMethod );
65
70
elxClassNameMacro
(
"MultiResolutionRegistration"
);
71
75
typedef
typename
Superclass1::FixedImageType
FixedImageType
;
76
typedef
typename
Superclass1::FixedImageConstPointer
FixedImageConstPointer
;
77
typedef
typename
Superclass1::FixedImageRegionType
FixedImageRegionType
;
78
80
typedef
typename
Superclass1::MovingImageType
MovingImageType
;
81
typedef
typename
Superclass1::MovingImageConstPointer
MovingImageConstPointer
;
82
84
typedef
typename
Superclass1::MetricType
MetricType
;
85
typedef
typename
Superclass1::MetricPointer
MetricPointer
;
86
88
typedef
typename
Superclass1::TransformType
TransformType
;
89
typedef
typename
Superclass1::TransformPointer
TransformPointer
;
90
92
typedef
typename
Superclass1::InterpolatorType
InterpolatorType
;
93
typedef
typename
Superclass1::InterpolatorPointer
InterpolatorPointer
;
94
96
typedef
typename
Superclass1::OptimizerType
OptimizerType
;
97
99
typedef
typename
Superclass1::FixedImagePyramidType
FixedImagePyramidType
;
100
typedef
typename
Superclass1::FixedImagePyramidPointer
FixedImagePyramidPointer
;
101
103
typedef
typename
Superclass1::MovingImagePyramidType
MovingImagePyramidType
;
104
typedef
typename
Superclass1::MovingImagePyramidPointer
MovingImagePyramidPointer
;
105
109
typedef
typename
Superclass1::ParametersType
ParametersType
;
110
112
typedef
typename
Superclass2::ElastixType
ElastixType
;
113
typedef
typename
Superclass2::ElastixPointer
ElastixPointer
;
114
typedef
typename
Superclass2::ConfigurationType
ConfigurationType
;
115
typedef
typename
Superclass2::ConfigurationPointer
ConfigurationPointer
;
116
typedef
typename
Superclass2::RegistrationType
RegistrationType
;
117
typedef
typename
Superclass2::RegistrationPointer
RegistrationPointer
;
118
typedef
typename
Superclass2::ITKBaseType
ITKBaseType
;
119
typedef
typename
Superclass2::UseMaskErosionArrayType
UseMaskErosionArrayType
;
120
122
itkStaticConstMacro( FixedImageDimension,
unsigned
int
, Superclass2::FixedImageDimension );
124
itkStaticConstMacro( MovingImageDimension,
unsigned
int
, Superclass2::MovingImageDimension );
125
130
virtual
void
BeforeRegistration(
void
);
131
134
virtual
void
BeforeEachResolution(
void
);
135
136
protected
:
137
139
MultiResolutionRegistration
(){};
141
virtual
~MultiResolutionRegistration
() {};
142
144
typedef
tmr::Timer
TimerType;
146
typedef
TimerType::Pointer
TimerPointer
;
147
149
typedef
typename
Superclass2::MaskPixelType
MaskPixelType
;
150
typedef
typename
Superclass2::FixedMaskImageType
FixedMaskImageType
;
151
typedef
typename
Superclass2::MovingMaskImageType
MovingMaskImageType
;
152
typedef
typename
Superclass2::FixedMaskImagePointer
FixedMaskImagePointer
;
153
typedef
typename
Superclass2::MovingMaskImagePointer
MovingMaskImagePointer
;
154
typedef
typename
Superclass2::FixedMaskSpatialObjectType
FixedMaskSpatialObjectType
;
155
typedef
typename
Superclass2::MovingMaskSpatialObjectType
MovingMaskSpatialObjectType
;
156
typedef
typename
Superclass2::FixedMaskSpatialObjectPointer
FixedMaskSpatialObjectPointer
;
157
typedef
typename
Superclass2::MovingMaskSpatialObjectPointer
MovingMaskSpatialObjectPointer
;
158
160
void
UpdateMasks(
unsigned
int
level );
161
163
virtual
void
SetComponents(
void
);
164
165
private
:
166
168
MultiResolutionRegistration
(
const
Self
& );
// purposely not implemented
170
void
operator=(
const
Self
& );
// purposely not implemented
171
172
};
// end class MultiResolutionRegistration
173
174
175
}
// end namespace elastix
176
177
#ifndef ITK_MANUAL_INSTANTIATION
178
#include "elxMultiResolutionRegistration.hxx"
179
#endif
180
181
#endif // end #ifndef __elxMultiResolutionRegistration_H__
Generated on 27-06-2013 for elastix by
1.8.3.1