1 #ifndef __FPA__BASE__EXTRACTENDPOINTSANDBIFURCATIONSFROMMINIMUMSPANNINGTREE__H__
2 #define __FPA__BASE__EXTRACTENDPOINTSANDBIFURCATIONSFROMMINIMUMSPANNINGTREE__H__
6 #include <itkProcessObject.h>
7 #include <itkSimpleDataObjectDecorator.h>
8 #include <cpExtensions/DataStructures/ImageIndexesContainer.h>
16 template< class _TMST >
17 class ExtractEndPointsAndBifurcationsFromMinimumSpanningTree
18 : public itk::ProcessObject
21 typedef ExtractEndPointsAndBifurcationsFromMinimumSpanningTree Self;
22 typedef itk::ProcessObject Superclass;
23 typedef itk::SmartPointer< Self > Pointer;
24 typedef itk::SmartPointer< const Self > ConstPointer;
26 typedef _TMST TMinimumSpanningTree;
27 typedef typename _TMST::TVertex TVertex;
28 typedef std::pair< TVertex, TVertex > TBranch;
29 typedef std::vector< TBranch > TBranches;
32 cpExtensions::DataStructures::ImageIndexesContainer< TVertex::Dimension >
37 ExtractEndPointsAndBifurcationsFromMinimumSpanningTree,
42 const TMinimumSpanningTree* GetMinimumSpanningTree( );
43 void SetMinimumSpanningTree( TMinimumSpanningTree* mst );
45 TVertices* GetEndPoints( );
46 TVertices* GetBifurcations( );
47 TVertices* GetCollisions( );
49 virtual void Update( ) ITK_OVERRIDE
51 this->GenerateData( );
55 ExtractEndPointsAndBifurcationsFromMinimumSpanningTree( );
56 virtual ~ExtractEndPointsAndBifurcationsFromMinimumSpanningTree( );
58 virtual void GenerateData( ) ITK_OVERRIDE;
60 virtual void _MarkSkeleton(
61 const TVertex& v, const unsigned long& l
63 virtual void _MarkSphere(
66 const unsigned long& l
68 virtual unsigned long _Mark( const TVertex& v ) = 0;
69 virtual unsigned long _SkeletonMark( const TVertex& v ) = 0;
70 virtual double _Radius( const TVertex& v ) = 0;
72 virtual void _Tmp( ) = 0;
75 // Purposely not implemented
76 ExtractEndPointsAndBifurcationsFromMinimumSpanningTree( const Self& other );
77 Self& operator=( const Self& other );
87 #ifndef ITK_MANUAL_INSTANTIATION
88 #include <fpa/Base/ExtractEndPointsAndBifurcationsFromMinimumSpanningTree.hxx>
89 #endif // ITK_MANUAL_INSTANTIATION
91 #endif // __FPA__BASE__EXTRACTENDPOINTSANDBIFURCATIONSFROMMINIMUMSPANNINGTREE__H__