go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkANNbdTree.h
Go to the documentation of this file.
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 __itkANNbdTree_h
00016 #define __itkANNbdTree_h
00017 
00018 #include "itkANNkDTree.h"
00019 
00020 namespace itk
00021 {
00022 
00032   template < class TListSample >
00033   class ANNbdTree : public ANNkDTree< TListSample >
00034   {
00035   public:
00036 
00038     typedef ANNbdTree                     Self;
00039     typedef ANNkDTree< TListSample >      Superclass;
00040     typedef SmartPointer< Self >          Pointer;
00041     typedef SmartPointer< const Self >    ConstPointer;
00042 
00044     itkNewMacro( Self );
00045 
00047     itkTypeMacro( ANNbdTree, ANNkDTree );
00048 
00050     typedef typename Superclass::SampleType                 SampleType;
00051     typedef typename Superclass::MeasurementVectorType      MeasurementVectorType;
00052     typedef typename Superclass::MeasurementVectorSizeType  MeasurementVectorSizeType;
00053     typedef typename Superclass::TotalAbsoluteFrequencyType TotalAbsoluteFrequencyType;
00054     typedef typename Superclass::ANNPointSetType            ANNPointSetType;
00055     typedef typename Superclass::ANNkDTreeType              ANNkDTreeType;
00056     typedef typename Superclass::SplittingRuleType          SplittingRuleType;
00057     typedef typename Superclass::BucketSizeType             BucketSizeType;
00058 
00059     typedef ANNshrinkRule      ShrinkingRuleType;
00060 
00062     itkSetMacro( ShrinkingRule, ShrinkingRuleType );
00063     itkGetConstMacro( ShrinkingRule, ShrinkingRuleType );
00064     void SetShrinkingRule( std::string rule );
00065     std::string GetShrinkingRule( void );
00066 
00068     virtual void GenerateTree( void );
00069 
00070   protected:
00071 
00073     ANNbdTree();
00074 
00076     virtual ~ANNbdTree() {};
00077 
00079     virtual void PrintSelf( std::ostream& os, Indent indent ) const;
00080 
00082     ShrinkingRuleType   m_ShrinkingRule;
00083 
00084   private:
00085 
00086     ANNbdTree( const Self& );       // purposely not implemented
00087     void operator=( const Self& );  // purposely not implemented
00088 
00089   }; // end class ANNbdTree
00090 
00091 
00092 } // end namespace itk
00093 
00094 
00095 #ifndef ITK_MANUAL_INSTANTIATION
00096 #include "itkANNbdTree.txx"
00097 #endif
00098 
00099 
00100 #endif // end #ifndef __itkANNbdTree_h
00101 


Generated on 24-10-2011 for elastix by doxygen 1.7.4 elastix logo