2 #include <cpPlugins/Interface.h>
4 int main( int argc, char* argv[] )
9 << "Usage: " << argv[ 0 ]
10 << " plugins_library input_image(s) output_image" << std::endl;
17 cpPlugins::Interface interface;
20 interface.LoadPluginFile( argv[ 1 ] );
22 catch( std::exception& err )
25 << "Interface load failed on \"" << argv[ 1 ] << "\": "
33 cpPlugins::ProcessObject::Pointer reader;
34 cpPlugins::ProcessObject::Pointer writer;
37 reader = interface.Create( "IO", "ImageReader" );
38 if( reader.IsNull( ) )
41 << "\"IO::ImageReader\" creation failed from \""
47 writer = interface.Create( "IO", "ImageWriter" );
48 if( writer.IsNull( ) )
51 << "\"IO::ImageWriter\" creation failed from \""
58 catch( std::exception& err )
61 << "Filter creation failed on \"" << argv[ 1 ] << "\": "
71 auto reader_params = reader->GetParameters( );
72 for( int i = 2; i < argc - 1; ++i )
73 reader_params->AddToOpenFileNameList( "FileNames", argv[ i ] );
74 auto writer_params = writer->GetParameters( );
75 writer_params->SetSaveFileName( "FileName", argv[ argc - 1 ] );
78 writer->SetInput( "Input", reader->GetOutput( "Output" ) );
81 std::string err = writer->Update( );
84 std::cout << "Error caught: " << err << std::endl;