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
itkVectorImageToImageMetricTraitsv4.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 __itkVectorImageToImageMetricTraitsv4_h
19
#define __itkVectorImageToImageMetricTraitsv4_h
20
21
#include "
itkImage.h
"
22
#include "
itkCovariantVector.h
"
23
#include "
itkVariableLengthVector.h
"
24
#include "
itkObjectToObjectMetricBase.h
"
25
#include "
itkDefaultConvertPixelTraits.h
"
26
#include "
itkGradientRecursiveGaussianImageFilter.h
"
27
#include "
itkCentralDifferenceImageFunction.h
"
28
29
namespace
itk
30
{
43
template
<
44
class
TFixedImageType,
45
class
TMovingImageType,
46
class
TVirtualImageType,
47
unsigned
int
NumberOfComponents,
48
typename
TCoordRep =
typename
ObjectToObjectMetricBase::CoordinateRepresentationType
49
>
50
class
VectorImageToImageMetricTraitsv4
51
{
52
public
:
54
typedef
VectorImageToImageMetricTraitsv4
Self
;
55
56
typedef
TFixedImageType
FixedImageType
;
57
typedef
TMovingImageType
MovingImageType
;
58
typedef
TVirtualImageType
VirtualImageType
;
59
60
typedef
typename
FixedImageType::PixelType
FixedImagePixelType
;
61
typedef
typename
MovingImageType::PixelType
MovingImagePixelType
;
62
63
typedef
TCoordRep
CoordinateRepresentationType
;
64
65
/* Image dimension accessors */
66
typedef
unsigned
int
ImageDimensionType
;
67
itkStaticConstMacro(
FixedImageDimension
,
ImageDimensionType
,
68
FixedImageType::ImageDimension);
69
itkStaticConstMacro(
MovingImageDimension
,
ImageDimensionType
,
70
MovingImageType::ImageDimension);
71
itkStaticConstMacro(
VirtualImageDimension
,
ImageDimensionType
,
72
VirtualImageType::ImageDimension);
73
74
typedef
Vector< CoordinateRepresentationType, FixedImageDimension*NumberOfComponents >
FixedImageGradientType
;
75
typedef
Vector< CoordinateRepresentationType, MovingImageDimension*NumberOfComponents >
MovingImageGradientType
;
76
typedef
Vector< CoordinateRepresentationType, VirtualImageDimension*NumberOfComponents >
VirtualImageGradientType
;
77
78
typedef
DefaultConvertPixelTraits< FixedImageGradientType >
FixedImageGradientConvertType
;
79
typedef
DefaultConvertPixelTraits< MovingImageGradientType >
MovingImageGradientConvertType
;
80
82
typedef
typename
NumericTraits< FixedImagePixelType >::RealType
FixedRealType
;
83
typedef
typename
NumericTraits< MovingImagePixelType >::RealType
MovingRealType
;
84
85
typedef
FixedImageGradientType
FixedGradientPixelType
;
86
typedef
MovingImageGradientType
MovingGradientPixelType
;
87
88
typedef
Image
<
FixedGradientPixelType
,
89
itkGetStaticConstMacro(
FixedImageDimension
) >
90
FixedImageGradientImageType
;
91
92
typedef
ImageToImageFilter< FixedImageType, FixedImageGradientImageType >
93
FixedImageGradientFilterType
;
94
95
typedef
Image
<
MovingGradientPixelType
,
96
itkGetStaticConstMacro(
MovingImageDimension
) >
97
MovingImageGradientImageType
;
98
99
typedef
ImageToImageFilter< MovingImageType, MovingImageGradientImageType >
100
MovingImageGradientFilterType
;
101
102
typedef
CovariantVector<CoordinateRepresentationType, FixedImageDimension>
FixedImageComponentGradientType
;
103
typedef
CovariantVector<CoordinateRepresentationType, MovingImageDimension>
MovingImageComponentGradientType
;
104
typedef
CovariantVector<CoordinateRepresentationType, VirtualImageDimension>
VirtualImageComponentGradientType
;
105
107
typedef
GradientRecursiveGaussianImageFilter
<
FixedImageType
,
108
FixedImageGradientImageType
>
109
DefaultFixedImageGradientFilter
;
110
typedef
GradientRecursiveGaussianImageFilter
<
MovingImageType
,
111
MovingImageGradientImageType
>
112
DefaultMovingImageGradientFilter
;
113
116
typedef
ImageFunction
<
FixedImageType
,
117
FixedImageGradientType
,
118
CoordinateRepresentationType
>
119
FixedImageGradientCalculatorType
;
120
typedef
ImageFunction
<
MovingImageType
,
121
MovingImageGradientType
,
122
CoordinateRepresentationType
>
123
MovingImageGradientCalculatorType
;
124
125
typedef
CentralDifferenceImageFunction
<
FixedImageType
,
126
CoordinateRepresentationType
,
127
FixedImageGradientType
>
128
DefaultFixedImageGradientCalculator
;
129
typedef
CentralDifferenceImageFunction
<
MovingImageType
,
130
CoordinateRepresentationType
,
131
MovingImageGradientType
>
132
DefaultMovingImageGradientCalculator
;
133
};
134
}
// end namespace itk
135
136
#endif
137
Generated on Sun Dec 9 2012 01:30:17 for ITK by
1.8.2