2 #include <cpPlugins/Utility.h>
3 #include <cpPlugins/Interface/Plugins.h>
4 #include <cpPlugins/Interface/Workspace.h>
6 int main( int argc, char* argv[] )
12 << "Usage: " << argv[ 0 ]
13 << " workspace [parameters]" << std::endl;
18 // Create interface and load library
19 cpPlugins::Interface::Plugins::Pointer interface =
20 cpPlugins::Interface::Plugins::New( );
23 interface->AddEnvironments( "." );
24 interface->LoadPaths( "." );
25 interface->LoadEnvironments( );
26 interface->GuessPlugins( );
28 catch( std::exception& err )
30 std::cerr << "Error caught: " << err.what( ) << std::endl;
36 cpPlugins::Interface::Workspace::Pointer workspace =
37 cpPlugins::Interface::Workspace::New( );
40 workspace->Load( argv[ 1 ] );
42 catch( std::exception& err )
45 << "Error loading workspace \"" << argv[ 1 ]
46 << "\": " << err.what( ) << std::endl;
52 for( int i = 2; i < argc; ++i )
54 std::vector< std::string > tokens;
55 cpPlugins::Tokenize( tokens, argv[ i ], "@=" );
56 if( tokens.size( ) == 3 )
58 auto filter = workspace->GetFilter( tokens[ 1 ] );
61 auto params = filter->GetParameters( );
62 params->SetString( tokens[ 0 ], tokens[ 2 ], true );
71 workspace->PrintExecutionOn( );
74 workspace->Execute( );
76 catch( itk::ExceptionObject& err2 )
78 std::cerr << std::endl << "********************************" << std::endl;
79 std::cerr << "Error caught: " << err2 << std::endl;
80 std::cerr << "********************************" << std::endl;
83 catch( std::exception& err1 )
85 std::cerr << std::endl << "********************************" << std::endl;
86 std::cerr << "Error caught: " << err1.what( ) << std::endl;
87 std::cerr << "********************************" << std::endl;
92 std::cerr << std::endl << "********************************" << std::endl;
93 std::cerr << "Unknown error caught." << std::endl;
94 std::cerr << "********************************" << std::endl;