Home
|
Main Page
|
Modules
|
Namespace List
|
Class Hierarchy
|
Alphabetical List
|
Data Structures
|
File List
|
Namespace Members
|
Data Fields
|
Globals
|
Related Pages
src
Components
Metrics
VarianceOverLastDimension
elxVarianceOverLastDimensionMetric.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 __elxVarianceOverLastDimensionMetric_H__
16
#define __elxVarianceOverLastDimensionMetric_H__
17
18
#include "
elxIncludes.h
"
19
#include "
itkVarianceOverLastDimensionImageMetric.h
"
20
#include "
itkAdvancedBSplineDeformableTransform.h
"
21
#include "../Transforms/StackTransform/itkStackTransform.h"
22
23
#include "
elxTimer.h
"
24
25
namespace
elastix
26
{
27
using namespace
itk;
28
66
template
<
class
TElastix >
67
class
VarianceOverLastDimensionMetric
:
68
public
69
VarianceOverLastDimensionImageMetric
<
70
ITK_TYPENAME MetricBase<TElastix>::FixedImageType,
71
ITK_TYPENAME MetricBase<TElastix>::MovingImageType >,
72
public
MetricBase
<TElastix>
73
{
74
public
:
75
77
typedef
VarianceOverLastDimensionMetric
Self
;
78
typedef
VarianceOverLastDimensionImageMetric
<
79
typename
MetricBase<TElastix>::FixedImageType
,
80
typename
MetricBase<TElastix>::MovingImageType
>
Superclass1
;
81
typedef
MetricBase<TElastix>
Superclass2
;
82
typedef
SmartPointer<Self>
Pointer
;
83
typedef
SmartPointer<const Self>
ConstPointer
;
84
86
itkNewMacro(
Self
);
87
89
itkTypeMacro(
VarianceOverLastDimensionMetric
,
VarianceOverLastDimensionImageMetric
);
90
95
elxClassNameMacro
(
"VarianceOverLastDimensionMetric"
);
96
98
typedef
typename
99
Superclass1::CoordinateRepresentationType
CoordinateRepresentationType
;
100
typedef
typename
Superclass1::ScalarType
ScalarType
;
101
typedef
typename
Superclass1::MovingImageType
MovingImageType
;
102
typedef
typename
Superclass1::MovingImagePixelType
MovingImagePixelType
;
103
typedef
typename
Superclass1::MovingImageConstPointer
MovingImageConstPointer
;
104
typedef
typename
Superclass1::FixedImageType
FixedImageType
;
105
typedef
typename
Superclass1::FixedImageConstPointer
FixedImageConstPointer
;
106
typedef
typename
Superclass1::FixedImageRegionType
FixedImageRegionType
;
107
typedef
typename
Superclass1::FixedImageSizeType
FixedImageSizeType
;
108
typedef
typename
Superclass1::TransformType
TransformType
;
109
typedef
typename
Superclass1::TransformPointer
TransformPointer
;
110
typedef
typename
Superclass1::InputPointType
InputPointType
;
111
typedef
typename
Superclass1::OutputPointType
OutputPointType
;
112
typedef
typename
Superclass1::TransformParametersType
TransformParametersType
;
113
typedef
typename
Superclass1::TransformJacobianType
TransformJacobianType
;
114
typedef
typename
Superclass1::InterpolatorType
InterpolatorType
;
115
typedef
typename
Superclass1::InterpolatorPointer
InterpolatorPointer
;
116
typedef
typename
Superclass1::RealType
RealType
;
117
typedef
typename
Superclass1::GradientPixelType
GradientPixelType
;
118
typedef
typename
Superclass1::GradientImageType
GradientImageType
;
119
typedef
typename
Superclass1::GradientImagePointer
GradientImagePointer
;
120
typedef
typename
Superclass1::GradientImageFilterType
GradientImageFilterType
;
121
typedef
typename
Superclass1::GradientImageFilterPointer
GradientImageFilterPointer
;
122
typedef
typename
Superclass1::FixedImageMaskType
FixedImageMaskType
;
123
typedef
typename
Superclass1::FixedImageMaskPointer
FixedImageMaskPointer
;
124
typedef
typename
Superclass1::MovingImageMaskType
MovingImageMaskType
;
125
typedef
typename
Superclass1::MovingImageMaskPointer
MovingImageMaskPointer
;
126
typedef
typename
Superclass1::MeasureType
MeasureType
;
127
typedef
typename
Superclass1::DerivativeType
DerivativeType
;
128
typedef
typename
Superclass1::ParametersType
ParametersType
;
129
typedef
typename
Superclass1::FixedImagePixelType
FixedImagePixelType
;
130
typedef
typename
Superclass1::MovingImageRegionType
MovingImageRegionType
;
131
typedef
typename
Superclass1::ImageSamplerType
ImageSamplerType
;
132
typedef
typename
Superclass1::ImageSamplerPointer
ImageSamplerPointer
;
133
typedef
typename
Superclass1::ImageSampleContainerType
ImageSampleContainerType
;
134
typedef
typename
135
Superclass1::ImageSampleContainerPointer
ImageSampleContainerPointer
;
136
typedef
typename
Superclass1::FixedImageLimiterType
FixedImageLimiterType
;
137
typedef
typename
Superclass1::MovingImageLimiterType
MovingImageLimiterType
;
138
typedef
typename
139
Superclass1::FixedImageLimiterOutputType
FixedImageLimiterOutputType
;
140
typedef
typename
141
Superclass1::MovingImageLimiterOutputType
MovingImageLimiterOutputType
;
142
typedef
typename
143
Superclass1::MovingImageDerivativeScalesType
MovingImageDerivativeScalesType
;
144
146
itkStaticConstMacro( FixedImageDimension,
unsigned
int
,
147
FixedImageType::ImageDimension );
148
150
itkStaticConstMacro( MovingImageDimension,
unsigned
int
,
151
MovingImageType::ImageDimension );
152
154
typedef
typename
Superclass2::ElastixType
ElastixType
;
155
typedef
typename
Superclass2::ElastixPointer
ElastixPointer
;
156
typedef
typename
Superclass2::ConfigurationType
ConfigurationType
;
157
typedef
typename
Superclass2::ConfigurationPointer
ConfigurationPointer
;
158
typedef
typename
Superclass2::RegistrationType
RegistrationType
;
159
typedef
typename
Superclass2::RegistrationPointer
RegistrationPointer
;
160
typedef
typename
Superclass2::ITKBaseType
ITKBaseType
;
161
163
typedef
AdvancedBSplineDeformableTransformBase
<
164
ScalarType
, FixedImageDimension >
BSplineTransformBaseType
;
165
typedef
AdvancedCombinationTransform
<
166
ScalarType
, FixedImageDimension >
CombinationTransformType
;
167
typedef
StackTransform
<
168
ScalarType
, FixedImageDimension, MovingImageDimension >
StackTransformType
;
169
typedef
AdvancedBSplineDeformableTransformBase
<
170
ScalarType
, FixedImageDimension - 1 >
ReducedDimensionBSplineTransformBaseType
;
171
173
typedef
tmr::Timer
TimerType
;
175
typedef
TimerType::Pointer
TimerPointer
;
176
180
virtual
void
Initialize(
void
) throw (ExceptionObject);
181
187
virtual
void
BeforeEachResolution(
void
);
188
189
protected:
190
192
VarianceOverLastDimensionMetric
(){};
194
virtual
~VarianceOverLastDimensionMetric
() {}
195
196
private
:
197
199
VarianceOverLastDimensionMetric
(
const
Self& );
// purposely not implemented
201
void
operator=(
const
Self& );
// purposely not implemented
202
203
};
// end class VarianceOverLastDimensionMetric
204
205
206
}
// end namespace elastix
207
208
209
#ifndef ITK_MANUAL_INSTANTIATION
210
#include "elxVarianceOverLastDimensionMetric.hxx"
211
#endif
212
213
#endif // end #ifndef __elxVarianceOverLastDimensionMetric_H__
214
Generated on 27-06-2013 for elastix by
1.8.3.1