Home
|
Main Page
|
Modules
|
Namespace List
|
Class Hierarchy
|
Alphabetical List
|
Data Structures
|
File List
|
Namespace Members
|
Data Fields
|
Globals
|
Related Pages
src
Common
KNN
itkANNPriorityTreeSearch.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 __itkANNPriorityTreeSearch_h
16
#define __itkANNPriorityTreeSearch_h
17
18
#include "
itkBinaryANNTreeSearchBase.h
"
19
20
21
namespace
itk
22
{
23
33
template
<
class
TListSample >
34
class
ANNPriorityTreeSearch
:
public
BinaryANNTreeSearchBase
< TListSample >
35
{
36
public
:
37
39
typedef
ANNPriorityTreeSearch
Self
;
40
typedef
BinaryANNTreeSearchBase< TListSample >
Superclass
;
41
typedef
SmartPointer< Self >
Pointer
;
42
typedef
SmartPointer< const Self >
ConstPointer
;
43
45
itkNewMacro(
Self
);
46
48
itkTypeMacro(
ANNPriorityTreeSearch
,
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
typedef
ANNkd_tree
ANNkDTreeType
;
67
typedef
ANNpointSet
ANNPointSetType
;
68
70
itkSetClampMacro( ErrorBound,
double
, 0.0, 1e14 );
71
itkGetConstMacro( ErrorBound,
double
);
72
74
virtual
void
Search
(
const
MeasurementVectorType
& qp,
IndexArrayType
& ind,
75
DistanceArrayType
& dists );
76
77
virtual
void
SetBinaryTree
(
BinaryTreeType
* tree );
78
79
protected
:
80
81
ANNPriorityTreeSearch
();
82
virtual
~ANNPriorityTreeSearch
();
83
85
double
m_ErrorBound
;
86
ANNkDTreeType
*
m_BinaryTreeAskDTree
;
87
88
private
:
89
90
ANNPriorityTreeSearch
(
const
Self
& );
// purposely not implemented
91
void
operator=
(
const
Self
& );
// purposely not implemented
92
93
};
// end class ANNPriorityTreeSearch
94
95
96
}
// end namespace itk
97
98
99
#ifndef ITK_MANUAL_INSTANTIATION
100
#include "itkANNPriorityTreeSearch.txx"
101
#endif
102
103
104
#endif // end #ifndef __itkANNPriorityTreeSearch_h
105
Generated on 21-03-2014 for elastix by
1.8.1.2