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
itkCorrespondingPointsEuclideanDistancePointMetric.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
#ifndef __itkCorrespondingPointsEuclideanDistancePointMetric_h
15
#define __itkCorrespondingPointsEuclideanDistancePointMetric_h
16
17
#include "
itkSingleValuedPointSetToPointSetMetric.h
"
18
#include "itkPoint.h"
19
#include "itkPointSet.h"
20
#include "itkImage.h"
21
22
namespace
itk
23
{
24
34
template
<
class
TFixedPo
int
Set,
class
TMovingPo
int
Set >
35
class
ITK_EXPORT
CorrespondingPointsEuclideanDistancePointMetric
:
36
public
SingleValuedPointSetToPointSetMetric
<TFixedPointSet, TMovingPointSet>
37
{
38
public
:
39
41
typedef
CorrespondingPointsEuclideanDistancePointMetric
Self
;
42
typedef
SingleValuedPointSetToPointSetMetric
<
43
TFixedPointSet, TMovingPointSet >
Superclass
;
44
typedef
SmartPointer<Self>
Pointer
;
45
typedef
SmartPointer<const Self>
ConstPointer
;
46
48
itkNewMacro(
Self
);
49
51
itkTypeMacro(
CorrespondingPointsEuclideanDistancePointMetric
,
52
SingleValuedPointSetToPointSetMetric
);
53
55
typedef
typename
Superclass::TransformType
TransformType
;
56
typedef
typename
Superclass::TransformPointer
TransformPointer
;
57
typedef
typename
Superclass::TransformParametersType
TransformParametersType
;
58
typedef
typename
Superclass::TransformJacobianType
TransformJacobianType
;
59
60
typedef
typename
Superclass::MeasureType
MeasureType
;
61
typedef
typename
Superclass::DerivativeType
DerivativeType
;
62
typedef
typename
Superclass::DerivativeValueType
DerivativeValueType
;
63
typedef
typename
Superclass::FixedPointSetType
FixedPointSetType
;
64
typedef
typename
Superclass::MovingPointSetType
MovingPointSetType
;
65
typedef
typename
Superclass::FixedPointSetConstPointer
FixedPointSetConstPointer
;
66
typedef
typename
Superclass::MovingPointSetConstPointer
MovingPointSetConstPointer
;
67
68
typedef
typename
Superclass::PointIterator
PointIterator
;
69
typedef
typename
Superclass::PointDataIterator
PointDataIterator
;
70
71
typedef
typename
Superclass::InputPointType
InputPointType
;
72
typedef
typename
Superclass::OutputPointType
OutputPointType
;
73
typedef
typename
OutputPointType::CoordRepType
CoordRepType
;
74
typedef
vnl_vector<CoordRepType>
VnlVectorType
;
75
76
typedef
typename
Superclass::NonZeroJacobianIndicesType
NonZeroJacobianIndicesType
;
77
79
MeasureType
GetValue(
const
TransformParametersType
& parameters )
const
;
80
82
void
GetDerivative(
const
TransformParametersType
& parameters,
83
DerivativeType
& Derivative )
const
;
84
86
void
GetValueAndDerivative(
const
TransformParametersType
& parameters,
87
MeasureType
& Value,
DerivativeType
& Derivative )
const
;
88
89
protected
:
90
CorrespondingPointsEuclideanDistancePointMetric
();
91
virtual
~CorrespondingPointsEuclideanDistancePointMetric
() {};
92
93
private
:
94
CorrespondingPointsEuclideanDistancePointMetric
(
const
Self&);
//purposely not implemented
95
void
operator=(
const
Self&);
//purposely not implemented
96
97
};
// end class CorrespondingPointsEuclideanDistancePointMetric
98
99
}
// end namespace itk
100
101
#ifndef ITK_MANUAL_INSTANTIATION
102
#include "itkCorrespondingPointsEuclideanDistancePointMetric.txx"
103
#endif
104
105
#endif
Generated on 27-06-2013 for elastix by
1.8.3.1