ITK
5.2.0
Insight Toolkit
ITK
Modules
Numerics
Statistics
include
itkEuclideanDistanceMetric.h
Go to the documentation of this file.
1
/*=========================================================================
2
*
3
* Copyright NumFOCUS
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 itkEuclideanDistanceMetric_h
19
#define itkEuclideanDistanceMetric_h
20
21
#include "
itkDistanceMetric.h
"
22
23
namespace
itk
24
{
25
namespace
Statistics
26
{
34
template
<
typename
TVector>
35
class
ITK_TEMPLATE_EXPORT
EuclideanDistanceMetric
:
public
DistanceMetric
<TVector>
36
{
37
public
:
38
40
using
Self
=
EuclideanDistanceMetric
;
41
using
Superclass
=
DistanceMetric<TVector>
;
42
using
Pointer
=
SmartPointer<Self>
;
43
using
ConstPointer
=
SmartPointer<const Self>
;
44
45
using
MeasurementVectorType
=
typename
Superclass::MeasurementVectorType;
46
using
ValueType
=
typename
MeasurementVectorTraitsTypes<MeasurementVectorType>::ValueType
;
47
using
MeasurementVectorSizeType
=
typename
Superclass::MeasurementVectorSizeType;
48
49
using
OriginType
=
typename
Superclass::OriginType;
50
52
itkTypeMacro(
EuclideanDistanceMetric
,
DistanceMetric
);
53
55
itkNewMacro(
Self
);
56
58
double
59
Evaluate(
const
MeasurementVectorType
& x)
const override
;
60
62
double
63
Evaluate(
const
MeasurementVectorType
& x1,
const
MeasurementVectorType
& x2)
const override
;
64
69
double
70
Evaluate(
const
ValueType
& a,
const
ValueType
& b)
const
;
71
72
protected
:
73
EuclideanDistanceMetric
() =
default
;
74
~
EuclideanDistanceMetric
()
override
=
default
;
75
};
// end of class
76
}
// end of namespace Statistics
77
}
// end of namespace itk
78
79
#ifndef ITK_MANUAL_INSTANTIATION
80
# include "itkEuclideanDistanceMetric.hxx"
81
#endif
82
83
#endif
itkDistanceMetric.h
itk::Statistics::DistanceMetric
this class declares common interfaces for distance functions.
Definition:
itkDistanceMetric.h:48
itk::SmartPointer< Self >
itk::Statistics::DistanceMetric< Array< double > >::MeasurementVectorSizeType
unsigned int MeasurementVectorSizeType
Definition:
itkDistanceMetric.h:64
itk::LightObject
Light weight base class for most itk classes.
Definition:
itkLightObject.h:59
itk::Statistics::EuclideanDistanceMetric
Euclidean distance function.
Definition:
itkEuclideanDistanceMetric.h:35
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition:
itkAnnulusOperator.h:24
itk::Array< double >
itk::Statistics::MeasurementVectorTraitsTypes::ValueType
typename TMeasurementVector::ValueType ValueType
Definition:
itkMeasurementVectorTraits.h:423
itk::Statistics::EuclideanDistanceMetric< Array< double > >::ValueType
typename MeasurementVectorTraitsTypes< MeasurementVectorType >::ValueType ValueType
Definition:
itkEuclideanDistanceMetric.h:46
Generated on Thu Apr 1 2021 01:41:50 for ITK by
1.8.16