1 #ifndef __FPA__IMAGE__EXTRACTENDPOINTSANDBIFURCATIONSFROMMINIMUMSPANNINGTREE__H__
2 #define __FPA__IMAGE__EXTRACTENDPOINTSANDBIFURCATIONSFROMMINIMUMSPANNINGTREE__H__
4 #include <fpa/Base/ExtractEndPointsAndBifurcationsFromMinimumSpanningTree.h>
5 #include <fpa/Base/ImageSkeleton.h>
13 template< class _TImage, class _TMST >
14 class ExtractEndPointsAndBifurcationsFromMinimumSpanningTree
15 : public fpa::Base::ExtractEndPointsAndBifurcationsFromMinimumSpanningTree< _TMST >
19 fpa::Base::ExtractEndPointsAndBifurcationsFromMinimumSpanningTree< _TMST >
21 typedef ExtractEndPointsAndBifurcationsFromMinimumSpanningTree Self;
22 typedef itk::SmartPointer< Self > Pointer;
23 typedef itk::SmartPointer< const Self > ConstPointer;
25 typedef _TImage TImage;
26 typedef typename Superclass::TMinimumSpanningTree TMinimumSpanningTree;
27 typedef typename Superclass::TVertex TVertex;
29 typedef itk::Image< unsigned short, TImage::ImageDimension > TMarkImage;
30 typedef fpa::Base::ImageSkeleton< _TMST > TSkeleton;
35 ExtractEndPointsAndBifurcationsFromMinimumSpanningTree,
36 fpa::Base::ExtractEndPointsAndBifurcationsFromMinimumSpanningTree
39 itkBooleanMacro( SquaredDistanceMap );
40 itkGetConstMacro( SquaredDistanceMap, bool );
41 itkSetMacro( SquaredDistanceMap, bool );
44 const TImage* GetCostsImage( );
45 const TImage* GetDistanceMap( );
46 TSkeleton* GetSkeleton( );
47 void SetCostsImage( TImage* image );
48 void SetDistanceMap( TImage* image );
51 ExtractEndPointsAndBifurcationsFromMinimumSpanningTree( );
52 virtual ~ExtractEndPointsAndBifurcationsFromMinimumSpanningTree( );
54 virtual void GenerateData( ) ITK_OVERRIDE;
56 virtual void _MarkSkeleton(
57 const TVertex& v, const unsigned long& l
59 virtual void _MarkSphere(
62 const unsigned long& l
64 virtual unsigned long _Mark( const TVertex& v ) ITK_OVERRIDE;
65 virtual unsigned long _SkeletonMark( const TVertex& v ) ITK_OVERRIDE;
66 virtual double _Radius( const TVertex& v ) ITK_OVERRIDE;
68 virtual void _Tmp( ) ITK_OVERRIDE
73 // Purposely not implemented
74 ExtractEndPointsAndBifurcationsFromMinimumSpanningTree( const Self& other );
75 Self& operator=( const Self& other );
78 typename TMarkImage::Pointer m_MarkImage;
79 typename TMarkImage::Pointer m_SkeletonImage;
80 bool m_SquaredDistanceMap;
87 #ifndef ITK_MANUAL_INSTANTIATION
88 #include <fpa/Image/ExtractEndPointsAndBifurcationsFromMinimumSpanningTree.hxx>
89 #endif // ITK_MANUAL_INSTANTIATION
91 #endif // __FPA__IMAGE__EXTRACTENDPOINTSANDBIFURCATIONSFROMMINIMUMSPANNINGTREE__H__