#include #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::Workspace workspace; workspace.SetInterface( &interface ); auto reader = workspace.CreateFilter( "IO", "ImageReader", "reader" ); auto writer = workspace.CreateFilter( "IO", "ImageWriter", "writer" ); workspace.Connect( "reader", "writer", "Output", "Input" ); // 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 ] ); // Execute try { workspace.Execute( ); } catch( itk::ExceptionObject& err ) { std::cout << "Error caught: " << err << std::endl; ret = 1; } // fi // Ok finish return( ret ); } // eof - $RCSfile$