Home
|
Main Page
|
Modules
|
Namespace List
|
Class Hierarchy
|
Alphabetical List
|
Data Structures
|
File List
|
Namespace Members
|
Data Fields
|
Globals
|
Related Pages
src
Components
Metrics
CorrespondingPointsEuclideanDistanceMetric
elxCorrespondingPointsEuclideanDistanceMetric.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 __elxCorrespondingPointsEuclideanDistanceMetric_H__
16
#define __elxCorrespondingPointsEuclideanDistanceMetric_H__
17
18
#include "
elxIncludes.h
"
19
#include "
itkCorrespondingPointsEuclideanDistancePointMetric.h
"
20
21
#include "
elxTimer.h
"
22
23
namespace
elastix
24
{
25
using namespace
itk;
26
39
template
<
class
TElastix >
40
class
CorrespondingPointsEuclideanDistanceMetric
41
:
public
42
CorrespondingPointsEuclideanDistancePointMetric
<
43
typename MetricBase<TElastix>::FixedPointSetType,
44
typename MetricBase<TElastix>::MovingPointSetType >,
45
public
MetricBase
<TElastix>
46
{
47
public
:
48
50
typedef
CorrespondingPointsEuclideanDistanceMetric
Self
;
51
typedef
CorrespondingPointsEuclideanDistancePointMetric
<
52
typename
MetricBase<TElastix>::FixedPointSetType
,
53
typename
MetricBase<TElastix>::MovingPointSetType
>
Superclass1
;
54
typedef
MetricBase<TElastix>
Superclass2
;
55
typedef
SmartPointer<Self>
Pointer
;
56
typedef
SmartPointer<const Self>
ConstPointer
;
57
59
itkNewMacro(
Self
);
60
62
itkTypeMacro(
CorrespondingPointsEuclideanDistanceMetric
,
63
CorrespondingPointsEuclideanDistancePointMetric
);
64
69
elxClassNameMacro
(
"CorrespondingPointsEuclideanDistanceMetric"
);
70
72
typedef
typename
Superclass1::CoordinateRepresentationType
CoordinateRepresentationType
;
73
typedef
typename
Superclass1::FixedPointSetType
FixedPointSetType
;
74
typedef
typename
Superclass1::FixedPointSetConstPointer
FixedPointSetConstPointer
;
75
typedef
typename
Superclass1::MovingPointSetType
MovingPointSetType
;
76
typedef
typename
Superclass1::MovingPointSetConstPointer
MovingPointSetConstPointer
;
77
78
// typedef typename Superclass1::FixedImageRegionType FixedImageRegionType;
79
typedef
typename
Superclass1::TransformType
TransformType
;
80
typedef
typename
Superclass1::TransformPointer
TransformPointer
;
81
typedef
typename
Superclass1::InputPointType
InputPointType
;
82
typedef
typename
Superclass1::OutputPointType
OutputPointType
;
83
typedef
typename
Superclass1::TransformParametersType
TransformParametersType
;
84
typedef
typename
Superclass1::TransformJacobianType
TransformJacobianType
;
85
// typedef typename Superclass1::RealType RealType;
86
typedef
typename
Superclass1::FixedImageMaskType
FixedImageMaskType
;
87
typedef
typename
Superclass1::FixedImageMaskPointer
FixedImageMaskPointer
;
88
typedef
typename
Superclass1::MovingImageMaskType
MovingImageMaskType
;
89
typedef
typename
Superclass1::MovingImageMaskPointer
MovingImageMaskPointer
;
90
typedef
typename
Superclass1::MeasureType
MeasureType
;
91
typedef
typename
Superclass1::DerivativeType
DerivativeType
;
92
typedef
typename
Superclass1::ParametersType
ParametersType
;
93
95
typedef
typename
Superclass2::ElastixType
ElastixType
;
96
typedef
typename
Superclass2::ElastixPointer
ElastixPointer
;
97
typedef
typename
Superclass2::ConfigurationType
ConfigurationType
;
98
typedef
typename
Superclass2::ConfigurationPointer
ConfigurationPointer
;
99
typedef
typename
Superclass2::RegistrationType
RegistrationType
;
100
typedef
typename
Superclass2::RegistrationPointer
RegistrationPointer
;
101
typedef
typename
Superclass2::ITKBaseType
ITKBaseType
;
102
typedef
typename
Superclass2::FixedImageType
FixedImageType
;
103
typedef
typename
Superclass2::MovingImageType
MovingImageType
;
104
106
itkStaticConstMacro( FixedImageDimension,
unsigned
int
,
107
FixedImageType::ImageDimension );
108
110
itkStaticConstMacro( MovingImageDimension,
unsigned
int
,
111
MovingImageType::ImageDimension );
112
116
typedef
FixedPointSetType
PointSetType
;
117
typedef
FixedImageType
ImageType
;
118
120
typedef
tmr::Timer
TimerType
;
121
typedef
TimerType::Pointer
TimerPointer
;
122
126
virtual
void
Initialize(
void
) throw ( ExceptionObject );
127
133
virtual
int
BeforeAllBase(
void
);
134
139
virtual
void
BeforeRegistration(
void
);
140
142
unsigned
int
ReadLandmarks(
143
const std::
string
& landmarkFileName,
144
typename
PointSetType
::
Pointer
& pointSet,
145
const typename
ImageType
::
ConstPointer
image );
146
148
virtual
void
SelectNewSamples(
void
){ };
149
150
protected
:
151
153
CorrespondingPointsEuclideanDistanceMetric
(){};
155
virtual
~CorrespondingPointsEuclideanDistanceMetric
() {}
156
157
private
:
158
160
CorrespondingPointsEuclideanDistanceMetric
(
const
Self& );
// purposely not implemented
162
void
operator=(
const
Self& );
// purposely not implemented
163
164
};
// end class CorrespondingPointsEuclideanDistanceMetric
165
166
167
}
// end namespace elastix
168
169
170
#ifndef ITK_MANUAL_INSTANTIATION
171
#include "elxCorrespondingPointsEuclideanDistanceMetric.hxx"
172
#endif
173
174
#endif // end #ifndef __elxCorrespondingPointsEuclideanDistanceMetric_H__
175
Generated on 27-06-2013 for elastix by
1.8.3.1