Modules:RobustStatisticsSeg-Documentation-3.6
Return to Slicer 3.6 Documentation
Robust Statistics Segmentation
General Information
Module Type & Category
Type: CLI
Category: Segmentation
Authors, Collaborators & Contact
- Yi Gao (Author): Georgia Tech
- Allen Tannenbaum (Author): Georgia Tech
- Ron Kikinis (Author): BWH
- Contact: Yi Gao, yi.gao@gatech.edu
Module Description
This module is a general purpose segmenter. The target object is initialized by a label map. An active contour model then evolves to extract the desired boundary of the object.
Usage
Use Cases, Examples
- This module is a general purpose segmentor.
- Link to examples of the module's use
Left kidney, CT image
Right kidney, CT image
Brain tumor, MR image
Tutorials
- First run:
- Give a rough estimate of the object volume and use the editing module to paint several non-zero labels, called seeds in the following, in the object.
- Run the module using the default parameters.
- Note:
- The Approximate volume is just a rough upper limit for the volume. It should be at least the size of the object. This is because when the volume reaches that, the program must stop. However, other criteria may stop the algorithm before the volume reaches this value.
- The positions of the seeds have to be in the object, preferably close to center.
- Troubleshooting
- Surface is too rough. Try:
- Increase "Boundary smoothness"
- Leakage into thin/narrow regions. Try:
- Increase "Boundary smoothness"
- leakage into similar (but still different) intensity regions (which is not necessarily thin), Try:
- Increase "Intensity homogeneity"
- Some regions are missed: Try (either one):
- Increase "Max volume"
- Decrease"Intensity homogeneity"
- Decrease "Boundary smoothness"
- Some regions are missed, at the same time leakages to some other regions. Try (either one)
- Increase "Intensity homogeneity"
- Add some other seeds
- Surface is too rough. Try:
- Data Set http://www.spl.harvard.edu/publications/bitstream/download/4217 (case3/grayscale.nrrd)
1. Draw label map in Editing module
In the editing module, select any drawing tool, for example the "Paint" tool circled in red. Draw some strokes in the target in one of the 2D views. In this example, we only freely draw the "S" shaped label circled in green.
2. Run RSS
Run the RSS module. The setting for this case is shown in the screenshot, in the red box. The sensitivity of the parameters are not quantitatively evaluated. However, the experience shows that for most of the cases, the algorithm is robust to the parameters.
- Multiple-value label map handling
The parameter "Output Label Value"(OLV) is for user to assign the output label value. Moreover, it is also used in cases where the user provided label map contains more than one label value. In general, the module handles three cases:
- user provided label map contains only one label value, L. In this case, the output label value will be set to OLV, not matter what value L takes.
- user provided label map contains multiple label values, one of which matches OLV. Then only that label will be effective and all the others are discarded. The output will have label value OLV too.
- user provided label map contains multiple label values, but none matches OLV. Then all the non-zero labels will be considered as a single label value and then come back to the case 1 above.
Quick Tour of Features and Use
A list panels in the interface, their features, what they mean, and how to use them. For instance:
|
Development
Notes from the Developer(s)
Algorithms used, library classes depended upon, use cases, etc.
Dependencies
This module depends on the Slicer editing module, or outside input, to provide initial label image.
Tests
On the Dashboard, these tests verify that the module is working on various platforms:
- MyModuleTest1 MyModuleTest1.cxx
- MyModuleTest2 MyModuleTest2.cxx
Known bugs
Links to known bugs in the Slicer3 bug tracker
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:
More Information
Acknowledgment
This work was supported in part by grants from NSF, AFOSR, ARO, as well as by a grant from NIH (NAC P41 RR-13218) through Brigham and Women’s Hospital. An NSF Fellowship supported part of the work.