X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=appli%2Fexamples%2Fexample_View2DImage.cxx;h=ea0554da0e5c7a78216565bd1a1851a6228f09ef;hb=700a810d574b8ed4c0227a1c3fd4862f01254d03;hp=cc8a3e6e1eb61869ef1ab76e7177a292f3fd92f9;hpb=326eb23859accf9fb1327966eba4dba475b4616f;p=cpPlugins.git diff --git a/appli/examples/example_View2DImage.cxx b/appli/examples/example_View2DImage.cxx index cc8a3e6..ea0554d 100644 --- a/appli/examples/example_View2DImage.cxx +++ b/appli/examples/example_View2DImage.cxx @@ -12,6 +12,11 @@ #include + +#include +#include + + // ------------------------------------------------------------------------- typedef cpPlugins::Interface::Interface TInterface; typedef cpPlugins::Interface::ProcessObject TProcessObject; @@ -29,7 +34,7 @@ int main( int argc, char* argv[] ) { std::cerr << "Usage: " << argv[ 0 ] - << " plugins_file input_image" + << " plugins_file input_image [widget]" << std::endl; return( 1 ); @@ -59,8 +64,13 @@ int main( int argc, char* argv[] ) // Configure reader TParameters* reader_params = reader->GetParameters( ); - for( int i = 2; i < argc; ++i ) - reader_params->AddToStringList( "FileNames", argv[ i ] ); + if( argc > 4 ) + { + for( int i = 2; i < argc; ++i ) + reader_params->AddToStringList( "FileNames", argv[ i ] ); + } + else + reader_params->AddToStringList( "FileNames", argv[ 2 ] ); // Execute pipeline std::string err = reader->Update( ); @@ -93,14 +103,48 @@ int main( int argc, char* argv[] ) image_actors->AddInputData( image->GetVTK< vtkImageData >( ), 2 ); image_actors->PushActorsInto( window ); + + + + + vtkImageData* vimage = image->GetVTK< vtkImageData >( ); + double range[ 2 ]; + vimage->GetScalarRange( range ); + + vtkSmartPointer< cpExtensions::Visualization::ImageBlender > blender = + vtkSmartPointer< cpExtensions::Visualization::ImageBlender >::New( ); + blender->AddInputData( vimage ); + blender->SetWindow( range[ 1 ] - range[ 0 ] ); + blender->SetLevel( ( range[ 1 ] + range[ 0 ] ) / double( 2 ) ); + blender->Update( ); + + std::cout << blender->GetWindow( ) << " " << blender->GetLevel( ) << std::endl; + + vtkSmartPointer< vtkPNGWriter > writer = + vtkSmartPointer< vtkPNGWriter >::New( ); + writer->SetInputConnection( blender->GetOutputPort( ) ); + writer->SetFileName( "leo_actor.png" ); + writer->Write( ); + + return( 0 ); + + // Activate seed widget - TSliceActors::TStyle* style = - dynamic_cast< TSliceActors::TStyle* >( image_actors->GetStyle( ) ); - if( style != NULL ) - style->SeedWidgetOn( ); + 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( ); + image_actors->ResetCamera( ); window->Render( ); interactor->Start( );