#include <itkImage.h>
#include <itkDiscreteGaussianImageFilter.h>
#include <itksys/SystemTools.hxx>
#include <mitkPicFileReader.h>
#include <mitkStandaloneDataStorage.h>
#include <mitkImageAccessByItk.h>
#include <vtkImageViewer.h>
#include <vtkRenderWindowInteractor.h>
Go to the source code of this file.
Functions | |
int | main (int, char **argv) |
int main | ( | int | , |
char ** | argv | ||
) |
Small application for demonstrating the interaction between MITK, ITK and VTK (not necessarily useful).
Definition at line 16 of file mitkWithITKAndVTK.cpp.
References mitk::CastToItkImage(), mitk::CastToMitkImage(), EXIT_FAILURE, EXIT_SUCCESS, and mitk::PicFileReader::New().
{ // MITK: Read a .pic.gz file, e.g. Core/Code/Testing/Data/Pic3D.pic.gz from // disk mitk::PicFileReader::Pointer reader = mitk::PicFileReader::New(); const char * filename = argv[1]; try { reader->SetFileName(filename); reader->Update(); } catch(...) { fprintf( stderr, "Could not open file %s \n\n", filename ); return EXIT_FAILURE; } mitk::Image::Pointer mitkImage = reader->GetOutput(); // ITK: Image smoothing // Create ITK image, cast from MITK image typedef itk::Image< short , 3 > ImageType; ImageType::Pointer itkImage = ImageType::New(); mitk::CastToItkImage( mitkImage, itkImage ); typedef itk::DiscreteGaussianImageFilter<ImageType, ImageType > FilterType; FilterType::Pointer filter = FilterType::New(); filter->SetInput( itkImage ); filter->SetVariance( 2 ); filter->SetMaximumKernelWidth( 5 ); filter->Update(); // run filter // reimport filtered image data mitk::CastToMitkImage( filter->GetOutput(), mitkImage ); // VTK: Show result in renderwindow vtkImageViewer *viewer=vtkImageViewer::New(); vtkRenderWindowInteractor* renderWindowInteractor =vtkRenderWindowInteractor ::New(); viewer->SetupInteractor(renderWindowInteractor); viewer->SetInput(mitkImage->GetVtkImageData()); viewer->Render(); viewer->SetColorWindow(255); viewer->SetColorLevel(128); renderWindowInteractor->Start(); renderWindowInteractor->Delete(); viewer->Delete(); return EXIT_SUCCESS; }