1 #include "ImageWriter.h"
2 #include <cpPlugins/Interface/Image.h>
4 #include <itkImageFileWriter.h>
6 // -------------------------------------------------------------------------
7 cpPlugins::IO::ImageWriter::
11 this->SetNumberOfInputs( 1 );
13 using namespace cpPlugins::Interface;
14 this->m_DefaultParameters.Configure( Parameters::String, "FileName" );
15 this->m_Parameters = this->m_DefaultParameters;
18 // -------------------------------------------------------------------------
19 cpPlugins::IO::ImageWriter::
24 // -------------------------------------------------------------------------
25 std::string cpPlugins::IO::ImageWriter::
28 cpPlugins::Interface::Image* image =
29 this->GetInput< cpPlugins::Interface::Image >( 0 );
31 return( "ImageWriter: No input image." );
33 itk::DataObject* itk_image = NULL;
36 cpPlugins_Image_Demangle_AllTypes( 2, image, itk_image, r, _RealGD );
37 else cpPlugins_Image_Demangle_AllTypes( 3, image, itk_image, r, _RealGD );
38 else cpPlugins_Image_Demangle_AllTypes( 4, image, itk_image, r, _RealGD );
39 else cpPlugins_VectorImage_Demangle_AllTypes( 2, image, itk_image, r, _RealGD );
40 else cpPlugins_VectorImage_Demangle_AllTypes( 3, image, itk_image, r, _RealGD );
41 else cpPlugins_VectorImage_Demangle_AllTypes( 4, image, itk_image, r, _RealGD );
42 else */r = "ImageWriter: Input image type not supported.";
47 // -------------------------------------------------------------------------
49 std::string cpPlugins::IO::ImageWriter::
50 _RealGD( itk::DataObject* image )
53 std::string fname = this->m_Parameters.GetValueAsString( "FileName" );
55 typedef itk::ImageFileWriter< I > _W;
56 _W* writer = this->_CreateITK< _W >( );
57 writer->SetFileName( fname );
58 writer->SetInput( dynamic_cast< I* >( image ) );
63 catch( itk::ExceptionObject& err )
65 return( "ImageWriter: " + std::string( err.GetDescription( ) ) );