]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Plugins/IO/ImageWriter.cxx
Merge branch 'master' of ssh://git.creatis.insa-lyon.fr/cpPlugins
[cpPlugins.git] / lib / cpPlugins / Plugins / IO / ImageWriter.cxx
index 6a0de2ed09dc730cdeab376e3c7ce3c9684e7b43..ba9417324d4f394d4e8c552a0ef6bef94bd7f105 100644 (file)
@@ -34,24 +34,14 @@ _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
-  else r = "ImageWriter: Input image type not supported.";
+  /*
+  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