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;
43  typedef SmartPointer< Self > Pointer;
44  typedef SmartPointer< const Self > ConstPointer;
45 
47  itkNewMacro( Self );
48 
50  itkTypeMacro( ANNkDTree, BinaryANNTreeBase );
51 
57 
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  void GenerateTree( void ) override;
83 
85  ANNPointSetType * GetANNTree( void ) const override
86  {
87  return this->m_ANNTree;
88  }
89 
90 
91 protected:
92 
95 
97  ~ANNkDTree() override;
98 
100  void PrintSelf( std::ostream & os, Indent indent ) const override;
101 
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
ANNsplitRule
Definition: ANN.h:575
SplittingRuleType m_SplittingRule
Definition: itkANNkDTree.h:104
ANNPointSetType * GetANNTree(void) const override
Definition: itkANNkDTree.h:85
Superclass::SampleType SampleType
Definition: itkANNkDTree.h:50
ANNkDTree(const Self &)
BucketSizeType m_BucketSize
Definition: itkANNkDTree.h:105
Superclass::MeasurementVectorSizeType MeasurementVectorSizeType
Definition: itkANNkDTree.h:55
SmartPointer< const Self > ConstPointer
Definition: itkANNkDTree.h:44
~ANNkDTree() override
BinaryANNTreeBase< TListSample > Superclass
Definition: itkANNkDTree.h:42
void operator=(const Self &)
ANNkDTree Self
Definition: itkANNkDTree.h:41
unsigned int BucketSizeType
Definition: itkANNkDTree.h:62
void SetSplittingRule(std::string rule)
void PrintSelf(std::ostream &os, Indent indent) const override
Superclass::TotalAbsoluteFrequencyType TotalAbsoluteFrequencyType
Definition: itkANNkDTree.h:56
ANNkDTreeType * m_ANNTree
Definition: itkANNkDTree.h:103
ANNpointSet ANNPointSetType
Definition: itkANNkDTree.h:59
SmartPointer< Self > Pointer
Definition: itkANNkDTree.h:43
Superclass::MeasurementVectorType MeasurementVectorType
Definition: itkANNkDTree.h:54
void GenerateTree(void) override
ANNkd_tree ANNkDTreeType
Definition: itkANNkDTree.h:60
std::string GetSplittingRule(void)
ANNsplitRule SplittingRuleType
Definition: itkANNkDTree.h:61
Superclass::MeasurementVectorSizeType MeasurementVectorSizeType
Superclass::TotalAbsoluteFrequencyType TotalAbsoluteFrequencyType
Superclass::SampleType SampleType
Superclass::MeasurementVectorType MeasurementVectorType


Generated on 1667476801 for elastix by doxygen 1.9.1 elastix logo