EM Segment Simple
Module Type & Category
Authors, Collaborators & Contact
- Sebastien Barre: Kitware, Inc.
- Brad Davis: Kitware, Inc.
- Polina Golland: MIT
- Kilian Pohl: IBM
- Yumin Yuan: Kitware, Inc.
- Contact: Kilian Pohl, email@example.com
This module provide a simplified "one-click" GUI interface for the EMSegment Command-line Executable. The interface is simple because the number of required command-line parameters is minimized, and it is flexible because any EM algorithm parameter can be modified, within the MRML scene, via the EMSegment GUI interface.
Similar to the EMSegment Command-line Executable, once a set of parameters for segmentation algorithm is deemed satisfactory through the process of calibrating in the Template Builder module, the user will commonly want to bypass this detailed calibration process when segmenting new images. This module provides a simple interface to specify a small number of required command-line parameters --- a MRML scene (containing algorithm parameters), a target image (or multiple target images, e.g., T1 and T2), and an output labelmap image --- , and to allow any EM algorithm parameters to be modified, within the MRML scene, via the EMSegment GUI interface.
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.
Quick Tour of Features and Use
- Parameters panel:
- MRML Scene: Select the mrml scene for the tutorial parameter set
- Result Labelmap: Select a new image filename for output labelmap
- Target Volumes: Select input target volumes (Note: target volume order is important)
- Click `Apply’, wait (~30 minutes for full size images)
The module is implemented as a very simple programmatic Slicer3 module, whose purpose is to offer simple interface for segmenting new data with predefined parameter set. The module GUI interacts with the Logic classes, which are solely responsible for maintaining and accessing MRML nodes. The Logic class provides APIs 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:
Follow this link to the Slicer3 bug tracker.
The EMSegmenter 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 to the module's source code:
Links for the module.
For more information about the EM Segmenter project in Slicer3 see the EMSegment Wiki page here
The old EMSegmenter FAQ contains frequently asked questions about the EMSegment interfaces in Slicer3.
Funding for the EMSegmenter module was provided by NAMIC.
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]