#include "ImageWriter.h" #include #include // ------------------------------------------------------------------------- cpPlugins::IO::ImageWriter:: ImageWriter( ) : Superclass( ) { this->SetNumberOfInputs( 1 ); using namespace cpPlugins::Interface; this->m_DefaultParameters.Configure( Parameters::String, "FileName" ); this->m_Parameters = this->m_DefaultParameters; } // ------------------------------------------------------------------------- cpPlugins::IO::ImageWriter:: ~ImageWriter( ) { } // ------------------------------------------------------------------------- std::string cpPlugins::IO::ImageWriter:: _GenerateData( ) { cpPlugins::Interface::Image* image = this->GetInput< cpPlugins::Interface::Image >( 0 ); if( image == NULL ) return( "ImageWriter: No input image." ); itk::DataObject* itk_image = NULL; std::string r = ""; /* 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 ); } // ------------------------------------------------------------------------- template< class I > std::string cpPlugins::IO::ImageWriter:: _RealGD( itk::DataObject* image ) { // Get filename std::string fname = this->m_Parameters.GetValueAsString( "FileName" ); typedef itk::ImageFileWriter< I > _W; _W* writer = this->_CreateITK< _W >( ); writer->SetFileName( fname ); writer->SetInput( dynamic_cast< I* >( image ) ); try { writer->Update( ); } catch( itk::ExceptionObject& err ) { return( "ImageWriter: " + std::string( err.GetDescription( ) ) ); } // yrt return( "" ); } // eof - $RCSfile$