]> Creatis software - FrontAlgorithms.git/blobdiff - lib/fpa/Image/SkeletonFilter.h
...
[FrontAlgorithms.git] / lib / fpa / Image / SkeletonFilter.h
index 0ed3789ae0233df298ac811a10f337680d73bbff..5a2563444877ccdbf09cddf5aedef50b3a509db2 100644 (file)
@@ -1,17 +1,10 @@
 #ifndef __fpa__Image__SkeletonFilter__h__
 #define __fpa__Image__SkeletonFilter__h__
 
+#include <vector>
 #include <fpa/Image/Dijkstra.h>
 #include <cpExtensions/DataStructures/Skeleton.h>
 #include <itkSimpleDataObjectDecorator.h>
-#include <functional>
-#include <map>
-#include <set>
-
-/* TODO
-   #include <itkProcessObject.h>
-   #include <fpa/Image/MinimumSpanningTree.h>
-*/
 
 namespace fpa
 {
@@ -36,28 +29,18 @@ namespace fpa
 
       typedef typename Superclass::TMST  TMST;
       typedef typename TImage::IndexType TIndex;
-
-      typedef
-      itk::Functor::IndexLexicographicCompare< Self::Dimension > TIndexCmp;
-      typedef std::set< TIndex, TIndexCmp >                      TIndicesData;
-      typedef itk::SimpleDataObjectDecorator< TIndicesData >     TIndices;
-      typedef itk::Image< unsigned char, Self::Dimension >       TMarks;
-      typedef
-      cpExtensions::DataStructures::Skeleton< Self::Dimension >  TSkeleton;
+      typedef itk::Image< unsigned char, Self::Dimension > TMarks;
+      typedef cpExtensions::DataStructures::Skeleton< Self::Dimension > TSkeleton;
 
     protected:
       typedef typename Superclass::_TQueueNode _TQueueNode;
-      typedef
-      std::multimap< double, TIndex, std::greater< double > >
-      _TSkeletonQueue;
+      typedef std::multimap< double, TIndex, std::greater< double > > _TSkeletonQueue;
 
     public:
       itkNewMacro( Self );
       itkTypeMacro( fpa::Image::SkeletonFilter, itk::Object );
 
     public:
-      TIndices* GetEndPoints( );
-      TIndices* GetBifurcations( );
       TSkeleton* GetSkeleton( );
       TMarks* GetMarks( );
 
@@ -69,24 +52,8 @@ namespace fpa
       virtual void _UpdateResult( const _TQueueNode& n ) fpa_OVERRIDE;
       virtual void _AfterGenerateData( ) fpa_OVERRIDE;
 
-      void _EndPoints( );
-      void _Skeleton( );
-
-      /* TODO
-         virtual void GenerateData( ) fpa_OVERRIDE;
-         const TDistanceMap* dmap,
-         const TCostMap* cmap,
-         const TMST* mst,
-         TIndicesData& end_points
-         );
-         const TDistanceMap* dmap,
-         const TCostMap* cmap,
-         const TMST* mst,
-         const TIndicesData& end_points,
-         TIndicesData& bifurcations,
-         TSkeleton* skeleton
-         );
-      */
+      void _EndPoints( std::vector< TIndex >& end_points );
+      void _Skeleton( const std::vector< TIndex >& end_points );
 
     private:
       // Purposely not defined
@@ -96,8 +63,6 @@ namespace fpa
     protected:
       _TSkeletonQueue m_SkeletonQueue;
 
-      unsigned long m_EndPointsIdx;
-      unsigned long m_BifurcationsIdx;
       unsigned long m_SkeletonIdx;
       unsigned long m_MarksIdx;
     };