Difference between revisions of "Modules:Editor-Documentation-3.6"
m (Text replacement - "https?:\/\/(?:www|wiki)\.slicer\.org\/slicerWiki\/index\.php\/([^ ]+) " to "https://www.slicer.org/wiki/$1 ") |
|||
(14 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | https://www.slicer.org/wiki/Modules:Editor-Documentation [[Documentation-3.6|Return to Slicer 3.6 Documentation]] | |
− | |||
− | [[Documentation-3.6|Return to Slicer 3.6 Documentation]] | ||
[[Announcements:Slicer3.6#Highlights|Gallery of New Features]] | [[Announcements:Slicer3.6#Highlights|Gallery of New Features]] | ||
Line 11: | Line 9: | ||
{| | {| | ||
|[[Image:Editor3.6-interface.png|thumb|280px|User Interface]] | |[[Image:Editor3.6-interface.png|thumb|280px|User Interface]] | ||
− | |[[Image: | + | |[[Image:Slicer3.6-Editor-2010-05-06.png|thumb|500px|Output]] |
− | |||
|} | |} | ||
Line 23: | Line 20: | ||
===Authors, Collaborators & Contact=== | ===Authors, Collaborators & Contact=== | ||
− | * | + | * Developer: Steve Pieper: Isomics, Inc. |
− | * | + | * Patron: Ron Kikinis: BWH |
− | * | + | * Designer: Wendy Plesniak |
− | * Contact: | + | * Contact: Steve Pieper, pieper at bwh dot harvard dot edu |
===Module Description=== | ===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 == | == Usage == | ||
Line 35: | Line 32: | ||
===Use Cases, Examples=== | ===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 [[Modules:LabelStatistics-Documentation-3.6|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|Training page]]. | ||
− | + | ===Quick Tour of Features and Use=== | |
− | |||
− | + | ==== Single Label Map ==== | |
− | + | [[image:Slicer3.6-Editor-ColorTableSelect-2010-05-06.png|200px|right|Color Table Dialog]] | |
− | + | A typical straightforward Editor workflow for consists of the following steps: | |
− | + | * Load a volume using [[Modules:Loading-Data-3.6#Adding_Scalar_and_Tensor_Volumes|File->Add Volume]] interface. | |
+ | * Enter the Editor module using either the [[Modules:MainApplicationGUI-Documentation-3.6#Application_Toolbar|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 [[Modules:Colors-Documentation-3.6|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 [[Modules:Volumes-Documentation-3.6|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 [[Modules:FastMarchingSegmentation-Documentation-3.6|Fast Marching]] or other [[Documentation-3.6#Segmentation|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 [[Modules:OtsuThresholdSegmentation-Documentation-3.6|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 [[Modules:ModelMaker-Documentation-3.6|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 [[Modules:Data-Documentation-3.6|Data Module]]. | ||
− | + | == Using the Editor Effects == | |
− | + | The individual tools in the editor are described on their own [[Modules:Editor-Documentation|Editor Documentation]] page. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Development == | == Development == | ||
Line 75: | Line 81: | ||
===Notes from the Developer(s)=== | ===Notes from the Developer(s)=== | ||
− | + | The code makes extensive use of object oriented scripting (based on the [http://en.wikipedia.org/wiki/Incr_Tcl 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=== | ===Dependencies=== | ||
− | + | None | |
===Tests=== | ===Tests=== | ||
Line 85: | Line 91: | ||
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms: | On the [http://www.cdash.org/CDash/index.php?project=Slicer3 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=== | ===Known bugs=== | ||
− | + | Search for Editor in the [http://www.na-mic.org/Bug/view.php|Slicer3 bug tracker]. No major bugs known at the time of this writing. | |
− | |||
− | |||
− | |||
===Usability issues=== | ===Usability issues=== | ||
Line 104: | Line 106: | ||
Source code: | Source code: | ||
− | * | + | * http://viewvc.slicer.org/viewcvs.cgi/branches/Slicer-3-6/Modules/Editor/?rev=13274#dirlist |
− | |||
Doxygen documentation: | Doxygen documentation: | ||
− | * | + | * Not available for incrTcl classes. Refer to documentation in the source code linked above. |
== More Information == | == More Information == | ||
===Acknowledgment=== | ===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=== | ===References=== | ||
− | + | None. |
Latest revision as of 13:18, 27 November 2019
Home < Modules:Editor-Documentation-3.6https://www.slicer.org/wiki/Modules:Editor-Documentation Return to Slicer 3.6 Documentation
Module Name
MyModule
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
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.