X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=appli%2Fexamples%2Fexample_View2DImage.cxx;h=be654b2217e23599f24766f5e7638361ba68739b;hb=7e29f3aec097ba1bff1894fed6eb1094276c5b72;hp=46775e2611f50882930eed19de61c30717a02c35;hpb=94151bbd3c88422c42b82776e2ea07eebea73907;p=cpPlugins.git diff --git a/appli/examples/example_View2DImage.cxx b/appli/examples/example_View2DImage.cxx index 46775e2..be654b2 100644 --- a/appli/examples/example_View2DImage.cxx +++ b/appli/examples/example_View2DImage.cxx @@ -1,25 +1,20 @@ #include #include #include +#include #include #include #include -#include -#include +#include #include #include // ------------------------------------------------------------------------- -typedef cpPlugins::Interface::Interface TInterface; -typedef cpPlugins::Interface::ProcessObject TProcessObject; -typedef cpPlugins::Interface::DataObject TDataObject; -typedef cpPlugins::Interface::Image TImage; -typedef cpPlugins::Interface::Parameters TParameters; -typedef TInterface::TClasses TClasses; - +typedef cpPlugins::Interface::Plugins TPlugins; +typedef cpPlugins::Interface::Image TImage; typedef cpExtensions::Visualization::ImageSliceActors TSliceActors; // ------------------------------------------------------------------------- @@ -35,43 +30,33 @@ int main( int argc, char* argv[] ) } // fi - // Create interface - TInterface plugins; - if( !plugins.Load( argv[ 1 ] ) ) + // Load plugins + cpPlugins::Interface::Plugins plugins; + if( !plugins.LoadPluginsPath( argv[ 1 ] ) ) { std::cerr << "Failed to load plugins." << std::endl; return( 1 ); } // fi - // Create objects - TProcessObject::Pointer reader; - reader = plugins.CreateProcessObject( "cpPlugins::IO::ImageReader" ); - if( reader.IsNull( ) ) - { - std::cerr - << "No suitable reader found in plugins." << std::endl - << "Reader: " << reader.GetPointer( ) << std::endl - << std::endl; - return( 1 ); - - } // fi - - // Configure reader - TParameters reader_params = reader->GetDefaultParameters( ); + // Associate filenames + std::vector< std::string > fnames; for( int i = 2; i < argc; ++i ) - reader_params.AddValueToStringList( "FileNames", argv[ i ] ); - reader->SetParameters( reader_params ); - - // Execute pipeline - std::string err = reader->Update( ); - if( err != "" ) + fnames.push_back( argv[ i ] ); + + // Read image + std::string name = ""; + try + { + name = plugins.ReadImage( fnames, "" ); + } + catch( std::exception& err ) { - std::cerr << "ERROR: " << err << std::endl; + std::cerr << err.what( ) << std::endl; return( 1 ); - } // fi - TImage* image = reader->GetOutput< TImage >( 0 ); + } // yrt + TImage* image = plugins.GetData< TImage >( name ); // Configure visualization objects vtkSmartPointer< vtkRenderer > renderer = @@ -86,15 +71,29 @@ int main( int argc, char* argv[] ) // Set up the interaction vtkSmartPointer< vtkRenderWindowInteractor > interactor = vtkSmartPointer< vtkRenderWindowInteractor >::New( ); - // interactor->SetInteractorStyle( style ); window->SetInteractor( interactor ); // Create slice actors vtkSmartPointer< TSliceActors > image_actors = vtkSmartPointer< TSliceActors >::New( ); - image_actors->AddInputData( image->GetVTK< vtkImageData >( ) ); + image_actors->SetInputImage( image->GetVTK< vtkImageData >( ) ); + image_actors->SetAxis( 2 ); image_actors->PushActorsInto( window ); + // Activate seed widget + if( argc == 4 ) + { + TSliceActors::TStyle* style = + dynamic_cast< TSliceActors::TStyle* >( image_actors->GetStyle( ) ); + if( style != NULL ) + { + if( std::string( argv[ 3 ] ) == std::string( "seed" ) ) + style->SeedWidgetOn( ); + + } // fi + + } // fi + // Begin interaction renderer->ResetCamera( ); window->Render( );