]> Creatis software - cpPlugins.git/blob - tools/RenameImageFile.cxx
yet another refactoring
[cpPlugins.git] / tools / RenameImageFile.cxx
1 #include <iostream>
2 #include <cpPlugins/Interface/Loader.h>
3
4 int main( int argc, char* argv[] )
5 {
6   if( argc < 2 )
7   {
8     std::cerr
9       << "Usage: " << argv[ 0 ]
10       << " input_file(s) output_file" << std::endl;
11     return( 1 );
12
13   } // fi
14
15   // Get plugins loader
16   cpPlugins::Interface::Loader loader;
17   try
18   {
19     loader.RegisterFromDirectory( "." );
20   }
21   catch( std::exception& err )
22   {
23     std::cerr << "Error caught: " << err.what( ) << std::endl;
24     return( 1 );
25
26   } // yrt
27
28   // Try to get any errors
29   try
30   {
31     // Create filters
32     auto reader = loader.CreateFilter( "IO", "ImageReader", "reader" );
33     auto writer = loader.CreateFilter( "IO", "ImageWriter", "writer" );
34
35     // Configure parameters
36     auto reader_params = reader->GetParameters( );
37     auto writer_params = writer->GetParameters( );
38     for( int i = 1; i < argc - 1; ++i )
39       reader_params->AddToOpenFileNameList( "FileNames", argv[ i ] );
40     writer_params->SetSaveFileName( "FileName", argv[ argc - 1 ] );
41
42     // Connect filters
43     writer->SetInput( "Input", reader->GetOutput( "Output" ) );
44
45     // Execute
46     reader->PrintExecutionOn( );
47     writer->PrintExecutionOn( );
48     writer->Update( );
49   }
50   catch( std::exception& err )
51   {
52     std::cerr << "Error caught: " << err.what( ) << std::endl;
53     return( 1 );
54
55   } // yrt
56
57   // Close connection to loaded plugins file
58   loader.UnRegisterAll( );
59   return( 0 );
60 }
61
62 // eof - $RCSfile$