go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkBinaryANNTreeSearchBase.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 __itkBinaryANNTreeSearchBase_h
00016 #define __itkBinaryANNTreeSearchBase_h
00017 
00018 #include "itkBinaryTreeSearchBase.h"
00019 #include "itkBinaryANNTreeBase.h"
00020 #include "ANN/ANN.h"
00021 
00022 
00023 namespace itk
00024 {
00025 
00035   template < class TListSample >
00036   class BinaryANNTreeSearchBase :
00037     public BinaryTreeSearchBase< TListSample >
00038   {
00039   public:
00040 
00042     typedef BinaryANNTreeSearchBase     Self;
00043     typedef BinaryTreeSearchBase<
00044       TListSample >                     Superclass;
00045     typedef SmartPointer< Self >        Pointer;
00046     typedef SmartPointer< const Self >  ConstPointer;
00047 
00049     itkTypeMacro( BinaryANNTreeSearchBase, BinaryTreeSearchBase );
00050 
00052     typedef typename Superclass::ListSampleType         ListSampleType;
00053     typedef typename Superclass::BinaryTreeType         BinaryTreeType;
00054     typedef typename Superclass::MeasurementVectorType  MeasurementVectorType;
00055     typedef typename Superclass::IndexArrayType         IndexArrayType;
00056     typedef typename Superclass::DistanceArrayType      DistanceArrayType;
00057 
00059     typedef ANNpoint      ANNPointType;         // double *
00060     typedef ANNidx        ANNIndexType;         // int
00061     typedef ANNidxArray   ANNIndexArrayType;    // int *
00062     typedef ANNdist       ANNDistanceType;      // double
00063     typedef ANNdistArray  ANNDistanceArrayType; // double *
00064 
00066     typedef BinaryANNTreeBase< ListSampleType >   BinaryANNTreeType;
00067 
00069     virtual void SetBinaryTree( BinaryTreeType * tree );
00070     //const BinaryTreeType * GetBinaryTree( void ) const;
00071 
00072   protected:
00073 
00074     BinaryANNTreeSearchBase();
00075     virtual ~BinaryANNTreeSearchBase();
00076 
00078     typename BinaryANNTreeType::Pointer m_BinaryTreeAsITKANNType;
00079 
00080   private:
00081 
00082     BinaryANNTreeSearchBase( const Self& ); // purposely not implemented
00083     void operator=( const Self& );          // purposely not implemented
00084 
00085   }; // end class BinaryANNTreeSearchBase
00086 
00087 
00088 } // end namespace itk
00089 
00090 
00091 #ifndef ITK_MANUAL_INSTANTIATION
00092 #include "itkBinaryANNTreeSearchBase.txx"
00093 #endif
00094 
00095 
00096 #endif // end #ifndef __itkBinaryANNTreeSearchBase_h
00097 


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