From Slicer Wiki
Revision as of 23:08, 15 April 2010 by Pohl (talk | contribs) (Created page with 'Return to Slicer 3.6 Documentation Gallery of New Features __NOTOC__ ===Module Name=== MyModule {| |[[Image:Rannou…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Home < Modules:EMSegmenter-3.6

Return to Slicer 3.6 Documentation

Gallery of New Features

Module Name


EM Segment Pipeline

General Information

Module Type & Category

Type: Interactive

Category: Segmentation

Authors, Collaborators & Contact

  • Brad Davis, Kitware
  • Sylvain Jaume: MIT
  • Kilian Pohl: IBM
  • Nicolas Rannou: Harvard Medical School
  • Contact: Kilian Pohl <>

Module Description

This module is designed for users who performs tissue classification (aka image parcelation) for volumetric medical images. This module has been tested on brain MRI images. Familiarity with statistical modeling may help but is not required. It allows the user to configure the algorithm---step-by-step---to a variety of imaging protocols and anatomical structures, and then apply the algorithm to segment data. Configuration settings are stored in an EMSegment parameters node in the Slicer3 MRML tree. These settings can be saved and later applied to new data via any of the EMSegment interfaces within Slicer3 or the command-line EMSegment executable.

The EMSegment in Slicer 3.6 has been improved to allow for visual feedback of parameter selection. The main features that have been added in Slicer 3.6 include:

  • Visualization of the image histogram for intensity normalization

The gaussian visualization enables an intuitive interpretation of the data and an efficient selection of parameters. The normalization parameter values for the atlas are computed based on the user selection.

EMSegment intensity normalization

The sample selection through the Editor module allows for an rapid selection of a high number of samples as well as the visualization of the selected points (previously the points were not displayed). Thanks to the integration of the sample selection with the Editor module, a pre-existing label map can be used and refined using the EMSegment module.

  • Visualization of 2D Gaussian models for image intensity distributions

The image intensities for every class are modeled by a gaussian distribution.

EMSegment image intensity modeling as 2D gaussian distributions
  • Visualization of the global prior parameter value in the image histogram

The global prior parameter can be selected interactively by moving a vertical cursor in the image intensity histogram.

EMSegment visualization of the global prior parameter value


The purpose of the module is to configure the algorithm to automatically segment anatomical structures in medical images. First the user has to specify parameters defining the image protocol and the anatomical structures of interests. This process results in a template that the module uses to automatically segment large data sets. The template is composed of atlas data and a non-trivial collection of parameters for the EMSegment algorithm.

Once the parameters are specified, the target images are segmented using the EM Segmentation algorithm (Pohl et al. TMI 2007). If the results are satisfactory, the template is saved and can be used later to segment new images (via the GUI or batch processing). If the results are unsatisfactory, the parameters can be modified and the segmentation re-run.

One important aspect of the project is the workflow wizard. This wizard simplifies the module by dividing the complicated template specification task into a number of smaller, intuitive steps.

Use Cases, Examples & Tutorials

  • A full Tutorial for all three EMSegment modules

These slides and data describe the Slicer3 implementation of all three EMSegment modules and demonstrate their use. A recent (later than 7Jan08) version of Slicer3 is required to run the test data.

Tutorial Slides - Tutorial Data

  • Another detailed training tutorial on EM Segment algorithm and Slicer3 EMSegment Template Builder module

Tutorial Slides - Training Data

Quick Tour of Features and Use

There is a step-by-step instruction with screen shots to describe the Workflow Wizard interface. Here is the brief version of the steps in the wizard:

  • 1/9 Define Parameters Set: Select parameter set or create new parameters
  • 2/9 Define Hierarchy: Define a hierarchy of anatomical structures
  • 3/9 Assign Atlas: Assign atlases for anatomical structures
  • 4/9 Select Target Images: Choose the set of images that will be segmented
  • 5/9 Intensity Normalization: Normalize target images
  • 6/9 Specify Intensity Distributions: Define intensity distribution for each anatomical structure
  • 7/9 Edit Node-based Parameters: Specify node-based segmentation parameters
  • 8/9 Edit Registration Parameters: Specify atlas-to-target registration parameters
  • 9/9 Run Segmentation: Save work and apply EM Algorithm to segment target images


The overall design of the EMSegment module is described in the AHM2008 slides.

The module is implemented as a programmatic Slicer3 module because it requires a large degree of interaction with the user, the data stored in the MRML tree, and the Slicer3 GUI itself. Because the MRML node structure is rather complicated (for example the anatomical tissue hierarchy and a large number of interdependent nodes) the Logic class is solely responsible for maintaining and accessing these nodes. The Logic class provides an API that the GUI code uses to access and modify data. The Logic class also wraps the algorithm code itself.

Notes from the Developer(s)



Slicer3 base modules.


On the Dashboard, these tests verify that the module is working on various platforms:

Known bugs

Links to known bugs in the Slicer3 bug tracker

Usability issues

The EMSegment can be adapted to many segmentation problems. However, there is no "default" set of parameters that will work for all segmentation problems.

  • Atlas-to-target registration and intensity normalization are very important; it will be most effective to apply these steps using algorithms that are customized to your data. Defaults are provided but they may perform poorly for your data---this will lead to poor segmentation results.

Follow this link to the Slicer3 bug tracker. Please select the usability issue category when browsing or contributing.

Source code & documentation

Links for the module.

Doxygen documentation:

More Information


We thank Andriy Fedorov and Alexander Zaitsev for pointing to and fixing issues in the early development. Funding for the EMSegment module was provided by NA-MIC and NAC (PI: Ron Kikinis).


Pohl K, Bouix S, Nakamura M, Rohlfing T, McCarley R, Kikinis R, Grimson W, Shenton M, Wells W. A Hierarchical Algorithm for MR Brain Image Parcellation. IEEE Transactions on Medical Imaging. 2007 Sept;26(9):1201-1212.

[bib] Rannou N, Jaume S, Pieper S, Kikinis R, New Expectation Maximization Segmentation Pipeline in Slicer 3 Insight Journal 2009 [1]