X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=lib%2FcpPlugins%2FPlugins%2FImageWriter.cxx;h=921df921cdb3149e90494139a07ff8b36573d371;hb=3b51a08c6a78ed09578f198f6a13dd769d460bef;hp=176e9f663ee9197aaabb01bfdd5423a936f6fd3f;hpb=48412b66ce1d8d8831625f1a3f51f7e78825f9a1;p=cpPlugins.git diff --git a/lib/cpPlugins/Plugins/ImageWriter.cxx b/lib/cpPlugins/Plugins/ImageWriter.cxx index 176e9f6..921df92 100644 --- a/lib/cpPlugins/Plugins/ImageWriter.cxx +++ b/lib/cpPlugins/Plugins/ImageWriter.cxx @@ -1,19 +1,6 @@ #include +#include -#include - -#define ITK_MANUAL_INSTANTIATION -#include - -#include -#include -#include -#include -#include -#include -#include - -#undef ITK_MANUAL_INSTANTIATION #include // ------------------------------------------------------------------------- @@ -40,17 +27,33 @@ cpPlugins::Plugins::ImageWriter:: std::string cpPlugins::Plugins::ImageWriter:: _GenerateData( ) { - itk::DataObject* i = this->m_Inputs[ 0 ]->GetITKDataObject( ); - return( this->_DemangleImageDimension( i ) ); -} + cpPlugins::Interface::Image* image = + this->_Input< cpPlugins::Interface::Image >( 0 ); + if( image == NULL ) + return( "ImageWriter: No input image." ); -// ------------------------------------------------------------------------- -namespace cpPlugins -{ - namespace Plugins - { - cpPlugins_Image_Demangle_Methods_Code( ImageWriter, _RealGD ); - } + 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 + else r = "ImageWriter: Input image type not supported."; + + return( r ); } // ------------------------------------------------------------------------- @@ -59,12 +62,9 @@ std::string cpPlugins::Plugins::ImageWriter:: _RealGD( itk::DataObject* image ) { typedef itk::ImageFileWriter< I > _W; - + // Get filename - using namespace cpPlugins::Interface; - Parameters::TString fname = - this->m_Parameters.GetValueAsString( "FileName" ); - + std::string fname = this->m_Parameters.GetValueAsString( "FileName" ); _W* writer = dynamic_cast< _W* >( this->m_RealProcessObject.GetPointer( ) ); if( writer == NULL ) {