]> Creatis software - cpPlugins.git/blobdiff - plugins/ImageGenericFilters/RegionOfInterestImageFilter.cxx
...
[cpPlugins.git] / plugins / ImageGenericFilters / RegionOfInterestImageFilter.cxx
index 8b6b89df1aae31b725c29a3199abf012c3a4b796..e73ac5928a836cd709074b4ab7407ba7a3a98294 100644 (file)
@@ -1,19 +1,22 @@
-#include <plugins/ImageGenericFilters/RegionOfInterestImageFilter.h>
+#include <ImageGenericFilters/RegionOfInterestImageFilter.h>
 #include <cpPlugins/DataObjects/Image.h>
 #include <cpPlugins/DataObjects/BoundingBox.h>
+#include <cpPlugins/DataObjects/Image_Demanglers.h>
 
+#include <itkRGBPixel.h>
+#include <itkRGBAPixel.h>
 #include <itkRegionOfInterestImageFilter.h>
-#include <itkRegionOfInterestImageFilter.hxx>
-#include <itkImageAlgorithm.hxx>
 
 // -------------------------------------------------------------------------
 cpPluginsImageGenericFilters::RegionOfInterestImageFilter::
 RegionOfInterestImageFilter( )
   : Superclass( )
 {
-  this->_ConfigureInput< cpPlugins::DataObjects::Image >( "Input", true, false );
-  this->_ConfigureInput< cpPlugins::DataObjects::BoundingBox >( "BoundingBox", true, false );
-  this->_ConfigureOutput< cpPlugins::DataObjects::Image >( "Output" );
+  typedef cpPlugins::DataObjects::Image _TImage;
+  typedef cpPlugins::DataObjects::BoundingBox _TBBox;
+  this->_ConfigureInput< _TImage >( "Input", true, false );
+  this->_ConfigureInput< _TBBox >( "BoundingBox", true, false );
+  this->_ConfigureOutput< _TImage >( "Output" );
 }
 
 // -------------------------------------------------------------------------
@@ -27,8 +30,9 @@ void cpPluginsImageGenericFilters::RegionOfInterestImageFilter::
 _GenerateData( )
 {
   auto o = this->GetInputData( "Input" );
-  cpPlugins_Demangle_ImageScalars_Dims( o, _GD0 );
-  else this->_Error( "Invalid input image." );
+  cpPlugins_Demangle_Image_ScalarPixels_AllDims_1( o, _GD0 )
+    cpPlugins_Demangle_Image_ColorPixels_AllDims_1( o, _GD0 )
+    this->_Error( "Invalid input image." );
 }
 
 // -------------------------------------------------------------------------
@@ -36,13 +40,14 @@ template< class _TImage >
 void cpPluginsImageGenericFilters::RegionOfInterestImageFilter::
 _GD0( _TImage* input )
 {
+  typedef cpPlugins::DataObjects::BoundingBox _TBBox;
   typedef itk::RegionOfInterestImageFilter< _TImage, _TImage > _TFilter;
   typedef typename _TImage::IndexType  _TIndex;
   typedef typename _TImage::PointType  _TPoint;
   typedef typename _TImage::RegionType _TRegion;
   typedef typename _TImage::SizeType   _TSize;
 
-  auto bb = this->GetInput< cpPlugins::DataObjects::BoundingBox >( "BoundingBox" );
+  auto bb = this->GetInput< _TBBox >( "BoundingBox" );
 
   _TIndex i0, i1;
   input->TransformPhysicalPointToIndex( bb->GetMinimum< _TPoint >( ), i0 );