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.