ITK
4.3.0
Insight Segmentation and Registration Toolkit
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
ITK
Modules
Registration
Metricsv4
include
itkDefaultImageToImageMetricTraitsv4.h
Go to the documentation of this file.
1
/*=========================================================================
2
*
3
* Copyright Insight Software Consortium
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0.txt
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*
17
*=========================================================================*/
18
#ifndef __itkDefaultImageToImageMetricTraitsv4_h
19
#define __itkDefaultImageToImageMetricTraitsv4_h
20
21
#include "
itkImage.h
"
22
#include "
itkCovariantVector.h
"
23
#include "
itkCentralDifferenceImageFunction.h
"
24
#include "
itkGradientRecursiveGaussianImageFilter.h
"
25
#include "
itkObjectToObjectMetricBase.h
"
26
27
namespace
itk
28
{
41
template
<
42
class
TFixedImageType,
43
class
TMovingImageType,
44
class
TVirtualImageType,
45
typename
TCoordRep =
typename
ObjectToObjectMetricBase::CoordinateRepresentationType
46
>
47
class
DefaultImageToImageMetricTraitsv4
48
{
49
public
:
51
typedef
DefaultImageToImageMetricTraitsv4
Self
;
52
53
typedef
TFixedImageType
FixedImageType
;
54
typedef
TMovingImageType
MovingImageType
;
55
typedef
TVirtualImageType
VirtualImageType
;
56
57
typedef
typename
FixedImageType::PixelType
FixedImagePixelType
;
58
typedef
typename
MovingImageType::PixelType
MovingImagePixelType
;
59
60
typedef
TCoordRep
CoordinateRepresentationType
;
61
62
/* Image dimension accessors */
63
typedef
unsigned
int
ImageDimensionType
;
64
itkStaticConstMacro(
FixedImageDimension
,
ImageDimensionType
,
65
FixedImageType::ImageDimension);
66
itkStaticConstMacro(
MovingImageDimension
,
ImageDimensionType
,
67
MovingImageType::ImageDimension);
68
itkStaticConstMacro(
VirtualImageDimension
,
ImageDimensionType
,
69
VirtualImageType::ImageDimension);
70
71
typedef
CovariantVector
<
CoordinateRepresentationType
,
72
itkGetStaticConstMacro(
FixedImageDimension
) >
73
FixedImageGradientType
;
74
typedef
CovariantVector
<
CoordinateRepresentationType
,
75
itkGetStaticConstMacro(
MovingImageDimension
) >
76
MovingImageGradientType
;
77
78
typedef
CovariantVector
<
CoordinateRepresentationType
,
79
itkGetStaticConstMacro(
VirtualImageDimension
) >
80
VirtualImageGradientType
;
81
82
typedef
FixedImageGradientType
FixedImageComponentGradientType
;
83
typedef
MovingImageGradientType
MovingImageComponentGradientType
;
84
typedef
VirtualImageGradientType
VirtualImageComponentGradientType
;
85
86
typedef
DefaultConvertPixelTraits< FixedImageGradientType >
FixedImageGradientConvertType
;
87
typedef
DefaultConvertPixelTraits< MovingImageGradientType >
MovingImageGradientConvertType
;
88
90
typedef
typename
NumericTraits< FixedImagePixelType >::RealType
91
FixedRealType
;
92
typedef
CovariantVector
<
FixedRealType
,
93
itkGetStaticConstMacro(
FixedImageDimension
) >
94
FixedGradientPixelType
;
95
typedef
Image
<
FixedGradientPixelType
,
96
itkGetStaticConstMacro(
FixedImageDimension
) >
97
FixedImageGradientImageType
;
99
100
typedef
ImageToImageFilter< FixedImageType, FixedImageGradientImageType >
101
FixedImageGradientFilterType
;
102
103
typedef
typename
NumericTraits< MovingImagePixelType >::RealType
104
MovingRealType
;
105
typedef
CovariantVector
<
MovingRealType
,
106
itkGetStaticConstMacro(
MovingImageDimension
) >
107
MovingGradientPixelType
;
108
typedef
Image
<
MovingGradientPixelType
,
109
itkGetStaticConstMacro(
MovingImageDimension
) >
110
MovingImageGradientImageType
;
111
112
typedef
ImageToImageFilter< MovingImageType, MovingImageGradientImageType >
113
MovingImageGradientFilterType
;
114
116
typedef
GradientRecursiveGaussianImageFilter
<
FixedImageType
,
117
FixedImageGradientImageType
>
118
DefaultFixedImageGradientFilter
;
119
typedef
GradientRecursiveGaussianImageFilter
<
MovingImageType
,
120
MovingImageGradientImageType
>
121
DefaultMovingImageGradientFilter
;
122
125
typedef
ImageFunction
<
FixedImageType
,
126
CovariantVector
<double,
127
itkGetStaticConstMacro(
FixedImageDimension
)>,
128
CoordinateRepresentationType
>
129
FixedImageGradientCalculatorType
;
130
typedef
ImageFunction
<
MovingImageType
,
131
CovariantVector
<double,
132
itkGetStaticConstMacro(
MovingImageDimension
)>,
133
CoordinateRepresentationType
>
134
MovingImageGradientCalculatorType
;
136
137
typedef
CentralDifferenceImageFunction
<
FixedImageType
,
138
CoordinateRepresentationType
>
139
DefaultFixedImageGradientCalculator
;
140
typedef
CentralDifferenceImageFunction
<
MovingImageType
,
141
CoordinateRepresentationType
>
142
DefaultMovingImageGradientCalculator
;
143
147
#ifdef ITK_USE_CONCEPT_CHECKING
148
itkConceptMacro
( OnlyDefinedForFloatingPointTypes0, (
itk::Concept::IsFloatingPoint<FixedRealType>
) );
149
itkConceptMacro
( OnlyDefinedForFloatingPointTypes1, (
itk::Concept::IsFloatingPoint<MovingRealType>
) );
150
#endif // ITK_USE_CONCEPT_CHECKING
151
};
152
}
// end namespace itk
154
155
//#ifndef ITK_MANUAL_INSTANTIATION
156
//#include "itkDefaultImageToImageMetricTraitsv4.hxx"
157
//#endif
158
159
#endif
160
Generated on Sun Dec 9 2012 00:55:22 for ITK by
1.8.2