Home
|
Main Page
|
Modules
|
Namespace List
|
Class Hierarchy
|
Alphabetical List
|
Data Structures
|
File List
|
Namespace Members
|
Data Fields
|
Globals
|
Related Pages
src
Common
KNN
itkANNBinaryTreeCreator.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 __itkANNBinaryTreeCreator_h
16
#define __itkANNBinaryTreeCreator_h
17
18
#include "itkObject.h"
19
#include "itkObjectFactory.h"
20
#include "ANN/ANN.h"
21
22
namespace
itk
23
{
24
34
class
ANNBinaryTreeCreator
:
public
Object
35
{
36
public
:
37
39
typedef
ANNBinaryTreeCreator
Self
;
40
typedef
Object
Superclass
;
41
typedef
SmartPointer< Self >
Pointer
;
42
typedef
SmartPointer< const Self >
ConstPointer
;
43
45
itkNewMacro(
Self
);
46
48
itkTypeMacro(
ANNBinaryTreeCreator
, Object );
49
51
//typedef ANNpointSet ANNTreeBaseType;
52
typedef
ANNkd_tree
ANNkDTreeType
;
53
typedef
ANNbd_tree
ANNbdTreeType
;
54
typedef
ANNbruteForce
ANNBruteForceTreeType
;
55
typedef
ANNpointArray
ANNPointArrayType
;
56
typedef
ANNsplitRule
ANNSplitRuleType
;
57
typedef
ANNshrinkRule
ANNShrinkRuleType
;
58
67
static
ANNkDTreeType
*
CreateANNkDTree
(
ANNPointArrayType
pa,
int
n,
int
d,
int
bs = 1,
68
ANNSplitRuleType
split = ANN_KD_SUGGEST );
69
71
static
ANNbdTreeType
*
CreateANNbdTree
(
ANNPointArrayType
pa,
int
n,
int
d,
int
bs = 1,
72
ANNSplitRuleType
split = ANN_KD_SUGGEST,
ANNShrinkRuleType
shrink = ANN_BD_SUGGEST );
73
75
static
ANNBruteForceTreeType
*
CreateANNBruteForceTree
(
ANNPointArrayType
pa,
int
n,
int
d );
76
78
static
void
DeleteANNkDTree
(
ANNkDTreeType
* & tree );
79
81
static
void
DeleteANNBruteForceTree
(
ANNBruteForceTreeType
* & tree );
82
84
static
void
IncreaseReferenceCount
(
void
);
85
87
static
void
DecreaseReferenceCount
(
void
);
88
89
protected
:
90
91
ANNBinaryTreeCreator
(){};
92
virtual
~ANNBinaryTreeCreator
(){};
93
94
private
:
95
96
ANNBinaryTreeCreator
(
const
Self
& );
// purposely not implemented
97
void
operator=
(
const
Self
& );
// purposely not implemented
98
100
static
unsigned
int
m_NumberOfANNBinaryTrees
;
101
102
};
// end class ANNBinaryTreeCreator
103
104
105
}
// end namespace itk
106
107
108
#endif // end #ifndef __itkANNBinaryTreeCreator_h
109
Generated on 21-03-2014 for elastix by
1.8.1.2