Modules:Editor-Documentation-3.6

From SlicerWiki
Jump to: navigation, search
Home < Modules:Editor-Documentation-3.6

http://www.slicer.org/slicerWiki/index.php/Modules:Editor-Documentation

Return to Slicer 3.6 Documentation

Gallery of New Features


Module Name

MyModule

User Interface
Output

General Information

Module Type & Category

Type: Interactive Scripted

Category: Base

Authors, Collaborators & Contact

  • Developer: Steve Pieper: Isomics, Inc.
  • Patron: Ron Kikinis: BWH
  • Designer: Wendy Plesniak
  • Contact: Steve Pieper, pieper at bwh dot harvard dot edu

Module Description

This is a module for manual segmentation of volumes. Some of the tools mimic a painting interface like photoshop or gimp, but work on 3D arrays of voxels rather than on 2D pixels.

Usage

Use Cases, Examples

The overall goal is to allow users to efficiently and precisely define structures within their volumes as label map volumes. These label maps can be used for building models, or further processing (using, for example, the Label Statistics module).

The label maps can either be defined from within the Editor module itself, or you can use the output of other modules and the basis for editing.

Tutorials

Tutorials are in preparation for version 3.6. For earlier versions, see the Training page.

Quick Tour of Features and Use

Single Label Map

Color Table Dialog

A typical straightforward Editor workflow for consists of the following steps:

  • Load a volume using File->Add Volume interface.
  • Enter the Editor module using either the toolbar or the Modules menu button.
  • You will be prompted to select a color table to use for editing (see Color Table Dialog image).
    • Pick a color node that contains the structures you wish to create. If there are no appropriate tables available, you can create custom nodes in the Colors Module.
    • Clicking apply in the Color Table Dialog will create a new label map volume based on the background volume in the Red slice view at the time you entered the Editor. It will be the same dimensions, orientation, and spacing as the background volume. But it will be initialize to all zeros and it will have the 'Label Map' property set. (You can look at these in the "Info" tab of the Volumes Module.
    • If your background was named 't1' the label will be called 't1-label'.
    • Note that if you already have a label map volume as the result of a previous editing step it will be automatically selected when you enter the Editor (i.e. after using the Fast Marching or other Segmentation Modules you will be set up to perform manual edits of the selected label map). You can use the Set option to pick this label map instead of the default.
    • Note that the background and label map settings in the Red slice viewer are used to determine the volumes to edit. In the Editor Module the background grayscale volume is known as the "Master Volume" because it is used as input to tools such as Threshold Paint. The map is known as the "Merge Volume" because it contains multiple structures (see below for information about splitting and re-merging the Merge Volume to edit individual structures).
  • When label map volume is selected, the edit tools frame will automatically expand and you can use the Editor Effects to define your structures.

Per-Structure Volumes

(Please familiarize yourself with the Single Label Map approach before attempting to use the Multiple Label Map tools.)

This approach can be used to independently work with a single structure using tools like the Threshold effect that operate on the entire volume. To access this functionality, open the Per-Structure Volumes interface by clicking on the downward pointing triangle on the right side of the box.

  • Start with a Merge Volume that will contain all the structures of interest.
    • If you have already started defining the individual structures with different label values in the editor, or if you used something like Otsu Segmentation to generate a label map, then you can use the Split Merge Volume button to create a new volume for each unique label value in the Merge Volume.
    • If you are starting from scratch, you can use the Add Structure button to define new label volumes.
      • Add Structure will prompt you for a label value based on the Color Table selected when the Merge Volume was created.
      • The new Structure Volume will be selected for editing.
  • You can click in the Per-Structure Volumes list box to select the current label map for editing (so that you can easily toggle between the Structure Volumes).
  • After defining the individual structures, you can use the Merge All button to put the volumes back into the Merge Volume.
  • Use Merge And Build to create a set of modules from the merged volume.
    • This uses the Joint Smoothing option of the Model Maker Module to create watertight models.
    • Hint: you can use the Model Maker module to manipulate other building parameters.
  • The Delete Structures button will remove the Per-Structure Volumes from your scene. If you want to delete a single volume, use the Data Module.

Using the Editor Effects

The individual tools in the editor are described on their own Editor Documentation page.

Development

Notes from the Developer(s)

The code makes extensive use of object oriented scripting (based on the incrTcl language) calling algorithms implemented in C++ using either VTK or ITK. The developer found this to be an extremely powerful and effective implementation approach, although many people may find it unfamiliar.

Dependencies

None

Tests

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

http://viewvc.slicer.org/viewcvs.cgi/branches/Slicer-3-6/Modules/Editor/Testing/

Known bugs

Search for Editor in the bug tracker. No major bugs known at the time of this writing.

Usability issues

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:

Source code:

Doxygen documentation:

  • Not available for incrTcl classes. Refer to documentation in the source code linked above.

More Information

Acknowledgment

This work is supported by NA-MIC, NAC, BIRN, NCIGT, and the Slicer Community. See http://www.slicer.org for details. Module implemented by Steve Pieper.

References

None.