Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef __itkANNFixedRadiusTreeSearch_h
00016 #define __itkANNFixedRadiusTreeSearch_h
00017
00018 #include "itkBinaryANNTreeSearchBase.h"
00019
00020
00021 namespace itk
00022 {
00023
00033 template < class TListSample >
00034 class ANNFixedRadiusTreeSearch : public BinaryANNTreeSearchBase< TListSample >
00035 {
00036 public:
00037
00039 typedef ANNFixedRadiusTreeSearch Self;
00040 typedef BinaryANNTreeSearchBase< TListSample > Superclass;
00041 typedef SmartPointer< Self > Pointer;
00042 typedef SmartPointer< const Self > ConstPointer;
00043
00045 itkNewMacro( Self );
00046
00048 itkTypeMacro( ANNFixedRadiusTreeSearch, 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;
00058 typedef typename Superclass::ANNIndexType ANNIndexType;
00059 typedef typename Superclass::ANNIndexArrayType ANNIndexArrayType;
00060 typedef typename Superclass::ANNDistanceType ANNDistanceType;
00061 typedef typename Superclass::ANNDistanceArrayType ANNDistanceArrayType;
00062
00063 typedef typename Superclass::BinaryANNTreeType BinaryANNTreeType;
00064
00066 itkSetClampMacro( ErrorBound, double, 0.0, 1e14 );
00067 itkGetConstMacro( ErrorBound, double );
00068
00070 itkSetMacro( SquaredRadius, double );
00071 itkGetConstMacro( SquaredRadius, double );
00072
00074 virtual void Search( const MeasurementVectorType & qp, IndexArrayType & ind,
00075 DistanceArrayType & dists );
00076
00078 virtual void Search( const MeasurementVectorType & qp, IndexArrayType & ind,
00079 DistanceArrayType & dists, double sqRad );
00080
00081 protected:
00082
00083 ANNFixedRadiusTreeSearch();
00084 virtual ~ANNFixedRadiusTreeSearch();
00085
00087 double m_ErrorBound;
00088 double m_SquaredRadius;
00089
00090 private:
00091
00092 ANNFixedRadiusTreeSearch( const Self& );
00093 void operator=( const Self& );
00094
00095 };
00096
00097
00098 }
00099
00100
00101 #ifndef ITK_MANUAL_INSTANTIATION
00102 #include "itkANNFixedRadiusTreeSearch.txx"
00103 #endif
00104
00105
00106 #endif // end #ifndef __itkANNFixedRadiusTreeSearch_h
00107