]> Creatis software - cpPlugins.git/blobdiff - appli/examples/example_View2DImage.cxx
Binary image visualization improved.
[cpPlugins.git] / appli / examples / example_View2DImage.cxx
index 66eaf29dda50e00d8d458cf3ed440695356fa921..fcf13147f275f9674fd0025545314f9cf31a909f 100644 (file)
@@ -29,7 +29,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 );
 
@@ -58,10 +58,14 @@ int main( int argc, char* argv[] )
   } // fi
 
   // Configure reader
-  TParameters reader_params = reader->GetDefaultParameters( );
-  for( int i = 2; i < argc; ++i )
-    reader_params.AddValueToStringList( "FileNames", argv[ i ] );
-  reader->SetParameters( reader_params );
+  TParameters* reader_params = reader->GetParameters( );
+  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( );
@@ -71,7 +75,7 @@ int main( int argc, char* argv[] )
     return( 1 );
 
   } // fi
-  TImage* image = reader->GetOutput< TImage >( 0 );
+  TImage* image = reader->GetOutput< TImage >( "Output" );
 
   // Configure visualization objects
   vtkSmartPointer< vtkRenderer > renderer =
@@ -83,26 +87,34 @@ int main( int argc, char* argv[] )
   window->AddRenderer( renderer );
   window->SetSize( 600, 600 );
 
-  // Set up interaction style
-  /*
-    vtkSmartPointer< example_BaseInteractorStyle > style =
-    vtkSmartPointer< example_BaseInteractorStyle >::New( );
-  */
-
   // 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->PushActorsInto( renderer );
-  interactor->SetInteractorStyle( image_actors->GetStyle( ) );
+  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
+  image_actors->ResetCamera( );
   window->Render( );
   interactor->Start( );