go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
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;
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;
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 
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 27-06-2013 for elastix by doxygen 1.8.3.1 elastix logo