X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpPlugins%2FPlugins%2FIO%2FImageWriter.cxx;h=3330e681bc0b679fb4844411bcba95dd507e64d4;hb=f989f3f91e2a17832652e345928eac26dcfb6d52;hp=6a0de2ed09dc730cdeab376e3c7ce3c9684e7b43;hpb=c3c3da5217b6eb255db9c0424f22d4e01250901e;p=cpPlugins.git diff --git a/lib/cpPlugins/Plugins/IO/ImageWriter.cxx b/lib/cpPlugins/Plugins/IO/ImageWriter.cxx index 6a0de2e..3330e68 100644 --- a/lib/cpPlugins/Plugins/IO/ImageWriter.cxx +++ b/lib/cpPlugins/Plugins/IO/ImageWriter.cxx @@ -34,23 +34,13 @@ _GenerateData( ) itk::DataObject* itk_image = NULL; std::string r = ""; - cpPlugins_Image_Input_Demangle_Dimension_AllTypes( - 2, image, itk_image, r, _RealGD - ); - else cpPlugins_Image_Input_Demangle_Dimension_AllTypes( - 3, image, itk_image, r, _RealGD - ); - else cpPlugins_Image_Input_Demangle_Dimension_AllTypes( - 4, image, itk_image, r, _RealGD - ); -#ifndef _WIN32 // win32: Nested loops error ???? - else cpPlugins_Image_Input_Demangle( - itk::DiffusionTensor3D< float >, 3, image, itk_image, r, _RealGD - ); - else cpPlugins_Image_Input_Demangle( - itk::DiffusionTensor3D< double >, 3, image, itk_image, r, _RealGD - ); -#endif // _WIN32 + + cpPlugins_Image_Demangle_AllTypes( 2, image, itk_image, r, _RealGD ); + else cpPlugins_Image_Demangle_AllTypes( 3, image, itk_image, r, _RealGD ); + else cpPlugins_Image_Demangle_AllTypes( 4, image, itk_image, r, _RealGD ); + else cpPlugins_VectorImage_Demangle_AllTypes( 2, image, itk_image, r, _RealGD ); + else cpPlugins_VectorImage_Demangle_AllTypes( 3, image, itk_image, r, _RealGD ); + else cpPlugins_VectorImage_Demangle_AllTypes( 4, image, itk_image, r, _RealGD ); else r = "ImageWriter: Input image type not supported."; return( r ); @@ -61,17 +51,11 @@ template< class I > std::string cpPlugins::IO::ImageWriter:: _RealGD( itk::DataObject* image ) { - typedef itk::ImageFileWriter< I > _W; - // Get filename std::string fname = this->m_Parameters.GetValueAsString( "FileName" ); - _W* writer = dynamic_cast< _W* >( this->m_RealProcessObject.GetPointer( ) ); - if( writer == NULL ) - { - this->m_RealProcessObject = _W::New( ); - writer = dynamic_cast< _W* >( this->m_RealProcessObject.GetPointer( ) ); - } // fi + typedef itk::ImageFileWriter< I > _W; + _W* writer = this->_CreateITK< _W >( ); writer->SetFileName( fname ); writer->SetInput( dynamic_cast< I* >( image ) ); try