1 #ifndef __FPA__BASE__EXTRACTPATHFROMMINIMUMSPANNINGTREE__H__
2 #define __FPA__BASE__EXTRACTPATHFROMMINIMUMSPANNINGTREE__H__
5 #include <itkProcessObject.h>
6 #include <cpExtensions/DataStructures/PolyLineParametricPath.h>
15 class ExtractPathFromMinimumSpanningTree
16 : public itk::ProcessObject
19 typedef ExtractPathFromMinimumSpanningTree Self;
20 typedef itk::ProcessObject Superclass;
21 typedef itk::SmartPointer< Self > Pointer;
22 typedef itk::SmartPointer< const Self > ConstPointer;
24 typedef T TMinimumSpanningTree;
25 typedef typename T::TVertex TVertex;
27 cpExtensions::DataStructures::PolyLineParametricPath< TVertex::Dimension >
29 typedef std::pair< TVertex, TVertex > _TBranch;
30 typedef std::vector< _TBranch > _TBranches;
34 itkTypeMacro( ExtractPathFromMinimumSpanningTree, itk::ProcessObject );
36 itkGetConstMacro( Vertex0, TVertex );
37 itkGetConstMacro( Vertex1, TVertex );
39 itkSetMacro( Vertex0, TVertex );
40 itkSetMacro( Vertex1, TVertex );
43 const T* GetInput( ) const;
44 void SetInput( const T* tree );
49 ExtractPathFromMinimumSpanningTree( );
50 virtual ~ExtractPathFromMinimumSpanningTree( );
52 virtual void GenerateData( ) ITK_OVERRIDE;
55 // Purposely not implemented
56 ExtractPathFromMinimumSpanningTree( const Self& other );
57 Self& operator=( const Self& other );
68 #ifndef ITK_MANUAL_INSTANTIATION
69 #include <fpa/Base/ExtractPathFromMinimumSpanningTree.hxx>
70 #endif // ITK_MANUAL_INSTANTIATION
72 #endif // __FPA__BASE__EXTRACTPATHFROMMINIMUMSPANNINGTREE__H__