3D Image Processing with MATLAB

3 things you need to know

What Is 3D Image Processing?

3D image processing is the visualization, processing, and analysis of 3D image data through geometric transformations, filtering, image segmentation, and other morphological operations.

3D image processing is commonly used in medical imaging to analyze DICOM or NIfTI images from radiographic sources like MRI or CT scans. You can also use 3D image processing techniques in microscopy to detect and analyze tissue samples or trace neurons. 

Medviso engineers use MATLAB to develop production cardiovascular analysis software for clinicians worldwide.

Beyond medical imaging, you can use 3D image processing techniques to process security scans of baggage or to analyze scans of materials to understand their structure. Other application areas include video activity recognition for consumer electronics or aerial surveillance for defense systems.

3D Image Processing Techniques

There are many techniques you can use when processing 3D image data. These techniques vary based on the tasks you’re trying to accomplish – including importing, visualizing, processing, and analyzing your data.

This diagram highlights key components of a 3D image processing workflow.

Image Import and Visualization

3D image data can come from a variety of devices and file formats. To effectively import and visualize 3D images, it is important to have access to the underlying data and metadata for the images.

You can visualize 3D images using a variety of methods depending on the details that you want to observe. In some applications, you may want to visualize the 3D data as a rendered volume.

Viewing a rendered volume of a 3D spiral. 

In other applications, you may want to see the 3D data as 2D planes within a three-dimensional coordinate system.

Viewing a 3D volume as 2D slices.

Image Filtering and Enhancement

3D images commonly contain unwanted noise that obscures or deemphasizes the features of the volumes that you are interested in. Applying image filters, normalizing image contrast, or performing morphological operations are common techniques for eliminating noise from 3D images.

Image Registration

When working with datasets of 3D images, the images are commonly taken from different devices, or while a device is moving, which can introduce misalignment through rotation, or skew and scaling differences. You can eliminate or reduce this misalignment using 3D geometric transformations and image registration techniques.

Registering multimodal medical images

Image Segmentation

When analyzing a volume or 3D image, you may want to isolate certain regions to perform calculations only on the area of interest. For example, if you want to calculate the volume of a bottle inside a box, you can use image segmentation to partition the 3D image between the bottle and the other structures in the box.

3D Image Processing with MATLAB

MATLAB provides interactive apps and functions to accelerate 3-D image processing workflows. Explore the following examples to learn more about using MATLAB for your 3D image processing tasks.

Importing 3D Image Data

With MATLAB, you can use interactive apps or built-in functions to import your 3D image data from a variety of file formats such as TIFF, DICOM, or NIfTI.

The DICOM Browser app allows you to explore collections of DICOM files.

Visualizing Volume Data

MATLAB lets you visualize and explore labeled or unlabeled 3D image data.

The Volume Viewer app lets you interact with and view 3D volumetric or labeled 3D volumetric data.   

Registering 3D Images from Different Modalities

MATLAB supports images from a variety of modalities and provides built-in image registration workflows to integrate them.

This example shows how you can automatically align two volumetric data sets using intensity-based registration. 

Image Filtering and Enhancement Operations

With MATLAB, you can reduce noise or enhance images using a variety of image filtering techniques like Gaussian filtering, box filtering, or image morphology.

This example shows how you can smooth MRI images of a human brain using 3D Gaussian filtering.

Segmenting Components of 3D Data

MATLAB provides interactive apps and built-in functions that help you automate 3D image segmentation routines.

This example shows how to perform a 3D segmentation using active contours (snakes). Interactively segment 2D slices of the volume using the Image Segmenter app to create a starting point for the active contour algorithm.

3D Image Processing Using Deep Learning

A deep learning approach to 3D image processing may involve using convolutional neural networks and semantic segmentation to automatically learn, detect, and label relevant features in 3D images.

This example shows how to use MATLAB to train a 3D U-Net network and perform semantic segmentation of brain tumors in 3D images.

This animation compares the tumor labeling for slices across the entire 3D volume.