5 #include <cpPlugins/Interface/Interface.h>
6 #include <cpPlugins/Interface/ProcessObject.h>
8 #include <cpPlugins/Interface/Image.h>
10 int main( int argc, char* argv[] )
15 << "Usage: " << argv[ 0 ]
17 << " input_image output_image" << std::endl;
23 typedef cpPlugins::Interface::Interface TInterface;
24 typedef TInterface::TClasses TClasses;
26 if( !plugins.Load( argv[ 1 ] ) )
28 std::cerr << "Failed to load plugins." << std::endl;
34 typedef cpPlugins::Interface::ProcessObject TProcessObject;
35 typedef cpPlugins::Interface::Parameters TParameters;
36 cpPlugins::Interface::ProcessObject::Pointer reader, writer;
37 reader = plugins.CreateProcessObject( "cpPlugins::ImageReader" );
38 if( reader.IsNull( ) )
40 std::cerr << "No suitable reader found in plugins." << std::endl;
44 writer = plugins.CreateProcessObject( "cpPlugins::ImageWriter" );
45 if( writer.IsNull( ) )
47 std::cerr << "No suitable writer found in plugins." << std::endl;
53 TParameters reader_params = reader->GetDefaultParameters( );
54 for( int i = 2; i < argc - 1; ++i )
55 reader_params.AddValueToStringList( "FileNames", argv[ i ] );
56 reader->SetParameters( reader_params );
59 TParameters writer_params = writer->GetDefaultParameters( );
60 writer_params.SetValueAsString( "FileName", argv[ argc - 1 ] );
61 writer->SetParameters( writer_params );
64 writer->SetInput( 0, reader->GetOutput( 0 ) );
67 std::string err = writer->Update( );
70 std::cerr << "ERROR: " << err << std::endl;
75 dynamic_cast< cpPlugins::Interface::Image* >( reader->GetOutput( 0 ) )->GetVTKImageData( )->Print( std::cout );