X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=appli%2Fexamples%2Fexample_ReadImageSeriesWriteImage.cxx;h=6446d78def2f8ebf63c45ec84703aff15e257d30;hb=4fa665c644376beb7fb88980742222a2462bced8;hp=cab163c43a0f1d05844919e940e77caf9279aded;hpb=61e052afc5b659224bbc85b7d15b93402ea7d5a7;p=cpPlugins.git diff --git a/appli/examples/example_ReadImageSeriesWriteImage.cxx b/appli/examples/example_ReadImageSeriesWriteImage.cxx index cab163c..6446d78 100644 --- a/appli/examples/example_ReadImageSeriesWriteImage.cxx +++ b/appli/examples/example_ReadImageSeriesWriteImage.cxx @@ -1,6 +1,5 @@ #include #include -#include #include #include @@ -20,14 +19,10 @@ int main( int argc, char* argv[] ) } // fi std::string plugins_file = argv[ 1 ]; std::string output_image_file = argv[ 2 ]; - std::string dimensions = argv[ 3 ]; + unsigned int dimensions = std::atoi( argv[ 3 ] ); std::string pixel_type = argv[ 4 ]; bool is_color = ( std::atoi( argv[ 5 ] ) == 1 ); - std::stringstream input_image_files; - for( int i = 6; i < argc; ++i ) - input_image_files << argv[ i ] << ";"; - // Create interface typedef cpPlugins::Interface::Interface TInterface; typedef TInterface::TClasses TClasses; @@ -37,27 +32,21 @@ int main( int argc, char* argv[] ) // Create objects typedef cpPlugins::Interface::ProcessObject TProcessObject; - typedef TProcessObject::TParameters TParameters; - cpPlugins::Interface::ProcessObject* reader; - cpPlugins::Interface::ProcessObject* writer; + typedef cpPlugins::Interface::Parameters TParameters; + cpPlugins::Interface::ProcessObject::Pointer reader; + cpPlugins::Interface::ProcessObject::Pointer writer; reader = - dynamic_cast< TProcessObject* >( - plugins.CreateObject( "cpPlugins::Plugins::ImageSeriesReader" ) - ); - if( reader == NULL ) + plugins.CreateProcessObject( "cpPlugins::Plugins::ImageReader" ); + if( reader.IsNull( ) ) { std::cerr << "No suitable reader found in plugins." << std::endl; return( 1 ); } // fi - writer = - dynamic_cast< TProcessObject* >( - plugins.CreateObject( "cpPlugins::Plugins::ImageWriter" ) - ); - if( writer == NULL ) + writer = plugins.CreateProcessObject( "cpPlugins::Plugins::ImageWriter" ); + if( writer.IsNull( ) ) { - delete reader; std::cerr << "No suitable writer found in plugins." << std::endl; return( 1 ); @@ -65,15 +54,16 @@ int main( int argc, char* argv[] ) // Configure reader TParameters reader_params = reader->GetDefaultParameters( ); - reader_params[ "FileNames" ].second = input_image_files.str( ); - reader_params[ "PixelType" ].second = pixel_type; - reader_params[ "ImageDimension" ].second = dimensions; - reader_params[ "IsColorImage" ].second = ( is_color )? "1": "0"; + for( int i = 6; i < argc; ++i ) + reader_params.AddValueToStringList( "FileNames", argv[ i ] ); + reader_params.SetValueAsString( "PixelType", pixel_type ); + reader_params.SetValueAsUint( "ImageDimension", dimensions ); + reader_params.SetValueAsUint( "IsColorImage", ( is_color? 1: 0 ) ); reader->SetParameters( reader_params ); // Configure reader TParameters writer_params = writer->GetDefaultParameters( ); - writer_params[ "FileName" ].second = output_image_file; + writer_params.SetValueAsString( "FileName", output_image_file ); writer->SetParameters( writer_params ); // Connect pipeline @@ -84,10 +74,6 @@ int main( int argc, char* argv[] ) if( msg != "" ) std::cerr << "ERROR: " << msg << std::endl; - // Free memory - delete writer; - delete reader; - return( 0 ); }