![]() |
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
00001 /*====================================================================== 00002 00003 This file is part of the elastix software. 00004 00005 Copyright (c) University Medical Center Utrecht. All rights reserved. 00006 See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for 00007 details. 00008 00009 This software is distributed WITHOUT ANY WARRANTY; without even 00010 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00011 PURPOSE. See the above copyright notices for more information. 00012 00013 ======================================================================*/ 00014 00015 #ifndef __itkANNkDTree_h 00016 #define __itkANNkDTree_h 00017 00018 #include "itkBinaryANNTreeBase.h" 00019 00020 00021 namespace itk 00022 { 00023 00033 template < class TListSample > 00034 class ANNkDTree : public BinaryANNTreeBase< TListSample > 00035 { 00036 public: 00037 00039 typedef ANNkDTree Self; 00040 typedef BinaryANNTreeBase< TListSample > Superclass; 00041 typedef SmartPointer< Self > Pointer; 00042 typedef SmartPointer< const Self > ConstPointer; 00043 00045 itkNewMacro( Self ); 00046 00048 itkTypeMacro( ANNkDTree, BinaryANNTreeBase ); 00049 00051 typedef typename Superclass::SampleType SampleType; 00052 typedef typename Superclass::MeasurementVectorType MeasurementVectorType; 00053 typedef typename Superclass::MeasurementVectorSizeType MeasurementVectorSizeType; 00054 typedef typename Superclass::TotalAbsoluteFrequencyType TotalAbsoluteFrequencyType; 00055 00057 typedef ANNpointSet ANNPointSetType; 00058 typedef ANNkd_tree ANNkDTreeType; 00059 typedef ANNsplitRule SplittingRuleType; 00060 typedef unsigned int BucketSizeType; 00061 00063 itkSetMacro( BucketSize, BucketSizeType ); 00064 itkGetConstMacro( BucketSize, BucketSizeType ); 00065 00067 itkSetMacro( SplittingRule, SplittingRuleType ); 00068 itkGetConstMacro( SplittingRule, SplittingRuleType ); 00069 void SetSplittingRule( std::string rule ); 00070 std::string GetSplittingRule( void ); 00071 00073 //void SetMaximumNumberOfPointsToVisit( unsigned int num ) 00074 //{ 00075 // annMaxPtsVisit( static_cast<int>( num ) ); 00076 //} 00077 00079 virtual void GenerateTree( void ); 00080 00082 virtual ANNPointSetType * GetANNTree( void ) const 00083 { 00084 return this->m_ANNTree; 00085 } 00086 00087 protected: 00088 00090 ANNkDTree(); 00091 00093 virtual ~ANNkDTree(); 00094 00096 virtual void PrintSelf( std::ostream& os, Indent indent ) const; 00097 00099 ANNkDTreeType * m_ANNTree; 00100 SplittingRuleType m_SplittingRule; 00101 BucketSizeType m_BucketSize; 00102 00103 private: 00104 00105 ANNkDTree( const Self& ); // purposely not implemented 00106 void operator=( const Self& ); // purposely not implemented 00107 00108 }; // end class ANNkDTree 00109 00110 00111 } // end namespace itk 00112 00113 00114 #ifndef ITK_MANUAL_INSTANTIATION 00115 #include "itkANNkDTree.txx" 00116 #endif 00117 00118 00119 #endif // end #ifndef __itkANNkDTree_h 00120
Generated on 11-05-2012 for elastix by ![]() |
![]() |