#include #include #include #include #include #include #include #include int main( int argc, char* argv[] ) { if( argc < 2 ) { std::cerr << "Usage: " << argv[ 0 ] << " input_image(s)" << std::endl; return( 1 ); } // fi // Load interface cpPlugins::Interface interface; interface.GuessAccesiblePlugins( ); // Create filters cpPlugins::ProcessObject::Pointer reader; try { reader = interface.Create( "IO", "ImageReader" ); if( reader.IsNull( ) ) { std::cerr << "\"IO::ImageReader\" creation failed." << std::endl; return( 1 ); } // fi // Configure filters auto reader_params = reader->GetParameters( ); for( int i = 1; i < argc; ++i ) reader_params->AddToOpenFileNameList( "FileNames", argv[ i ] ); reader->Update( ); } catch( itk::ExceptionObject& err1 ) { std::cerr << "Error: " << err1.GetDescription( ) << std::endl; return( 1 ); } catch( std::exception& err2 ) { std::cerr << "Error: " << err2.what( ) << std::endl; return( 1 ); } // yrt // Prepate slice objects vtkSmartPointer< cpExtensions::Visualization::ImageSliceActors > actors = vtkSmartPointer< cpExtensions::Visualization::ImageSliceActors >::New( ); actors->SetInputData( reader->GetOutputData< vtkImageData >( "Output" ), 2 ); // Prepare scene vtkSmartPointer< vtkRenderer > ren = vtkSmartPointer< vtkRenderer >::New( ); ren->SetBackground( 0, 0, 0 ); actors->PushInto( ren ); vtkSmartPointer< vtkRenderWindow > win = vtkSmartPointer< vtkRenderWindow >::New( ); win->AddRenderer( ren ); win->SetSize( 500, 500 ); vtkSmartPointer< vtkRenderWindowInteractor > iren = vtkSmartPointer< vtkRenderWindowInteractor >::New( ); iren->SetRenderWindow( win ); iren->SetInteractorStyle( actors->GetStyle( ) ); iren->Initialize( ); ren->Render( ); ren->ResetCamera( ); iren->Start( ); // Ok finish return( 0 ); } // eof - $RCSfile$