Image Processing

Chapter IV: Image Processing

Image Processing in MeVisLab

Digital image processing is the use of a digital computer to process digital images through an algorithm (see Wikipedia).

MeVisLab provides multiple modules for image processing tasks, such as:

  • Filters
  • Masks
  • Transformations
  • Arithmetics
  • Statistics

For details about Image Processing in MeVisLab, see the MeVisLab Documentation

In this chapter, you will find some examples for different types of image processing in MeVisLab.

Example 1: Arithmetic operations on two images

Example 1: Arithmetic operations on two images

Introduction

We are using the Arithmetic2 module to apply basic scalar functions on two images. The module provides 2 inputs for images and 1 output image for the result.

Steps to do

Develop your network

Add two LocalImage modules to your workspace for the input images. Select $(DemoDataPath)/BrainMultiModal/ProbandT1.dcm and $(DemoDataPath)/BrainMultiModal/ProbandT2.dcm from MeVisLab demo data and add a SynchroView2D to your network.

Example 2: Masking images

Example 2: Masking images

Introduction

The background of medical images is black for most cases. In case an image is inverted or window/level values are adapted, these black pixels outside clinical relevant pixels might become very bright or even white.

Being in a dark room using a large screen, the user might be blended by these large white regions.

Image masking is a very good way to select a defined region where image processing shall be applied. A mask allows to define a region (the masked region) to allow image modifications whereas pixels outside the mask remain unchanged.

Example 3: Region Growing

Example 3: Region Growing

Introduction

A very simple approach to segment parts of an image is the region growing method. A general explanation can be found here.

In this example, you will segment the brain of an image and show the segmentation results as an overlay on the original image.

Steps to do

Develop your network

Add a LocalImage module to your workspace and select load $(DemoDataPath)/BrainMultiModal/ProbandT1.dcm. Add a View2D module and connect both as seen below.

Example 4: Subtract 3D objects

Example 4: Subtract 3D objects

Introduction

In this example, we load an image and render it as WEMIsoSurface. Then we create a 3-dimensional SoSphere and subtract the sphere from the initial WEM.

Steps to do

Develop your network

Add a LocalImage module to your workspace and select load $(DemoDataPath)/BrainMultiModal/ProbandT1.dcm. Add a WEMIsoSurface, a SoWEMRenderer, a SoBackground and a SoExaminerViewer module and connect them as seen below. Make sure to configure the WEMIsoSurface to use a Iso Min. Value of 420 and a Voxel Sampling 1.

Example 5: Clip Planes

Example 5: Clip Planes

Introduction

In this example, we are using the SoGVRDrawOnPlane module to define the currently visible slice from a 2D view as a clip plane in 3D.

Steps to do

Develop your network

First we need to develop the network to scroll through the slices. Add a LocalImage module to your workspace and select the file ProbandT1 from MeVisLab demo data.