#include #include int main( int argc, char* argv[] ) { // Manage inputs if( argc < 3 ) { std::cerr << "Usage: " << argv[ 0 ] << " image_file(s) output_file" << std::endl; return( 1 ); } // fi // Create interface and load library cpPlugins::Interface::Plugins::Pointer interface = cpPlugins::Interface::Plugins::New( ); try { interface->LoadEnvironments( ); interface->GuessPlugins( ); } catch( std::exception& err ) { std::cerr << "Error caught: " << err.what( ) << std::endl; return( 1 ); } // yrt // Create filters auto reader = interface->CreateProcessObject( "IO", "ImageReader" ); auto writer = interface->CreateProcessObject( "IO", "ImageWriter" ); if( reader.IsNull( ) ) { std::cerr << "Error caugh: Could not create a valid image reader." << std::endl; return( 1 ); } // fi if( writer.IsNull( ) ) { std::cerr << "Error caugh: Could not create a valid image writer." << std::endl; return( 1 ); } // fi // Configure reader reader->PrintExecutionOn( ); auto parameters = reader->GetParameters( ); for( int i = 1; i < argc - 1; ++i ) parameters->AddToOpenFileNameList( "FileNames", argv[ i ] ); // Configure writer writer->PrintExecutionOn( ); parameters = writer->GetParameters( ); parameters->SetSaveFileName( "FileName", argv[ argc - 1 ] ); // Connect filters writer->SetInput( "Input", reader->GetOutput( "Output" ) ); // Execute reader try { writer->Update( ); } catch( std::exception& err ) { std::cerr << "Error caugth: " << err.what( ) << std::endl; return( 1 ); } // yrt // Finish return( 0 ); } // eof - $RCSfile$