![]() |
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 __itkANNPriorityTreeSearch_h 00016 #define __itkANNPriorityTreeSearch_h 00017 00018 #include "itkBinaryANNTreeSearchBase.h" 00019 00020 00021 namespace itk 00022 { 00023 00033 template < class TListSample > 00034 class ANNPriorityTreeSearch : public BinaryANNTreeSearchBase< TListSample > 00035 { 00036 public: 00037 00039 typedef ANNPriorityTreeSearch Self; 00040 typedef BinaryANNTreeSearchBase< TListSample > Superclass; 00041 typedef SmartPointer< Self > Pointer; 00042 typedef SmartPointer< const Self > ConstPointer; 00043 00045 itkNewMacro( Self ); 00046 00048 itkTypeMacro( ANNPriorityTreeSearch, BinaryANNTreeSearchBase ); 00049 00051 typedef typename Superclass::ListSampleType ListSampleType; 00052 typedef typename Superclass::BinaryTreeType BinaryTreeType; 00053 typedef typename Superclass::MeasurementVectorType MeasurementVectorType; 00054 typedef typename Superclass::IndexArrayType IndexArrayType; 00055 typedef typename Superclass::DistanceArrayType DistanceArrayType; 00056 00057 typedef typename Superclass::ANNPointType ANNPointType; // double * 00058 typedef typename Superclass::ANNIndexType ANNIndexType; // int 00059 typedef typename Superclass::ANNIndexArrayType ANNIndexArrayType; // int * 00060 typedef typename Superclass::ANNDistanceType ANNDistanceType; // double 00061 typedef typename Superclass::ANNDistanceArrayType ANNDistanceArrayType; // double * 00062 00063 typedef typename Superclass::BinaryANNTreeType BinaryANNTreeType; 00064 00066 typedef ANNkd_tree ANNkDTreeType; 00067 typedef ANNpointSet ANNPointSetType; 00068 00070 itkSetClampMacro( ErrorBound, double, 0.0, 1e14 ); 00071 itkGetConstMacro( ErrorBound, double ); 00072 00074 virtual void Search( const MeasurementVectorType & qp, IndexArrayType & ind, 00075 DistanceArrayType & dists ); 00076 00077 virtual void SetBinaryTree( BinaryTreeType * tree ); 00078 00079 protected: 00080 00081 ANNPriorityTreeSearch(); 00082 virtual ~ANNPriorityTreeSearch(); 00083 00085 double m_ErrorBound; 00086 ANNkDTreeType * m_BinaryTreeAskDTree; 00087 00088 private: 00089 00090 ANNPriorityTreeSearch( const Self& ); // purposely not implemented 00091 void operator=( const Self& ); // purposely not implemented 00092 00093 }; // end class ANNPriorityTreeSearch 00094 00095 00096 } // end namespace itk 00097 00098 00099 #ifndef ITK_MANUAL_INSTANTIATION 00100 #include "itkANNPriorityTreeSearch.txx" 00101 #endif 00102 00103 00104 #endif // end #ifndef __itkANNPriorityTreeSearch_h 00105
Generated on 11-05-2012 for elastix by ![]() |
![]() |