MCPcopy Create free account
hub / github.com/MITK/MITK / main

Function main

Examples/Tutorial/ITKAndVTK/mitkWithITKAndVTK.cpp:28–76  ·  view source on GitHub ↗

Small application for demonstrating the interaction between MITK, ITK and VTK (not necessarily useful).

Source from the content-addressed store, hash-verified

26/// ITK and VTK (not necessarily useful).
27///
28int main(int /*argc*/, char **argv)
29{
30 // MITK: Read a .nrrd file, e.g. Core/Code/Testing/Data/Pic3D.nrrd from
31 // disk
32 const char *filename = argv[1];
33
34 mitk::Image::Pointer mitkImage;
35 try
36 {
37 mitkImage = mitk::IOUtil::Load<mitk::Image>(filename);
38 }
39 catch (const std::exception &e)
40 {
41 MITK_WARN << "Could not open file " << filename;
42 return EXIT_FAILURE;
43 }
44
45 // ITK: Image smoothing
46 // Create ITK image, cast from MITK image
47 typedef itk::Image<short, 3> ImageType;
48 ImageType::Pointer itkImage = ImageType::New();
49 mitk::CastToItkImage(mitkImage, itkImage);
50
51 typedef itk::DiscreteGaussianImageFilter<ImageType, ImageType> FilterType;
52 FilterType::Pointer filter = FilterType::New();
53 filter->SetInput(itkImage);
54 filter->SetVariance(2);
55 filter->SetMaximumKernelWidth(5);
56
57 filter->Update(); // run filter
58
59 // reimport filtered image data
60 mitk::CastToMitkImage(filter->GetOutput(), mitkImage);
61
62 // VTK: Show result in renderwindow
63 vtkImageViewer *viewer = vtkImageViewer::New();
64 vtkRenderWindowInteractor *renderWindowInteractor = vtkRenderWindowInteractor::New();
65 viewer->SetupInteractor(renderWindowInteractor);
66 viewer->SetInputData(mitkImage->GetVtkImageData());
67 viewer->Render();
68 viewer->SetColorWindow(255);
69 viewer->SetColorLevel(128);
70 renderWindowInteractor->Start();
71
72 renderWindowInteractor->Delete();
73 viewer->Delete();
74
75 return EXIT_SUCCESS;
76}

Callers

nothing calls this directly

Calls 10

CastToMitkImageFunction · 0.85
SetupInteractorMethod · 0.80
NewFunction · 0.50
SetInputMethod · 0.45
UpdateMethod · 0.45
GetOutputMethod · 0.45
GetVtkImageDataMethod · 0.45
RenderMethod · 0.45
StartMethod · 0.45
DeleteMethod · 0.45

Tested by

no test coverage detected