MRI Analysis Suite

After taking a course in biomedical signal and image processing, I took a strong interest in MRI and CT analysis techniques. As part of independent research, I have taken on an interesting project: designing an entire MRI analysis suite. Most of the project is done in MATLAB, but as development continues, I may consider rewriting it in another language so that I can distribute the binary for anyone to use.

So far, this program imports a MAYO 7.5 HDR file, and allows for several common image processing operations to be applied to it, including:

  • Filtering (eg: blurring, median, mode, mean, sharpening)
  • 3D edge detection via a 3D Sobel algorithm
  • 3d flood fill operations (this was an undertaking on its own; basic stack-based and recursion-based algorithms take minutes, even hours, on large MRI data sets; I successfully designed a fast, queue-based, algorithm that is essentially a 3D extension of the classic scanline flood fill algorithm)
  • Segmentation (via a Fuzzy C-means algorithm I designed)
  • Gamma correction
  • Noise removal (salt & pepper, Gaussian noise)
  • Statistical analysis (ie: calculating the volumes of cerebrospinal fluid, white matter, gray matter, and extracranial voxels in MRI data)

What really made this project intesting is the specialized features I’ve added. The most recent one detects the ventricles of the brain via a statistical method and an arbitrary shape detection algorithm, providing two ways to ensure accurate results. It can separate them from the rest of the brain, along with other major portions of the brain.

To make things even more interesting, the primary axis of any portion of the brain can be generated and displayed as a 3D vector. This is from a PCA algorithm I designed to allow for the brain to be oriented in RPI format.

I will continue developing and optimizing this collection of MRI analysis tools. I amy even release the source for them in the coming months too.

Some samples of the program in action are shown below.

Brain + Ventricles + PCA 3

Red - Brain Tissue; Blue/Green - Ventricles; Black - PCA/Primary-Axis Vectors

The brain (translucent, red) with the ventricles of the brain in blue.

The brain (translucent, red) with the ventricles of the brain in blue.

Ventricles and Primary Axis Vectors

Ventricles and Primary Axis Vectors