]> Creatis software - FrontAlgorithms.git/blobdiff - plugins/Plugins/SkeletonFilter.cxx
...
[FrontAlgorithms.git] / plugins / Plugins / SkeletonFilter.cxx
index f00a0bfb9e07c266d0643cf085be4ee868d0aab6..d68db4fc516fb9b71b70091377da5b448067c298 100644 (file)
@@ -1,9 +1,15 @@
-#include <plugins/Plugins/SkeletonFilter.h>
+#include <Plugins/SkeletonFilter.h>
 #include <cpPlugins/DataObjects/Image.h>
+#include <cpPlugins/DataObjects/Image_Demanglers.h>
 #include <cpPlugins/DataObjects/Skeleton.h>
+
 #include <fpa/Image/SkeletonFilter.h>
-#include <fpa/Image/SkeletonFilter.hxx>
-#include <itkSimpleDataObjectDecorator.hxx>
+#include <itkImage.h>
+
+/* TODO
+   #include <fpa/Image/SkeletonFilter.hxx>
+   #include <itkSimpleDataObjectDecorator.hxx>
+*/
 
 // -------------------------------------------------------------------------
 fpaPlugins::SkeletonFilter::
@@ -35,8 +41,8 @@ void fpaPlugins::SkeletonFilter::
 _GenerateData( )
 {
   auto o = this->GetInputData( "DistanceMap" );
-  cpPlugins_Demangle_ImageScalars_Dims( o, _GD0 );
-  else this->_Error( "Invalid input image." );
+  cpPlugins_Demangle_Image_RealPixels_AllDims_1( o, _GD0 )
+    this->_Error( "Invalid input image." );
 }
 
 // -------------------------------------------------------------------------
@@ -44,17 +50,15 @@ template< class _TDistanceMap >
 void fpaPlugins::SkeletonFilter::
 _GD0( _TDistanceMap* dmap )
 {
-  auto cmap = this->GetInputData< _TDistanceMap >( "CostMap" );
-  if( cmap != NULL )
-    this->_GD1( dmap, cmap );
-  else
-    this->_Error( "Temporary error: invalid cost map." );
+  auto o = this->GetInputData( "CostMap" );
+  cpPlugins_Demangle_Image_RealPixels_2( o, _GD1, _TDistanceMap::ImageDimension, dmap )
+    this->_Error( "Invalid input image." );
 }
 
 // -------------------------------------------------------------------------
-template< class _TDistanceMap, class _TCostMap >
+template< class _TCostMap, class _TDistanceMap >
 void fpaPlugins::SkeletonFilter::
-_GD1( _TDistanceMap* dmap, _TCostMap* cmap )
+_GD1( _TCostMap* cmap, _TDistanceMap* dmap )
 {
   typedef fpa::Image::SkeletonFilter< _TDistanceMap, _TCostMap > _TFilter;
   typedef typename _TFilter::TMST _TMST;
@@ -71,7 +75,6 @@ _GD1( _TDistanceMap* dmap, _TCostMap* cmap )
   this->GetOutput( "Skeleton" )->SetITK( filter->GetSkeleton( ) );
   this->GetOutput( "Marks" )->SetITK( filter->GetMarks( ) );
 
-
   /* TODO
      auto ep = filter->GetEndPoints( );
      auto bi = filter->GetBifurcations( );