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 #ifndef __itkBinaryTreeSearchBase_h
15 #define __itkBinaryTreeSearchBase_h
16 
17 #include "itkObject.h"
18 #include "itkArray.h"
19 
20 #include "itkBinaryTreeBase.h"
21 
22 namespace itk
23 {
24 
34 template< class TListSample >
35 class BinaryTreeSearchBase : public Object
36 {
37 public:
38 
41  typedef Object Superclass;
42  typedef SmartPointer< Self > Pointer;
43  typedef SmartPointer< const Self > ConstPointer;
44 
46  itkTypeMacro( BinaryTreeSearchBase, Object );
47 
49  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 
60  const BinaryTreeType * GetBinaryTree( void ) const;
61 
63  itkSetMacro( KNearestNeighbors, unsigned int );
64  itkGetConstMacro( KNearestNeighbors, unsigned int );
65 
67  virtual void Search( const MeasurementVectorType & qp, IndexArrayType & ind,
68  DistanceArrayType & dists ) = 0;
69 
70 protected:
71 
73  virtual ~BinaryTreeSearchBase();
74 
77  unsigned int m_KNearestNeighbors;
78  unsigned int m_DataDimension;
79 
80 private:
81 
82  BinaryTreeSearchBase( const Self & ); // purposely not implemented
83  void operator=( const Self & ); // purposely not implemented
84 
85 };
86 
87 } // end namespace itk
88 
89 #ifndef ITK_MANUAL_INSTANTIATION
90 #include "itkBinaryTreeSearchBase.hxx"
91 #endif
92 
93 #endif // end #ifndef __itkBinaryTreeSearchBase_h
virtual void SetBinaryTree(BinaryTreeType *tree)
virtual void Search(const MeasurementVectorType &qp, IndexArrayType &ind, DistanceArrayType &dists)=0
BinaryTreeBase< ListSampleType > BinaryTreeType
BinaryTreeType::Pointer BinaryTreePointer
const BinaryTreeType * GetBinaryTree(void) const
BinaryTreeType::MeasurementVectorType MeasurementVectorType
void operator=(const Self &)
SmartPointer< Self > Pointer
SmartPointer< const Self > ConstPointer
SampleType::MeasurementVectorType MeasurementVectorType


Generated on 27-04-2014 for elastix by doxygen 1.8.6 elastix logo