X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2Ffpa%2FFilters%2FImage%2FSkeleton.h;fp=lib%2Ffpa%2FFilters%2FImage%2FSkeleton.h;h=0000000000000000000000000000000000000000;hb=a8ac405fe1422bc0792a810f7f0693096a22c20e;hp=39fd41a8992c76a6ac9d58c78286e6e434bf547d;hpb=8abe87eaa0d29ba667d5cbf35f4ca1ca2e38c6c4;p=FrontAlgorithms.git diff --git a/lib/fpa/Filters/Image/Skeleton.h b/lib/fpa/Filters/Image/Skeleton.h deleted file mode 100644 index 39fd41a..0000000 --- a/lib/fpa/Filters/Image/Skeleton.h +++ /dev/null @@ -1,153 +0,0 @@ -// ========================================================================= -// @author Leonardo Florez Valencia -// @email florez-l@javeriana.edu.co -// ========================================================================= -#ifndef __fpa__Filters__Image__Skeleton__h__ -#define __fpa__Filters__Image__Skeleton__h__ - -#include -#include -#include -#include -#include - -namespace fpa -{ - namespace Filters - { - namespace Image - { - /** - */ - template< class _TInputImage, class _TDistanceMap = itk::SignedMaurerDistanceMapImageFilter< _TInputImage, itk::Image< double, _TInputImage::ImageDimension > > > - class Skeleton - : public itk::ProcessObject - { - public: - typedef Skeleton Self; - typedef itk::ProcessObject Superclass; - typedef itk::SmartPointer< Self > Pointer; - typedef itk::SmartPointer< const Self > ConstPointer; - - typedef _TInputImage TInputImage; - typedef _TDistanceMap TDistanceMap; - itkStaticConstMacro( - Dimension, - unsigned int, - TInputImage::ImageDimension - ); - - typedef typename TDistanceMap::OutputImageType TOutputImage; - typedef typename TInputImage::IndexType TIndex; - typedef typename TOutputImage::PixelType TScalar; - - typedef fpa::DataStructures::Image::Skeleton< Self::Dimension > TSkeleton; - - protected: - typedef std::multimap< TScalar, TIndex > _TSkeletonQueue; - - /** - */ - class _TDijkstra - : public fpa::Filters::Image::Dijkstra< TOutputImage, TOutputImage > - { - public: - typedef fpa::Filters::Image::Dijkstra< TOutputImage, TOutputImage > Superclass; - typedef _TDijkstra Self; - typedef itk::SmartPointer< Self > Pointer; - typedef itk::SmartPointer< const Self > ConstPointer; - - typedef typename Superclass::TNode TNode; - typedef typename Superclass::TMST TMST; - - public: - itkNewMacro( Self ); - itkTypeMacro( _TDijkstra, fpa::Image::Dijkstra ); - - itkGetConstReferenceMacro( SkeletonQueue, _TSkeletonQueue ); - - protected: - _TDijkstra( ); - virtual ~_TDijkstra( ); - - virtual void _BeforeGenerateData( ) override; - virtual void _UpdateOutputValue( TNode& n ) override; - - private: - // Purposely not implemented - _TDijkstra( const Self& other ); - Self& operator=( const Self& other ); - - protected: - _TSkeletonQueue m_SkeletonQueue; - }; - typedef typename _TDijkstra::TMST _TMST; - - public: - itkNewMacro( Self ); - itkTypeMacro( fpa::Image::Skeleton, fpa::Image::Dijkstra ); - - itkBooleanMacro( SeedFromMaximumDistance ); - itkGetConstMacro( SeedFromMaximumDistance, bool ); - itkSetMacro( SeedFromMaximumDistance, bool ); - - itkGetConstObjectMacro( DistanceMap, TDistanceMap ); - itkGetObjectMacro( DistanceMap, TDistanceMap ); - - itkGetConstMacro( Seed, TIndex ); - itkSetMacro( Seed, TIndex ); - - public: - virtual itk::ModifiedTimeType GetMTime( ) const override; - - void SetInput( TInputImage* input ); - TInputImage* GetInput( ); - const TInputImage* GetInput( ) const; - - TSkeleton* GetOutput( ); - const TSkeleton* GetOutput( ) const; - - protected: - Skeleton( ); - virtual ~Skeleton( ); - - virtual void GenerateData( ) override; - - template< class _TMarksPointer > - void _MarkSphere( - _TMarksPointer& marks, - const TOutputImage* dmap, - const TIndex& center - ); - - void _EndPoints( - std::vector< TIndex >& end_points, - const TOutputImage* dmap, - const _TMST* mst, - const _TSkeletonQueue& queue - ); - - private: - // Purposely not implemented. - Skeleton( const Self& other ); - Self& operator=( const Self& other ); - - protected: - typename TDistanceMap::Pointer m_DistanceMap; - bool m_SeedFromMaximumDistance; - TIndex m_Seed; - }; - - } // ecapseman - - } // ecapseman - -} // ecapseman - -#ifndef ITK_MANUAL_INSTANTIATION -# include -#endif // ITK_MANUAL_INSTANTIATION - -#endif // __fpa__Filters__Image__Skeleton__h__ - -// eof - $RCSfile$