go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkBinaryTreeSearchBase.h
Go to the documentation of this file.
1 /*======================================================================
2 
3  This file is part of the elastix software.
4 
5  Copyright (c) University Medical Center Utrecht. All rights reserved.
6  See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
7  details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notices for more information.
12 
13 ======================================================================*/
14 
15 #ifndef __itkBinaryTreeSearchBase_h
16 #define __itkBinaryTreeSearchBase_h
17 
18 #include "itkObject.h"
19 #include "itkArray.h"
20 
21 #include "itkBinaryTreeBase.h"
22 
23 namespace itk
24 {
25 
35  template < class TListSample >
36  class BinaryTreeSearchBase : public Object
37  {
38  public:
39 
42  typedef Object Superclass;
43  typedef SmartPointer< Self > Pointer;
44  typedef SmartPointer< const Self > ConstPointer;
45 
47  itkTypeMacro( BinaryTreeSearchBase, Object );
48 
50  typedef TListSample ListSampleType;
52  typedef typename BinaryTreeType::
54  typedef Array< int > IndexArrayType;
55  typedef Array< double > DistanceArrayType;
56 
58  virtual void SetBinaryTree( BinaryTreeType * tree );
59  const BinaryTreeType * GetBinaryTree( void ) const;
60 
62  itkSetMacro( KNearestNeighbors, unsigned int );
63  itkGetConstMacro( KNearestNeighbors, unsigned int );
64 
66  virtual void Search( const MeasurementVectorType & qp, IndexArrayType & ind,
67  DistanceArrayType & dists ) = 0;
68 
69  protected:
70 
72  virtual ~BinaryTreeSearchBase();
73 
76  unsigned int m_KNearestNeighbors;
77  unsigned int m_DataDimension;
78 
79  private:
80 
81  BinaryTreeSearchBase( const Self& ); // purposely not implemented
82  void operator=( const Self& ); // purposely not implemented
83 
84  }; // end class BinaryTreeSearchBase
85 
86 
87 } // end namespace itk
88 
89 
90 #ifndef ITK_MANUAL_INSTANTIATION
91 #include "itkBinaryTreeSearchBase.txx"
92 #endif
93 
94 
95 #endif // end #ifndef __itkBinaryTreeSearchBase_h
96 
virtual void SetBinaryTree(BinaryTreeType *tree)
virtual void Search(const MeasurementVectorType &qp, IndexArrayType &ind, DistanceArrayType &dists)=0
BinaryTreeBase< ListSampleType > BinaryTreeType
BinaryTreeType::Pointer m_BinaryTree
const BinaryTreeType * GetBinaryTree(void) const
BinaryTreeType::MeasurementVectorType MeasurementVectorType
void operator=(const Self &)
SmartPointer< Self > Pointer
SmartPointer< const Self > ConstPointer
SampleType::MeasurementVectorType MeasurementVectorType


Generated on 04-01-2014 for elastix by doxygen 1.8.5 elastix logo