Home
|
Main Page
|
Modules
|
Namespace List
|
Class Hierarchy
|
Alphabetical List
|
Data Structures
|
File List
|
Namespace Members
|
Data Fields
|
Globals
|
Related Pages
src
Common
KNN
itkANNFixedRadiusTreeSearch.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 __itkANNFixedRadiusTreeSearch_h
16
#define __itkANNFixedRadiusTreeSearch_h
17
18
#include "
itkBinaryANNTreeSearchBase.h
"
19
20
21
namespace
itk
22
{
23
33
template
<
class
TListSample >
34
class
ANNFixedRadiusTreeSearch
:
public
BinaryANNTreeSearchBase
< TListSample >
35
{
36
public
:
37
39
typedef
ANNFixedRadiusTreeSearch
Self
;
40
typedef
BinaryANNTreeSearchBase< TListSample >
Superclass
;
41
typedef
SmartPointer< Self >
Pointer
;
42
typedef
SmartPointer< const Self >
ConstPointer
;
43
45
itkNewMacro(
Self
);
46
48
itkTypeMacro(
ANNFixedRadiusTreeSearch
,
BinaryANNTreeSearchBase
);
49
51
typedef
typename
Superclass::ListSampleType
ListSampleType
;
52
typedef
typename
Superclass::BinaryTreeType
BinaryTreeType
;
53
typedef
typename
Superclass::MeasurementVectorType
MeasurementVectorType
;
54
typedef
typename
Superclass::IndexArrayType
IndexArrayType
;
55
typedef
typename
Superclass::DistanceArrayType
DistanceArrayType
;
56
57
typedef
typename
Superclass::ANNPointType
ANNPointType
;
// double *
58
typedef
typename
Superclass::ANNIndexType
ANNIndexType
;
// int
59
typedef
typename
Superclass::ANNIndexArrayType
ANNIndexArrayType
;
// int *
60
typedef
typename
Superclass::ANNDistanceType
ANNDistanceType
;
// double
61
typedef
typename
Superclass::ANNDistanceArrayType
ANNDistanceArrayType
;
// double *
62
63
typedef
typename
Superclass::BinaryANNTreeType
BinaryANNTreeType
;
64
66
itkSetClampMacro( ErrorBound,
double
, 0.0, 1e14 );
67
itkGetConstMacro( ErrorBound,
double
);
68
70
itkSetMacro( SquaredRadius,
double
);
71
itkGetConstMacro( SquaredRadius,
double
);
72
74
virtual
void
Search
(
const
MeasurementVectorType
& qp,
IndexArrayType
& ind,
75
DistanceArrayType
& dists );
76
78
virtual
void
Search
(
const
MeasurementVectorType
& qp,
IndexArrayType
& ind,
79
DistanceArrayType
& dists,
double
sqRad );
80
81
protected
:
82
83
ANNFixedRadiusTreeSearch
();
84
virtual
~ANNFixedRadiusTreeSearch
();
85
87
double
m_ErrorBound
;
88
double
m_SquaredRadius
;
89
90
private
:
91
92
ANNFixedRadiusTreeSearch
(
const
Self
& );
// purposely not implemented
93
void
operator=
(
const
Self
& );
// purposely not implemented
94
95
};
// end class ANNFixedRadiusTreeSearch
96
97
98
}
// end namespace itk
99
100
101
#ifndef ITK_MANUAL_INSTANTIATION
102
#include "itkANNFixedRadiusTreeSearch.txx"
103
#endif
104
105
106
#endif // end #ifndef __itkANNFixedRadiusTreeSearch_h
107
Generated on 27-06-2013 for elastix by
1.8.3.1