Home
|
Main Page
|
Modules
|
Namespace List
|
Class Hierarchy
|
Alphabetical List
|
Data Structures
|
File List
|
Namespace Members
|
Data Fields
|
Globals
|
Related Pages
src
Common
KNN
itkANNkDTree.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 __itkANNkDTree_h
16
#define __itkANNkDTree_h
17
18
#include "
itkBinaryANNTreeBase.h
"
19
20
21
namespace
itk
22
{
23
33
template
<
class
TListSample >
34
class
ANNkDTree
:
public
BinaryANNTreeBase
< TListSample >
35
{
36
public
:
37
39
typedef
ANNkDTree
Self
;
40
typedef
BinaryANNTreeBase< TListSample >
Superclass
;
41
typedef
SmartPointer< Self >
Pointer
;
42
typedef
SmartPointer< const Self >
ConstPointer
;
43
45
itkNewMacro(
Self
);
46
48
itkTypeMacro(
ANNkDTree
,
BinaryANNTreeBase
);
49
51
typedef
typename
Superclass::SampleType
SampleType
;
52
typedef
typename
Superclass::MeasurementVectorType
MeasurementVectorType
;
53
typedef
typename
Superclass::MeasurementVectorSizeType
MeasurementVectorSizeType
;
54
typedef
typename
Superclass::TotalAbsoluteFrequencyType
TotalAbsoluteFrequencyType
;
55
57
typedef
ANNpointSet
ANNPointSetType
;
58
typedef
ANNkd_tree
ANNkDTreeType
;
59
typedef
ANNsplitRule
SplittingRuleType
;
60
typedef
unsigned
int
BucketSizeType
;
61
63
itkSetMacro( BucketSize,
BucketSizeType
);
64
itkGetConstMacro( BucketSize,
BucketSizeType
);
65
67
itkSetMacro( SplittingRule,
SplittingRuleType
);
68
itkGetConstMacro( SplittingRule,
SplittingRuleType
);
69
void
SetSplittingRule
( std::string rule );
70
std::string
GetSplittingRule
(
void
);
71
73
//void SetMaximumNumberOfPointsToVisit( unsigned int num )
74
//{
75
// annMaxPtsVisit( static_cast<int>( num ) );
76
//}
77
79
virtual
void
GenerateTree
(
void
);
80
82
virtual
ANNPointSetType
*
GetANNTree
(
void
)
const
83
{
84
return
this->
m_ANNTree
;
85
}
86
87
protected
:
88
90
ANNkDTree
();
91
93
virtual
~ANNkDTree
();
94
96
virtual
void
PrintSelf
( std::ostream& os, Indent indent )
const
;
97
99
ANNkDTreeType
*
m_ANNTree
;
100
SplittingRuleType
m_SplittingRule
;
101
BucketSizeType
m_BucketSize
;
102
103
private
:
104
105
ANNkDTree
(
const
Self
& );
// purposely not implemented
106
void
operator=
(
const
Self
& );
// purposely not implemented
107
108
};
// end class ANNkDTree
109
110
111
}
// end namespace itk
112
113
114
#ifndef ITK_MANUAL_INSTANTIATION
115
#include "itkANNkDTree.txx"
116
#endif
117
118
119
#endif // end #ifndef __itkANNkDTree_h
120
Generated on 21-03-2014 for elastix by
1.8.1.2