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 #ifndef __itkANNkDTree_h
15 #define __itkANNkDTree_h
16 
17 #include "itkBinaryANNTreeBase.h"
18 
19 namespace itk
20 {
21 
31 template< class TListSample >
32 class ANNkDTree : public BinaryANNTreeBase< TListSample >
33 {
34 public:
35 
37  typedef ANNkDTree Self;
39  typedef SmartPointer< Self > Pointer;
40  typedef SmartPointer< const Self > ConstPointer;
41 
43  itkNewMacro( Self );
44 
46  itkTypeMacro( ANNkDTree, BinaryANNTreeBase );
47 
49  typedef typename Superclass::SampleType SampleType;
53 
55  typedef ANNpointSet ANNPointSetType;
56  typedef ANNkd_tree ANNkDTreeType;
57  typedef ANNsplitRule SplittingRuleType;
58  typedef unsigned int BucketSizeType;
59 
61  itkSetMacro( BucketSize, BucketSizeType );
62  itkGetConstMacro( BucketSize, BucketSizeType );
63 
65  itkSetMacro( SplittingRule, SplittingRuleType );
66  itkGetConstMacro( SplittingRule, SplittingRuleType );
67  void SetSplittingRule( std::string rule );
68 
69  std::string GetSplittingRule( void );
70 
72  //void SetMaximumNumberOfPointsToVisit( unsigned int num )
73  //{
74  // annMaxPtsVisit( static_cast<int>( num ) );
75  //}
76 
78  virtual void GenerateTree( void );
79 
81  virtual ANNPointSetType * GetANNTree( void ) const
82  {
83  return this->m_ANNTree;
84  }
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 };
109 
110 } // end namespace itk
111 
112 #ifndef ITK_MANUAL_INSTANTIATION
113 #include "itkANNkDTree.hxx"
114 #endif
115 
116 #endif // end #ifndef __itkANNkDTree_h
Superclass::SampleType SampleType
ANNkd_tree ANNkDTreeType
Definition: itkANNkDTree.h:56
SplittingRuleType m_SplittingRule
Definition: itkANNkDTree.h:100
Superclass::TotalAbsoluteFrequencyType TotalAbsoluteFrequencyType
BinaryANNTreeBase< TListSample > Superclass
Definition: itkANNkDTree.h:38
SmartPointer< Self > Pointer
Definition: itkANNkDTree.h:39
Superclass::MeasurementVectorSizeType MeasurementVectorSizeType
Definition: itkANNkDTree.h:51
ANNpointSet ANNPointSetType
Definition: itkANNkDTree.h:55
virtual ANNPointSetType * GetANNTree(void) const
Definition: itkANNkDTree.h:81
SmartPointer< const Self > ConstPointer
Definition: itkANNkDTree.h:40
virtual void SetSplittingRule(SplittingRuleType _arg)
ANNkDTreeType * m_ANNTree
Definition: itkANNkDTree.h:99
void operator=(const Self &)
ANNsplitRule SplittingRuleType
Definition: itkANNkDTree.h:57
ANNkDTree Self
Definition: itkANNkDTree.h:37
unsigned int BucketSizeType
Definition: itkANNkDTree.h:58
virtual ~ANNkDTree()
virtual void PrintSelf(std::ostream &os, Indent indent) const
Superclass::MeasurementVectorType MeasurementVectorType
BucketSizeType m_BucketSize
Definition: itkANNkDTree.h:101
Superclass::TotalAbsoluteFrequencyType TotalAbsoluteFrequencyType
Definition: itkANNkDTree.h:52
Superclass::MeasurementVectorSizeType MeasurementVectorSizeType
virtual SplittingRuleType GetSplittingRule() const
Superclass::MeasurementVectorType MeasurementVectorType
Definition: itkANNkDTree.h:50
Superclass::SampleType SampleType
Definition: itkANNkDTree.h:46
virtual void GenerateTree(void)


Generated on 11-03-2014 for elastix by doxygen 1.8.6 elastix logo