Skip to content

Instantly share code, notes, and snippets.

@arnaudgelas
Created May 27, 2015 06:24
Show Gist options
  • Save arnaudgelas/c0a9449d76b8ef199472 to your computer and use it in GitHub Desktop.
Save arnaudgelas/c0a9449d76b8ef199472 to your computer and use it in GitHub Desktop.
vtkResliceImageViewer vs vtkImageViewer2
project( viewer )
cmake_minimum_required( VERSION 2.8 )
find_package( VTK REQUIRED )
include( ${VTK_USE_FILE} )
add_executable( viewer MACOSX_BUNDLE viewer.cxx )
target_link_libraries( viewer ${VTK_LIBRARIES} )
#include <vtkImageData.h>
#include <vtkMetaImageReader.h>
#include <vtkResliceImageViewer.h>
#include <vtkImageViewer2.h>
#include <vtkRenderer.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkSmartPointer.h>
int main( int argc, char* argv[] )
{
if( argc != 4 )
{
std::cerr << "Usage:" << std::endl;
std::cerr << argv[0] << " <filename> <orientation (0,1,2)> <reslice viewer (0 or 1)>" << std::endl;
return EXIT_FAILURE;
}
vtkSmartPointer<vtkMetaImageReader> reader = vtkSmartPointer<vtkMetaImageReader>::New();
reader->SetFileName( argv[1] );
reader->Update();
vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor = vtkSmartPointer<vtkRenderWindowInteractor>::New();
if( atoi( argv[3] ) != 0 )
{
vtkSmartPointer< vtkResliceImageViewer > imageViewer = vtkSmartPointer< vtkResliceImageViewer >::New();
imageViewer->SetInputData( reader->GetOutput() );
imageViewer->SetSliceOrientation( atoi( argv[2] ) );
imageViewer->SetupInteractor(renderWindowInteractor);
imageViewer->Render();
imageViewer->GetRenderer()->ResetCamera();
imageViewer->Render();
}
else
{
vtkSmartPointer< vtkImageViewer2 > imageViewer = vtkSmartPointer< vtkImageViewer2 >::New();
imageViewer->SetInputData( reader->GetOutput() );
imageViewer->SetSliceOrientation( atoi( argv[2] ) );
imageViewer->SetupInteractor(renderWindowInteractor);
imageViewer->Render();
imageViewer->GetRenderer()->ResetCamera();
imageViewer->Render();
}
renderWindowInteractor->Start();
return EXIT_SUCCESS;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment