Home
|
Main Page
|
Modules
|
Namespace List
|
Class Hierarchy
|
Alphabetical List
|
Data Structures
|
File List
|
Namespace Members
|
Data Fields
|
Globals
|
Related Pages
src
Components
Metrics
KNNGraphAlphaMutualInformation
elxKNNGraphAlphaMutualInformationMetric.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 __elxKNNGraphAlphaMutualInformationMetric_H__
16
#define __elxKNNGraphAlphaMutualInformationMetric_H__
17
18
#include "
elxIncludes.h
"
19
#include "
itkKNNGraphAlphaMutualInformationImageToImageMetric.h
"
20
21
#include "
elxTimer.h
"
22
23
namespace
elastix
24
{
25
using namespace
itk;
26
81
template
<
class
TElastix >
82
class
KNNGraphAlphaMutualInformationMetric
:
83
public
84
KNNGraphAlphaMutualInformationImageToImageMetric
<
85
ITK_TYPENAME MetricBase<TElastix>::FixedImageType,
86
ITK_TYPENAME MetricBase<TElastix>::MovingImageType >,
87
public
MetricBase
<TElastix>
88
{
89
public
:
90
92
typedef
KNNGraphAlphaMutualInformationMetric
Self
;
93
typedef
KNNGraphAlphaMutualInformationImageToImageMetric
<
94
typename
MetricBase<TElastix>::FixedImageType
,
95
typename
MetricBase<TElastix>::MovingImageType
>
Superclass1
;
96
typedef
MetricBase<TElastix>
Superclass2
;
97
typedef
SmartPointer<Self>
Pointer
;
98
typedef
SmartPointer<const Self>
ConstPointer
;
99
101
itkNewMacro(
Self
);
102
104
itkTypeMacro(
KNNGraphAlphaMutualInformationMetric
,
105
KNNGraphAlphaMutualInformationImageToImageMetric
);
106
111
elxClassNameMacro
(
"KNNGraphAlphaMutualInformation"
);
112
114
typedef
typename
Superclass1::TransformType
TransformType
;
115
typedef
typename
Superclass1::TransformPointer
TransformPointer
;
116
typedef
typename
Superclass1::TransformJacobianType
TransformJacobianType
;
117
typedef
typename
Superclass1::InterpolatorType
InterpolatorType
;
118
typedef
typename
Superclass1::MeasureType
MeasureType
;
119
typedef
typename
Superclass1::DerivativeType
DerivativeType
;
120
typedef
typename
Superclass1::ParametersType
ParametersType
;
121
typedef
typename
Superclass1::FixedImageType
FixedImageType
;
122
typedef
typename
Superclass1::MovingImageType
MovingImageType
;
123
typedef
typename
Superclass1::FixedImageConstPointer
FixedImageConstPointer
;
124
typedef
typename
Superclass1::MovingImageConstPointer
MovingImageConstPointer
;
125
127
itkStaticConstMacro (FixedImageDimension,
unsigned
int
,
128
FixedImageType::ImageDimension);
130
itkStaticConstMacro( MovingImageDimension,
unsigned
int
,
131
MovingImageType::ImageDimension );
132
134
typedef
typename
Superclass2::ElastixType
ElastixType
;
135
typedef
typename
Superclass2::ElastixPointer
ElastixPointer
;
136
typedef
typename
Superclass2::ConfigurationType
ConfigurationType
;
137
typedef
typename
Superclass2::ConfigurationPointer
ConfigurationPointer
;
138
typedef
typename
Superclass2::RegistrationType
RegistrationType
;
139
typedef
typename
Superclass2::RegistrationPointer
RegistrationPointer
;
140
typedef
typename
Superclass2::ITKBaseType
ITKBaseType
;
141
143
typedef
FixedImageType
FixedFeatureImageType
;
144
typedef
MovingImageType
MovingFeatureImageType
;
145
147
typedef
tmr::Timer
TimerType
;
149
typedef
TimerType::Pointer
TimerPointer
;
150
160
virtual
void
BeforeRegistration(
void
);
161
172
virtual
void
BeforeEachResolution(
void
);
173
177
virtual
void
Initialize(
void
) throw (ExceptionObject);
178
179
protected:
180
182
KNNGraphAlphaMutualInformationMetric
() {};
184
virtual
~KNNGraphAlphaMutualInformationMetric
() {}
185
186
private
:
187
189
KNNGraphAlphaMutualInformationMetric
(
const
Self& );
// purposely not implemented
191
void
operator=(
const
Self& );
// purposely not implemented
192
193
};
// end class KNNGraphAlphaMutualInformationMetric
194
195
196
}
// end namespace elastix
197
198
199
#ifndef ITK_MANUAL_INSTANTIATION
200
#include "elxKNNGraphAlphaMutualInformationMetric.hxx"
201
#endif
202
203
#endif // end #ifndef __elxKNNGraphAlphaMutualInformationMetric_H__
Generated on 27-06-2013 for elastix by
1.8.3.1