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;
46  typedef SmartPointer< const Self > ConstPointer;
47 
49  itkNewMacro( Self );
50 
52  itkTypeMacro( ANNBinaryTreeCreator, Object );
53 
55  //typedef ANNpointSet ANNTreeBaseType;
56  typedef ANNkd_tree ANNkDTreeType;
57  typedef ANNbd_tree ANNbdTreeType;
58  typedef ANNbruteForce ANNBruteForceTreeType;
59  typedef ANNpointArray ANNPointArrayType;
60  typedef ANNsplitRule ANNSplitRuleType;
61  typedef ANNshrinkRule ANNShrinkRuleType;
62 
71  static ANNkDTreeType * CreateANNkDTree( ANNPointArrayType pa, int n, int d, int bs = 1,
72  ANNSplitRuleType split = ANN_KD_SUGGEST );
73 
75  static ANNbdTreeType * CreateANNbdTree( ANNPointArrayType pa, int n, int d, int bs = 1,
76  ANNSplitRuleType split = ANN_KD_SUGGEST, ANNShrinkRuleType shrink = ANN_BD_SUGGEST );
77 
79  static ANNBruteForceTreeType * CreateANNBruteForceTree( ANNPointArrayType pa, int n, int d );
80 
82  static void DeleteANNkDTree( ANNkDTreeType * & tree );
83 
85  static void DeleteANNBruteForceTree( ANNBruteForceTreeType * & tree );
86 
88  static void IncreaseReferenceCount( void );
89 
91  static void DecreaseReferenceCount( void );
92 
93 protected:
94 
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
static void IncreaseReferenceCount(void)
static ANNbdTreeType * CreateANNbdTree(ANNPointArrayType pa, int n, int d, int bs=1, ANNSplitRuleType split=ANN_KD_SUGGEST, ANNShrinkRuleType shrink=ANN_BD_SUGGEST)
static void DeleteANNkDTree(ANNkDTreeType *&tree)
static void DecreaseReferenceCount(void)
void operator=(const Self &)
static ANNkDTreeType * CreateANNkDTree(ANNPointArrayType pa, int n, int d, int bs=1, ANNSplitRuleType split=ANN_KD_SUGGEST)
static ANNBruteForceTreeType * CreateANNBruteForceTree(ANNPointArrayType pa, int n, int d)
SmartPointer< const Self > ConstPointer
static void DeleteANNBruteForceTree(ANNBruteForceTreeType *&tree)
static unsigned int m_NumberOfANNBinaryTrees


Generated on 04-09-2015 for elastix by doxygen 1.8.9.1 elastix logo