2011 Summer Project Week EMSegmentation in 3D Slicer4

From NAMIC Wiki
Revision as of 17:45, 10 July 2017 by Grundlett (talk | contribs) (Text replacement - "http://www.slicer.org/slicerWiki/index.php/" to "https://www.slicer.org/wiki/")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Home < 2011 Summer Project Week EMSegmentation in 3D Slicer4

EMSegmentation in 3D Slicer 4

Key Investigators

  • University of Pennsylvania: Daniel Haehn
  • University of Pennsylvania: Dominique Belhachemi
  • University of Pennsylvania: Kilian Pohl


Objective

The EMSegmenter will be available in 3D Slicer 4 as a loadable extension. This was necessary due to the growing size of the EMS package.

Also, the EMSegmenter will use the same repository for Slicer3 and Slicer4 versions to enhance maintenance for users and developers. Both versions are available in the Slicer3 trunk. This has the advantage that the logic and algorithm classes are shared between Slicer3 and Slicer4 and only the GUI changes depending on the Slicer version.

Another change is that the 3D Slicer4 EMSegment Wizard is written in Python. This results in very clean code. The algorithm and computing classes are still C++ code for performance.

Approach, Plan

Beside continuing the development of the EMSegment module, the main goal for the project week is to adopt the 3D Slicer4 extension system. This will be a challenge since the EMSegment module consists of a C++ loadable module, a Python loadable module and several commandline tools. We want to coordinate with the 3D Slicer core developers to achieve this goal.


Progress

The EMSegmenter uses Tcl task files to define pipelines. In Slicer4, the Tcl code execution goes through Python. We investigated on a problem which does not get the return value from Tcl to Python to C++ which is essential for this module.

Also, we worked on the extension infrastructure to support the Superbuild mechanism. This work is nearly complete so the EMSegmenter can be included in the Slicer4 Nightly builds soon.

References

https://www.slicer.org/wiki/Slicer4:EMSegment


Delivery Mechanism

This work will be delivered to the NAMIC Kit as a

  1. Slicer Module
    1. Built-in:
    2. Extension -- commandline:
    3. Extension -- loadable: [X]