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  * 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 #ifndef __itkANNkDTree_h
19 #define __itkANNkDTree_h
20 
21 #include "itkBinaryANNTreeBase.h"
22 
23 namespace itk
24 {
25 
35 template< class TListSample >
36 class ANNkDTree : public BinaryANNTreeBase< TListSample >
37 {
38 public:
39 
41  typedef ANNkDTree Self;
44  typedef SmartPointer< const Self > ConstPointer;
45 
47  itkNewMacro( Self );
48 
50  itkTypeMacro( ANNkDTree, BinaryANNTreeBase );
51 
53  typedef typename Superclass::SampleType SampleType;
57 
59  typedef ANNpointSet ANNPointSetType;
60  typedef ANNkd_tree ANNkDTreeType;
61  typedef ANNsplitRule SplittingRuleType;
62  typedef unsigned int BucketSizeType;
63 
65  itkSetMacro( BucketSize, BucketSizeType );
66  itkGetConstMacro( BucketSize, BucketSizeType );
67 
69  itkSetMacro( SplittingRule, SplittingRuleType );
70  itkGetConstMacro( SplittingRule, SplittingRuleType );
71  void SetSplittingRule( std::string rule );
72 
73  std::string GetSplittingRule( void );
74 
76  //void SetMaximumNumberOfPointsToVisit( unsigned int num )
77  //{
78  // annMaxPtsVisit( static_cast<int>( num ) );
79  //}
80 
82  virtual void GenerateTree( void );
83 
85  virtual ANNPointSetType * GetANNTree( void ) const
86  {
87  return this->m_ANNTree;
88  }
89 
90 
91 protected:
92 
94  ANNkDTree();
95 
97  virtual ~ANNkDTree();
98 
100  virtual void PrintSelf( std::ostream & os, Indent indent ) const;
101 
103  ANNkDTreeType * m_ANNTree;
104  SplittingRuleType m_SplittingRule;
105  BucketSizeType m_BucketSize;
106 
107 private:
108 
109  ANNkDTree( const Self & ); // purposely not implemented
110  void operator=( const Self & ); // purposely not implemented
111 
112 };
113 
114 } // end namespace itk
115 
116 #ifndef ITK_MANUAL_INSTANTIATION
117 #include "itkANNkDTree.hxx"
118 #endif
119 
120 #endif // end #ifndef __itkANNkDTree_h
Superclass::SampleType SampleType
ANNkd_tree ANNkDTreeType
Definition: itkANNkDTree.h:60
SplittingRuleType m_SplittingRule
Definition: itkANNkDTree.h:104
Superclass::TotalAbsoluteFrequencyType TotalAbsoluteFrequencyType
BinaryANNTreeBase< TListSample > Superclass
Definition: itkANNkDTree.h:42
SmartPointer< Self > Pointer
Definition: itkANNkDTree.h:43
Superclass::MeasurementVectorSizeType MeasurementVectorSizeType
Definition: itkANNkDTree.h:55
ANNpointSet ANNPointSetType
Definition: itkANNkDTree.h:59
virtual ANNPointSetType * GetANNTree(void) const
Definition: itkANNkDTree.h:85
SmartPointer< const Self > ConstPointer
Definition: itkANNkDTree.h:44
virtual void SetSplittingRule(SplittingRuleType _arg)
ANNkDTreeType * m_ANNTree
Definition: itkANNkDTree.h:103
void operator=(const Self &)
ANNsplitRule SplittingRuleType
Definition: itkANNkDTree.h:61
ANNkDTree Self
Definition: itkANNkDTree.h:41
unsigned int BucketSizeType
Definition: itkANNkDTree.h:62
virtual ~ANNkDTree()
virtual void PrintSelf(std::ostream &os, Indent indent) const
Superclass::MeasurementVectorType MeasurementVectorType
BucketSizeType m_BucketSize
Definition: itkANNkDTree.h:105
Superclass::TotalAbsoluteFrequencyType TotalAbsoluteFrequencyType
Definition: itkANNkDTree.h:56
Superclass::MeasurementVectorSizeType MeasurementVectorSizeType
virtual SplittingRuleType GetSplittingRule() const
Superclass::MeasurementVectorType MeasurementVectorType
Definition: itkANNkDTree.h:54
Superclass::SampleType SampleType
Definition: itkANNkDTree.h:50
virtual void GenerateTree(void)


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