X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpPlugins%2FPlugins%2FBasicFilters%2FRGBImageToOtherChannelsFilter.cxx;h=5282f602b4f44f439e55216dc88dd27286d5cc52;hb=a4bc3b8e36e91e45f37a3b7eecb5789c635aa5c0;hp=7f5b1fc8f923860d20694910bab28c39c0368127;hpb=b23970017af98ef6617ddf40f225d4d15fa65854;p=cpPlugins.git diff --git a/lib/cpPlugins/Plugins/BasicFilters/RGBImageToOtherChannelsFilter.cxx b/lib/cpPlugins/Plugins/BasicFilters/RGBImageToOtherChannelsFilter.cxx index 7f5b1fc..5282f60 100644 --- a/lib/cpPlugins/Plugins/BasicFilters/RGBImageToOtherChannelsFilter.cxx +++ b/lib/cpPlugins/Plugins/BasicFilters/RGBImageToOtherChannelsFilter.cxx @@ -13,8 +13,6 @@ RGBImageToOtherChannelsFilter( ) { typedef cpPlugins::Interface::Parameters TParameters; - this->m_ClassName = "cpPlugins::BasicFilters::RGBImageToOtherChannelsFilter"; - this->m_ClassCategory = "ImageToImageFilter"; this->SetNumberOfInputs( 1 ); this->SetNumberOfOutputs( 1 ); this->_MakeOutput< cpPlugins::Interface::Image >( 0 ); @@ -29,25 +27,6 @@ cpPlugins::BasicFilters::RGBImageToOtherChannelsFilter:: { } -// ------------------------------------------------------------------------- -#define cpPlugins_Plugins_RGBImageToOtherChannelsFilter( P, D, I, O, r, f ) \ - cpPlugins_Image_Input_Demangle( P< char >, D, I, O, r, f ); \ - else cpPlugins_Image_Input_Demangle( P< short >, D, I, O, r, f ); \ - else cpPlugins_Image_Input_Demangle( P< int >, D, I, O, r, f ); \ - else cpPlugins_Image_Input_Demangle( P< long >, D, I, O, r, f ); \ - else cpPlugins_Image_Input_Demangle( \ - P< unsigned char >, D, I, O, r, f \ - ); \ - else cpPlugins_Image_Input_Demangle( \ - P< unsigned short >, D, I, O, r, f \ - ); \ - else cpPlugins_Image_Input_Demangle( \ - P< unsigned int >, D, I, O, r, f \ - ); \ - else cpPlugins_Image_Input_Demangle( \ - P< unsigned long >, D, I, O, r, f \ - ) - // ------------------------------------------------------------------------- std::string cpPlugins::BasicFilters::RGBImageToOtherChannelsFilter:: _GenerateData( ) @@ -59,15 +38,9 @@ _GenerateData( ) itk::DataObject* itk_image = NULL; std::string r = ""; - cpPlugins_Plugins_RGBImageToOtherChannelsFilter( - itk::RGBPixel, 2, image, itk_image, r, _DemangleOutput - ); - else cpPlugins_Plugins_RGBImageToOtherChannelsFilter( - itk::RGBPixel, 3, image, itk_image, r, _DemangleOutput - ); - else cpPlugins_Plugins_RGBImageToOtherChannelsFilter( - itk::RGBPixel, 4, image, itk_image, r, _DemangleOutput - ); + cpPlugins_Image_Demangle_AllRGBTypes( 2, image, itk_image, r, _GD0 ); + else cpPlugins_Image_Demangle_AllRGBTypes( 3, image, itk_image, r, _GD0 ); + else cpPlugins_Image_Demangle_AllRGBTypes( 4, image, itk_image, r, _GD0 ); else r = "RGBImageToOtherChannelsFilter: Input image type not supported."; return( r ); } @@ -75,7 +48,7 @@ _GenerateData( ) // ------------------------------------------------------------------------- template< class I > std::string cpPlugins::BasicFilters::RGBImageToOtherChannelsFilter:: -_DemangleOutput( itk::DataObject* image ) +_GD0( itk::DataObject* image ) { typedef typename I::PixelType _P; @@ -107,13 +80,7 @@ _RealGD( itk::DataObject* image ) _F; // Configure filter - _F* filter = dynamic_cast< _F* >( this->m_RealProcessObject.GetPointer( ) ); - if( filter == NULL ) - { - this->m_RealProcessObject = _F::New( ); - filter = dynamic_cast< _F* >( this->m_RealProcessObject.GetPointer( ) ); - - } // fi + _F* filter = this->_CreateITK< _F >( ); filter->SetInput( dynamic_cast< I* >( image ) ); filter->Update( ); @@ -122,7 +89,7 @@ _RealGD( itk::DataObject* image ) this->GetOutput< cpPlugins::Interface::Image >( 0 ); if( out != NULL ) { - out->SetITKImage< _O >( filter->GetOutput( ) ); + out->SetITK< _O >( filter->GetOutput( ) ); return( "" ); } else