Difference between revisions of "Modules:EMSegment-Simple-3.4"

From Slicer Wiki
Jump to: navigation, search
Line 12: Line 12:
 
===Module Type & Category===
 
===Module Type & Category===
  
Type: Interactive or CLI
+
Type: CLI
  
Category: Base or (Filtering, Registration, ''etc.'')
+
Category: Segmentation
  
 
===Authors, Collaborators & Contact===
 
===Authors, Collaborators & Contact===
* Author1: Affiliation & logo, if desired
+
* Kilian Pohl: Harvard/BWH
* Contributor1: Affiliation & logo, if desired
+
* Brad Davis: Kitware, Inc.
* Contributor2: Affiliation & logo, if desired
+
* Sebastien Barre: Kitware, Inc.
* Contact: name, email
+
* Yumin Yuan: Kitware, Inc.
 +
* Polina Golland: MIT
 +
* Contact: Brad Davis, brad.davis@kitware.com
  
 
===Module Description===
 
===Module Description===
Overview of what the module does goes here.
+
This module provide a simple and flexible parameters interface for the '''EMSegment Command-line Executable'''. The interface is simple because the number of 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.
  
 
== Usage ==
 
== Usage ==
 +
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.
  
 
===Examples, Use Cases & Tutorials===
 
===Examples, Use Cases & Tutorials===
Line 42: Line 45:
  
 
== Development ==
 
== Development ==
 +
The overall design of the EMSegmenter module is described in [[Media:EMSegTutorial-AHM2008.ppt | these 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.
  
 
===Dependencies===
 
===Dependencies===
  
Other modules or packages that are required for this module's use.
+
Slicer base modules.
  
 
===Known bugs===
 
===Known bugs===
Line 52: Line 65:
  
  
 +
===Usability issues===
  
===Usability issues===
+
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 [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.
 
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.
 +
 +
*2008: Working on a single channel T1 version of the parameter set. See [[media:EM-T1.zip|'''here''']] for the Data and such (20meg).
  
 
===Source code & documentation===
 
===Source code & documentation===
  
Customize following [http://viewvc.slicer.org/viewcvs.cgi/ links] for your module.
 
  
[http://www.na-mic.org/Slicer/Documentation/Slicer3/html/ Links] to documentation generated by doxygen.
+
[http://www.na-mic.org/ViewVC/index.cgi/trunk/Modules/EMSegment/ Links] for the module.
 +
*[http://www.na-mic.org/ViewVC/index.cgi/trunk/Modules/EMSegment/ View EMSegmenter Code]
 +
*API: [http://www.na-mic.org/Slicer/Documentation/Slicer3/html/classvtkEMSegmentMRMLManager.html MRML Manager] | [http://www.na-mic.org/Slicer/Documentation/Slicer3/html/classvtkEMSegmentLogic.html Module Logic] | [http://www.na-mic.org/Slicer/Documentation/Slicer3/html/classvtkEMSegmentGUI.html Module GUI]
  
  
 
== More Information ==  
 
== More Information ==  
 +
The [[Modules:EM-Segmenter-Documentation-3.2:FAQ |EMSegmenter FAQ]] contains frequently asked questions about the EMSegment interfaces in Slicer3.
 +
 +
For more information about the EM Segmenter project in Slicer3 [[Slicer3:EM|see the old EMSegment Wiki page here]]
  
 
===Acknowledgment===
 
===Acknowledgment===
Include funding and other support here.
+
Funding for the EMSegmenter module was provided by NAMIC.
  
 
===References===
 
===References===
Publications related to this module go here. Links to pdfs would be useful.
+
 
 +
Pohl K, Bouix S, Nakamura M, Rohlfing T, McCarley R, Kikinis R, Grimson W, Shenton M, Wells W. [http://www.slicer.org/pages/Special:PubDB_View?dspaceid=608 A Hierarchical Algorithm for MR Brain Image Parcellation.] IEEE Transactions on Medical Imaging. 2007 Sept;26(9):1201-1212.
 +
[[http://people.csail.mit.edu/pohl/publications/journal-citation-bib.html#pohl07_3 bib]]

Revision as of 14:27, 17 March 2009

Home < Modules:EMSegment-Simple-3.4

Return to Slicer 3.4 Documentation

Module Name

EM Segment Simple

Caption 1
Caption 2
Caption 3

General Information

Module Type & Category

Type: CLI

Category: Segmentation

Authors, Collaborators & Contact

  • Kilian Pohl: Harvard/BWH
  • Brad Davis: Kitware, Inc.
  • Sebastien Barre: Kitware, Inc.
  • Yumin Yuan: Kitware, Inc.
  • Polina Golland: MIT
  • Contact: Brad Davis, brad.davis@kitware.com

Module Description

This module provide a simple and flexible parameters interface for the EMSegment Command-line Executable. The interface is simple because the number of 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.

Usage

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.

Examples, Use Cases & Tutorials

  • Note use cases for which this module is especially appropriate, and/or link to examples.
  • Link to examples of the module's use
  • Link to any existing tutorials

Quick Tour of Features and Use

List all the panels in your interface, their features, what they mean, and how to use them. For instance:

  • Input panel:
  • Parameters panel:
  • Output panel:
  • Viewing panel:

Development

The overall design of the EMSegmenter module is described in these 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.

Dependencies

Slicer base modules.

Known bugs

Follow this link to the Slicer3 bug tracker.


Usability issues

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.

  • 2008: Working on a single channel T1 version of the parameter set. See here for the Data and such (20meg).

Source code & documentation

Links for the module.


More Information

The EMSegmenter FAQ contains frequently asked questions about the EMSegment interfaces in Slicer3.

For more information about the EM Segmenter project in Slicer3 see the old EMSegment Wiki page here

Acknowledgment

Funding for the EMSegmenter module was provided by NAMIC.

References

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]