go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkBinaryANNTreeBase.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 __itkBinaryANNTreeBase_h
00016 #define __itkBinaryANNTreeBase_h
00017 
00018 #include "itkBinaryTreeBase.h"
00019 #include <ANN/ANN.h>  // ANN declarations
00020 
00021 namespace itk
00022 {
00023 
00033   template < class TListSample >
00034   class BinaryANNTreeBase : public BinaryTreeBase< TListSample >
00035   {
00036   public:
00037 
00039     typedef BinaryANNTreeBase             Self;
00040     typedef BinaryTreeBase< TListSample > Superclass;
00041     typedef SmartPointer< Self >          Pointer;
00042     typedef SmartPointer< const Self >    ConstPointer;
00043 
00045     itkTypeMacro( BinaryANNTreeBase, BinaryTreeBase );
00046 
00048     typedef typename Superclass::SampleType                 SampleType;
00049     typedef typename Superclass::MeasurementVectorType      MeasurementVectorType;
00050     typedef typename Superclass::MeasurementVectorSizeType  MeasurementVectorSizeType;
00051     typedef typename Superclass::TotalAbsoluteFrequencyType TotalAbsoluteFrequencyType;
00052 
00054     typedef ANNpointSet       ANNPointSetType;
00055 
00057     virtual ANNPointSetType * GetANNTree( void ) const = 0;
00058 
00059   protected:
00060 
00062     BinaryANNTreeBase();
00063 
00065     virtual ~BinaryANNTreeBase() {};
00066 
00067   private:
00068 
00069     BinaryANNTreeBase( const Self& ); // purposely not implemented
00070     void operator=( const Self& );    // purposely not implemented
00071 
00072   }; // end class BinaryANNTreeBase
00073 
00074 
00075 } // end namespace itk
00076 
00077 
00078 #ifndef ITK_MANUAL_INSTANTIATION
00079 #include "itkBinaryANNTreeBase.txx"
00080 #endif
00081 
00082 
00083 #endif // end #ifndef __itkBinaryANNTreeBase_h
00084 


Generated on 11-05-2012 for elastix by doxygen 1.7.6.1 elastix logo