go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkBinaryTreeBase.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 __itkBinaryTreeBase_h
00016 #define __itkBinaryTreeBase_h
00017 
00018 #include "itkDataObject.h"
00019 
00020 namespace itk
00021 {
00022 
00032   template < class TListSample >
00033   class BinaryTreeBase : public DataObject
00034   {
00035   public:
00036 
00038     typedef BinaryTreeBase              Self;
00039     typedef DataObject                  Superclass;
00040     typedef SmartPointer< Self >        Pointer;
00041     typedef SmartPointer< const Self >  ConstPointer;
00042 
00044     itkTypeMacro( BinaryTreeBase, DataObject );
00045 
00047     typedef TListSample       SampleType;
00048 
00050     typedef typename SampleType::MeasurementVectorType      MeasurementVectorType;
00051     typedef typename SampleType::MeasurementVectorSizeType  MeasurementVectorSizeType;
00052     typedef typename SampleType::TotalAbsoluteFrequencyType TotalAbsoluteFrequencyType;
00053 
00055     itkSetObjectMacro( Sample, SampleType );
00056     itkGetConstObjectMacro( Sample, SampleType );
00057 
00059     TotalAbsoluteFrequencyType GetNumberOfDataPoints( void ) const;
00060 
00062     TotalAbsoluteFrequencyType GetActualNumberOfDataPoints( void ) const;
00063 
00065     MeasurementVectorSizeType GetDataDimension( void ) const;
00066 
00068     virtual void GenerateTree( void ) = 0;
00069 
00070   protected:
00071 
00073     BinaryTreeBase();
00074 
00076     virtual ~BinaryTreeBase() {};
00077 
00079     virtual void PrintSelf( std::ostream& os, Indent indent ) const;
00080 
00081   private:
00082 
00083     BinaryTreeBase( const Self& );  // purposely not implemented
00084     void operator=( const Self& );  // purposely not implemented
00085 
00087     typename SampleType::Pointer        m_Sample;
00088 
00089   }; // end class BinaryTreeBase
00090 
00091 
00092 } // end namespace itk
00093 
00094 
00095 #ifndef ITK_MANUAL_INSTANTIATION
00096 #include "itkBinaryTreeBase.txx"
00097 #endif
00098 
00099 
00100 #endif // end #ifndef __itkBinaryTreeBase_h


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