]> Creatis software - FrontAlgorithms.git/blobdiff - plugins/fpa/BaseImageFilter.hxx
...
[FrontAlgorithms.git] / plugins / fpa / BaseImageFilter.hxx
index 9db580a9bea296ab8484dc1026046656549a7a07..6bce1d5540c0900fbd2778b23b91e9f5ba05181b 100644 (file)
@@ -1,33 +1,23 @@
 #ifndef __FPAPLUGINS__BASEIMAGEFILTER__HXX__
 #define __FPAPLUGINS__BASEIMAGEFILTER__HXX__
 
+#include <cpExtensions/DataStructures/ImageIndexesContainer.h>
 #include <fpa_Instances/Observers.h>
-#include <itkSimpleDataObjectDecorator.h>
-/* TODO
-   #include <cpPlugins/Image.h>
-   #include <fpa/VTK/Image2DObserver.h>
-   #include <fpa/VTK/Image3DObserver.h>
-   #include <vtkRenderWindowInteractor.h>
-
-   #include <fpa/VTK/Image2DObserver.hxx>
-   #include <fpa/VTK/Image3DObserver.hxx>
-*/
 
 // -------------------------------------------------------------------------
 template< class _TFilter >
 _TFilter* fpaPlugins::BaseImageFilter::
 _ConfigureFilter( )
 {
-  typedef typename _TFilter::TInputImage                _TImage;
-  typedef typename _TImage::IndexType                   _TIndex;
-  typedef itk::Point< double, _TImage::ImageDimension > _TPoint;
-  typedef itk::SimpleDataObjectDecorator< std::vector< _TPoint > > _TPoints;
-  typedef itk::SimpleDataObjectDecorator< std::vector< _TIndex > > _TIndexes;
+  typedef typename _TFilter::TInputImage _TImage;
+  static const unsigned int Dim = _TImage::ImageDimension;
+  typedef
+    cpExtensions::DataStructures::ImageIndexesContainer< Dim >
+    _TIndexes;
 
   auto image = this->GetInputData( "Input" )->GetITK< _TImage >( );
   if( image == NULL )
     return( NULL );
-  auto points = this->GetInputData( "Seeds" )->GetITK< _TPoints >( );
   auto indexes = this->GetInputData( "Seeds" )->GetITK< _TIndexes >( );
 
   // Create filter and connect input
@@ -42,27 +32,10 @@ _ConfigureFilter( )
 
   // Assign seeds
   filter->ClearSeeds( );
-  if( points != NULL )
-  {
-    for(
-      auto pIt = points->Get( ).begin( );
-      pIt != points->Get( ).end( );
-      ++pIt
-      )
-    {
-      _TIndex idx;
-      if( image->TransformPhysicalPointToIndex( *pIt, idx ) )
-        filter->AddSeed( idx, 0 );
-
-    } // rof
-  }
-  else if( indexes != NULL )
+  if( indexes != NULL )
   {
-    for(
-      auto iIt = indexes->Get( ).begin( );
-      iIt != indexes->Get( ).end( );
-      ++iIt
-      )
+    auto iIt = indexes->Get( ).begin( );
+    for( ; iIt != indexes->Get( ).end( ); ++iIt )
       filter->AddSeed( *iIt, 0 );
 
   } // fi
@@ -92,8 +65,8 @@ void fpaPlugins::BaseImageFilter::
 _ConfigureDebugger( _TFilter* filter )
 {
   typedef typename _TFilter::TInputImage _TImage;
-  typedef fpa::VTK::Image2DObserver< _TFilter, vtkRenderWindow > _2D;
-  typedef fpa::VTK::Image3DObserver< _TFilter, vtkRenderWindow > _3D;
+  typedef fpa::VTK::Image::Observer2D< _TFilter, vtkRenderWindow > _2D;
+  typedef fpa::VTK::Image::Observer3D< _TFilter, vtkRenderWindow > _3D;
 
   this->m_Observers.clear( );
   if( this->m_Parameters.GetBool( "VisualDebug" ) )