Home
|
Main Page
|
Modules
|
Namespace List
|
Class Hierarchy
|
Alphabetical List
|
Data Structures
|
File List
|
Namespace Members
|
Data Fields
|
Globals
|
Related Pages
src
Components
Metrics
NormalizedGradientCorrelation
elxNormalizedGradientCorrelationMetric.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 __elxNormalizedGradientCorrelationMetric_H__
16
#define __elxNormalizedGradientCorrelationMetric_H__
17
18
#include "
elxIncludes.h
"
19
#include "
itkNormalizedGradientCorrelationImageToImageMetric.h
"
20
21
#include "
elxTimer.h
"
22
23
namespace
elastix
24
{
25
using namespace
itk;
26
36
template
<
class
TElastix >
37
class
NormalizedGradientCorrelationMetric
:
38
public
NormalizedGradientCorrelationImageToImageMetric
<
39
ITK_TYPENAME MetricBase<TElastix>::FixedImageType,
40
ITK_TYPENAME MetricBase<TElastix>::MovingImageType >,
41
public
MetricBase
<TElastix>
42
{
43
public
:
44
46
typedef
NormalizedGradientCorrelationMetric
Self
;
47
typedef
NormalizedGradientCorrelationImageToImageMetric
<
48
typename
MetricBase<TElastix>::FixedImageType
,
49
typename
MetricBase<TElastix>::MovingImageType
>
Superclass1
;
50
typedef
MetricBase<TElastix>
Superclass2
;
51
typedef
SmartPointer<Self>
Pointer
;
52
typedef
SmartPointer<const Self>
ConstPointer
;
53
55
itkNewMacro(
Self
);
56
58
itkTypeMacro(
NormalizedGradientCorrelationMetric
,
59
NormalizedGradientCorrelationImageToImageMetric
);
60
65
elxClassNameMacro
(
"NormalizedGradientCorrelation"
);
66
68
typedef
typename
69
Superclass1::CoordinateRepresentationType
CoordinateRepresentationType
;
70
typedef
typename
Superclass1::MovingImageType
MovingImageType
;
71
typedef
typename
Superclass1::MovingImagePixelType
MovingImagePixelType
;
72
typedef
typename
Superclass1::MovingImageConstPointer
MovingImageConstPointer
;
73
typedef
typename
Superclass1::FixedImageType
FixedImageType
;
74
typedef
typename
Superclass1::FixedImageConstPointer
FixedImageConstPointer
;
75
typedef
typename
Superclass1::FixedImageRegionType
FixedImageRegionType
;
76
typedef
typename
Superclass1::TransformType
TransformType
;
77
typedef
typename
Superclass1::TransformPointer
TransformPointer
;
78
typedef
typename
Superclass1::InputPointType
InputPointType
;
79
typedef
typename
Superclass1::OutputPointType
OutputPointType
;
80
typedef
typename
Superclass1::TransformParametersType
TransformParametersType
;
81
typedef
typename
Superclass1::TransformJacobianType
TransformJacobianType
;
82
typedef
typename
Superclass1::InterpolatorType
InterpolatorType
;
83
typedef
typename
Superclass1::InterpolatorPointer
InterpolatorPointer
;
84
typedef
typename
Superclass1::RealType
RealType
;
85
typedef
typename
Superclass1::GradientPixelType
GradientPixelType
;
86
typedef
typename
Superclass1::GradientImageType
GradientImageType
;
87
typedef
typename
Superclass1::GradientImagePointer
GradientImagePointer
;
88
typedef
typename
Superclass1::GradientImageFilterType
GradientImageFilterType
;
89
typedef
typename
Superclass1::GradientImageFilterPointer
GradientImageFilterPointer
;
90
typedef
typename
Superclass1::FixedImageMaskType
FixedImageMaskType
;
91
typedef
typename
Superclass1::FixedImageMaskPointer
FixedImageMaskPointer
;
92
typedef
typename
Superclass1::MovingImageMaskType
MovingImageMaskType
;
93
typedef
typename
Superclass1::MovingImageMaskPointer
MovingImageMaskPointer
;
94
typedef
typename
Superclass1::MeasureType
MeasureType
;
95
typedef
typename
Superclass1::DerivativeType
DerivativeType
;
96
typedef
typename
Superclass1::ParametersType
ParametersType
;
97
typedef
typename
Superclass1::FixedImagePixelType
FixedImagePixelType
;
98
typedef
typename
Superclass1::MovingImageRegionType
MovingImageRegionType
;
99
typedef
typename
Superclass1::ImageSamplerType
ImageSamplerType
;
100
typedef
typename
Superclass1::ImageSamplerPointer
ImageSamplerPointer
;
101
typedef
typename
Superclass1::ImageSampleContainerType
ImageSampleContainerType
;
102
typedef
typename
103
Superclass1::ImageSampleContainerPointer
ImageSampleContainerPointer
;
104
typedef
typename
Superclass1::FixedImageLimiterType
FixedImageLimiterType
;
105
typedef
typename
Superclass1::MovingImageLimiterType
MovingImageLimiterType
;
106
typedef
typename
107
Superclass1::FixedImageLimiterOutputType
FixedImageLimiterOutputType
;
108
typedef
typename
109
Superclass1::MovingImageLimiterOutputType
MovingImageLimiterOutputType
;
110
typedef
typename
111
Superclass1::MovingImageDerivativeScalesType
MovingImageDerivativeScalesType
;
112
114
itkStaticConstMacro( FixedImageDimension,
unsigned
int
,
115
FixedImageType::ImageDimension );
116
118
itkStaticConstMacro( MovingImageDimension,
unsigned
int
,
119
MovingImageType::ImageDimension );
120
122
typedef
typename
Superclass2::ElastixType
ElastixType
;
123
typedef
typename
Superclass2::ElastixPointer
ElastixPointer
;
124
typedef
typename
Superclass2::ConfigurationType
ConfigurationType
;
125
typedef
typename
Superclass2::ConfigurationPointer
ConfigurationPointer
;
126
typedef
typename
Superclass2::RegistrationType
RegistrationType
;
127
typedef
typename
Superclass2::RegistrationPointer
RegistrationPointer
;
128
typedef
typename
Superclass2::ITKBaseType
ITKBaseType
;
129
131
typedef
tmr::Timer
TimerType
;
133
typedef
TimerType::Pointer
TimerPointer
;
134
138
virtual
void
Initialize(
void
) throw (ExceptionObject);
139
145
virtual
void
BeforeRegistration(
void
);
146
147
virtual
void
BeforeEachResolution(
void
);
148
149
protected:
150
152
NormalizedGradientCorrelationMetric
(){};
154
virtual
~NormalizedGradientCorrelationMetric
() {}
155
156
private
:
157
159
NormalizedGradientCorrelationMetric
(
const
Self& );
// purposely not implemented
160
162
void
operator=(
const
Self& );
// purposely not implemented
163
164
};
// end class NormalizedGradientCorrelationMetric
165
166
167
}
// end namespace elastix
168
169
170
#ifndef ITK_MANUAL_INSTANTIATION
171
#include "elxNormalizedGradientCorrelationMetric.hxx"
172
#endif
173
174
#endif // end #ifndef __elxNormalizedGradientCorrelationMetric_H__
Generated on 21-03-2014 for elastix by
1.8.1.2