#include #include int main( int argc, char* argv[] ) { if( argc < 3 ) { std::cerr << "Usage: " << argv[ 0 ] << " input_image(s) output_image" << std::endl; return( 1 ); } // fi // Load interface int ret = 0; cpPlugins::Interface interface; interface.GuessAccesiblePlugins( ); // Create filters cpPlugins::ProcessObject::Pointer reader; cpPlugins::ProcessObject::Pointer writer; try { reader = interface.Create( "IO", "ImageReader" ); if( reader.IsNull( ) ) { std::cerr << "\"IO::ImageReader\" creation failed." << std::endl; ret = 1; } // fi writer = interface.Create( "IO", "ImageWriter" ); if( writer.IsNull( ) ) { std::cerr << "\"IO::ImageWriter\" creation failed." << std::endl; ret = 1; } // fi } catch( std::exception& err ) { std::cerr << "Filter creation failed: " << err.what( ) << std::endl; ret = 1; } // yrt if( ret == 0 ) { // Configure filters auto reader_params = reader->GetParameters( ); for( int i = 1; i < argc - 1; ++i ) reader_params->AddToOpenFileNameList( "FileNames", argv[ i ] ); auto writer_params = writer->GetParameters( ); writer_params->SetSaveFileName( "FileName", argv[ argc - 1 ] ); // Connect filters writer->SetInputPort( "Input", reader->GetOutputPort( "Output" ) ); // Execute filters try { writer->Update( ); } catch( itk::ExceptionObject& err ) { std::cout << "Error caught: " << err << std::endl; ret = 1; } // fi } // fi // Ok finish return( ret ); } // eof - $RCSfile$