go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkANNBinaryTreeCreator.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright UMC Utrecht and contributors
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 
19 #ifndef __itkANNBinaryTreeCreator_h
20 #define __itkANNBinaryTreeCreator_h
21 
22 #include "itkObject.h"
23 #include "itkObjectFactory.h"
24 #include "ANN/ANN.h"
25 
26 namespace itk
27 {
28 
38 class ANNBinaryTreeCreator : public Object
39 {
40 public:
41 
44  typedef Object Superclass;
45  typedef SmartPointer< Self > Pointer;
46  typedef SmartPointer< const Self > ConstPointer;
47 
49  itkNewMacro( Self );
50 
52  itkTypeMacro( ANNBinaryTreeCreator, Object );
53 
55  //typedef ANNpointSet ANNTreeBaseType;
62 
71  static ANNkDTreeType * CreateANNkDTree( ANNPointArrayType pa, int n, int d, int bs = 1,
73 
75  static ANNbdTreeType * CreateANNbdTree( ANNPointArrayType pa, int n, int d, int bs = 1,
77 
80 
82  static void DeleteANNkDTree( ANNkDTreeType * & tree );
83 
86 
88  static void IncreaseReferenceCount( void );
89 
91  static void DecreaseReferenceCount( void );
92 
93 protected:
94 
96  ~ANNBinaryTreeCreator() override{}
97 
98 private:
99 
100  ANNBinaryTreeCreator( const Self & ); // purposely not implemented
101  void operator=( const Self & ); // purposely not implemented
102 
104  static unsigned int m_NumberOfANNBinaryTrees;
105 
106 };
107 
108 } // end namespace itk
109 
110 #endif // end #ifndef __itkANNBinaryTreeCreator_h
ANNsplitRule
Definition: ANN.h:575
@ ANN_KD_SUGGEST
Definition: ANN.h:581
ANNshrinkRule
Definition: ANN.h:584
@ ANN_BD_SUGGEST
Definition: ANN.h:588
static unsigned int m_NumberOfANNBinaryTrees
static void DeleteANNBruteForceTree(ANNBruteForceTreeType *&tree)
void operator=(const Self &)
static void DeleteANNkDTree(ANNkDTreeType *&tree)
static ANNkDTreeType * CreateANNkDTree(ANNPointArrayType pa, int n, int d, int bs=1, ANNSplitRuleType split=ANN_KD_SUGGEST)
static ANNbdTreeType * CreateANNbdTree(ANNPointArrayType pa, int n, int d, int bs=1, ANNSplitRuleType split=ANN_KD_SUGGEST, ANNShrinkRuleType shrink=ANN_BD_SUGGEST)
ANNBinaryTreeCreator(const Self &)
static void DecreaseReferenceCount(void)
SmartPointer< const Self > ConstPointer
static ANNBruteForceTreeType * CreateANNBruteForceTree(ANNPointArrayType pa, int n, int d)
static void IncreaseReferenceCount(void)


Generated on 1667476801 for elastix by doxygen 1.9.1 elastix logo