]> Creatis software - FrontAlgorithms.git/blobdiff - lib/fpa/Image/ExtractAxisFilter.h
...
[FrontAlgorithms.git] / lib / fpa / Image / ExtractAxisFilter.h
index 01efc75a66e163fd80662365813847c850b0e423..5c659160eefacf58f800043b990a1327b9d9f6d1 100644 (file)
@@ -7,7 +7,7 @@
 #define __fpa__Image__ExtractAxisFilter__h__
 
 #include <itkProcessObject.h>
-#include <itkSignedMaurerDistanceMapImageFilter.h>
+#include <itkImageToImageFilter.h>
 
 #include <fpa/Image/Dijkstra.h>
 #include <fpa/Image/PolyLineParametricPath.h>
@@ -18,7 +18,7 @@ namespace fpa
   {
     /**
      */
-    template< class _TInputImage, class _TScalar, class _TCenterness = itk::SignedMaurerDistanceMapImageFilter< _TInputImage, itk::Image< _TScalar, _TInputImage::ImageDimension > > >
+    template< class _TInputImage, class _TScalar >
     class ExtractAxisFilter
       : public itk::ProcessObject
     {
@@ -30,19 +30,20 @@ namespace fpa
 
       typedef _TInputImage TInputImage;
       typedef _TScalar     TScalar;
-      typedef _TCenterness TCenterness;
+      typedef typename TInputImage::IndexType TIndex;
+      typedef typename TInputImage::PointType TPoint;
+
       itkStaticConstMacro(
         Dimension,
         unsigned int,
         TInputImage::ImageDimension
         );
 
-      typedef typename TCenterness::OutputImageType TOutputImage;
-      typedef typename TInputImage::IndexType       TIndex;
-      typedef typename TInputImage::PointType       TPoint;
+      typedef itk::Image< TScalar, Self::Dimension > TScalarImage;
+      typedef itk::ImageToImageFilter< TInputImage, TScalarImage > TCenterness;
 
       typedef fpa::Image::PolyLineParametricPath< Self::Dimension > TPath;
-      typedef fpa::Image::Dijkstra< TOutputImage, TOutputImage > TDijkstra;
+      typedef fpa::Image::Dijkstra< TScalarImage, TScalarImage > TDijkstra;
 
     public:
       itkNewMacro( Self );
@@ -50,11 +51,12 @@ namespace fpa
 
       itkGetConstObjectMacro( Centerness, TCenterness );
       itkGetObjectMacro( Centerness, TCenterness );
+      itkSetObjectMacro( Centerness, TCenterness );
 
       itkGetConstMacro( StartIndex, TIndex );
-      itkGetConstMacro( EndIndex, TIndex );
-
       itkSetMacro( StartIndex, TIndex );
+
+      itkGetConstMacro( EndIndex, TIndex );
       itkSetMacro( EndIndex, TIndex );
 
     public:
@@ -84,7 +86,7 @@ namespace fpa
 
     protected:
       typename TCenterness::Pointer m_Centerness;
-      typename TDijkstra::Pointer m_Dijkstra;
+      typename TDijkstra::Pointer   m_Dijkstra;
 
       TIndex m_StartIndex;
       TIndex m_EndIndex;