1 #ifndef __FPA__IMAGE__EXTRACTENDPOINTSANDBIFURCATIONSFROMMINIMUMSPANNINGTREE__H__
2 #define __FPA__IMAGE__EXTRACTENDPOINTSANDBIFURCATIONSFROMMINIMUMSPANNINGTREE__H__
4 #include <fpa/Base/ExtractEndPointsAndBifurcationsFromMinimumSpanningTree.h>
12 template< class _TImage, class _TMST >
13 class ExtractEndPointsAndBifurcationsFromMinimumSpanningTree
14 : public fpa::Base::ExtractEndPointsAndBifurcationsFromMinimumSpanningTree< _TMST >
18 fpa::Base::ExtractEndPointsAndBifurcationsFromMinimumSpanningTree< _TMST >
20 typedef ExtractEndPointsAndBifurcationsFromMinimumSpanningTree Self;
21 typedef itk::SmartPointer< Self > Pointer;
22 typedef itk::SmartPointer< const Self > ConstPointer;
24 typedef _TImage TImage;
25 typedef typename Superclass::TMinimumSpanningTree TMinimumSpanningTree;
26 typedef typename Superclass::TVertex TVertex;
28 typedef itk::Image< unsigned short, TImage::ImageDimension > TMarkImage;
33 ExtractEndPointsAndBifurcationsFromMinimumSpanningTree,
34 fpa::Base::ExtractEndPointsAndBifurcationsFromMinimumSpanningTree
37 itkBooleanMacro( SquaredDistanceMap );
38 itkGetConstMacro( SquaredDistanceMap, bool );
39 itkSetMacro( SquaredDistanceMap, bool );
42 const TImage* GetCostsImage( );
43 const TImage* GetDistanceMap( );
44 void SetCostsImage( TImage* image );
45 void SetDistanceMap( TImage* image );
48 ExtractEndPointsAndBifurcationsFromMinimumSpanningTree( );
49 virtual ~ExtractEndPointsAndBifurcationsFromMinimumSpanningTree( );
51 virtual void GenerateData( ) ITK_OVERRIDE;
53 virtual void _MarkSkeleton(
54 const TVertex& v, const unsigned long& l
56 virtual void _MarkSphere(
59 const unsigned long& l
61 virtual unsigned long _Mark( const TVertex& v ) ITK_OVERRIDE;
62 virtual unsigned long _SkeletonMark( const TVertex& v ) ITK_OVERRIDE;
63 virtual double _Radius( const TVertex& v ) ITK_OVERRIDE;
65 virtual void _Tmp( ) ITK_OVERRIDE
70 // Purposely not implemented
71 ExtractEndPointsAndBifurcationsFromMinimumSpanningTree( const Self& other );
72 Self& operator=( const Self& other );
75 typename TMarkImage::Pointer m_MarkImage;
76 typename TMarkImage::Pointer m_SkeletonImage;
77 bool m_SquaredDistanceMap;
84 #ifndef ITK_MANUAL_INSTANTIATION
85 #include <fpa/Image/ExtractEndPointsAndBifurcationsFromMinimumSpanningTree.hxx>
86 #endif // ITK_MANUAL_INSTANTIATION
88 #endif // __FPA__IMAGE__EXTRACTENDPOINTSANDBIFURCATIONSFROMMINIMUMSPANNINGTREE__H__