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  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 
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 
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 
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 
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 05-12-2013 for elastix by doxygen 1.8.5 elastix logo