Documentation/4.0/Modules/EMSegment Command-line
Introduction and Acknowledgements
This work was funded by the ARRA Supplement to the Neuroimage Analysis Center (NAC), funded by the National Institutes of Health. Information on NAC can be obtained from the NAC website. | |||||
|
Module Description
Use Cases
The primary function of the EMSegmenter module is to step the user through the process of calibrating, via algorithm parameters, the segmentation algorithm to a particular set of input data. However, once a successful collection of parameters is established, the user will commonly want to bypass this detailed calibration process when segmenting new images by using those parameters collected from the calibration process in EMSegmenter module. The EMSegment Command-line module which wraps the EMSegmentCommandLine executable provides this batch processing capability. The EMSegment Command-line module is automatic generated from the EMSegmentCommandLine executable using the --xml option.
This module is especially appropriate for segmenting large quantity of data by scripted/batch processing. It requires predefined parameter set, and new target/atlas images can be specified on command line.
- A full Tutorial for all three EMSegment modules
These slides and data describe the Slicer3 implementation of all three EMSegment modules and demonstrate their use. A recent (later than 7Jan08) version of Slicer3 is required to run the test data.
- Export EMSEG_TUTORIAL_DIR environment variable ( e.g. <PATH TO TUTORIAL> = /tmp/EMSegmentTutorial-Jan2008/ )
export EMSEG_TUTORIAL_DIR=<PATH_TO_TUTORIAL>
Quick Tour of Features and Use
The above EMSegment tutorial data set demonstrates the use of the command line interface.
If the command-line module is invoked from Slicer3 GUI, there will be a Parameters panel:
- MRML Scene: Select the mrml scene for the tutorial parameter set
- Result Labelmap: Select a new image filename for output labelmap
- Target Volumes: Select input target volumes (Multiple files can be selected at one time)
- Click `Apply’
Here are some basic examples to run this module from command line directly
- Export the Slicer3_HOME environment variable ( e.g. <PATH_TO_SLICER> = /tmp/3DSlicer/Slicer3-build/ )
export Slicer3_HOME=<PATH_TO_SLICER>
- Run the executable to see the documentation
${Slicer3_HOME}/Slicer3 --launch $Slicer3_HOME/lib/Slicer3/Plugins/EMSegmentCommandLine --help
- Run the segmentation algorithm with tutorial data
The script "Run-BrainTutorial-Defaults.sh" demonstrates how to run the EMSegmenter on the tutorial data. The resulting labelmap is written into the VolumeData_Output directory. Try adding the "--intermediateResultsDirectory myDirectoryName" flag to write out intermediate data. Intermediate data is saved in the "myDirectoryName" directory: you can load this scene to visualize the intermediate data (e.g. intensity normalized and registered images) and segmentation results.
source ${Slicer3_HOME}/bin/Slicer3SetupPaths.sh RUN_NAME=BrainTutorial-Defaults mkdir -p $EMSEG_TUTORIAL_DIR/Working/$RUN_NAME ${Slicer3_HOME}/Slicer3 --launch $Slicer3_HOME/lib/Slicer3/Plugins/EMSegmentCommandLine \ --verbose \ --mrmlSceneFileName $EMSEG_TUTORIAL_DIR/EMSeg-Brain-MRT1T2.mrml \ --intermediateResultsDirectory $EMSEG_TUTORIAL_DIR/Working/$RUN_NAME \ --resultVolumeFileName $EMSEG_TUTORIAL_DIR/VolumeData_Output/Segmentation-$RUN_NAME.nhdr \
- Run the segmentation algorithm with new data
The other script, "BrainTutorial-SetTarget1.sh" demonstrate how to run the EMSegmenter on new data. Because the tutorial EMSegment parameters are designed to accept one T1 and one T2 input image, each script supplies one new T1 and one T2 to be segmented (NB: order is important).
source ${Slicer3_HOME}/bin/Slicer3SetupPaths.sh RUN_NAME=BrainTutorial-SetTarget mkdir -p $EMSEG_TUTORIAL_DIR/Working/$RUN_NAME ${Slicer3_HOME}/Slicer3 --launch $Slicer3_HOME/lib/Slicer3/Plugins/EMSegmentCommandLine \ --verbose \ --mrmlSceneFileName $EMSEG_TUTORIAL_DIR/EMSeg-Brain-MRT1T2.mrml \ --targetVolumeFileNames \ $EMSEG_TUTORIAL_DIR/VolumeData_Input/Target/t1.nhdr,$EMSEG_TUTORIAL_DIR/VolumeData_Input/Target/t2.nhdr \ --resultVolumeFileName \ VolumeData_Output/Segmentation-$RUN_NAME.nhdr \ --intermediateResultsDirectory \ $EMSEG_TUTORIAL_DIR/Working/$RUN_NAME \
- Run the MRI-Human-Brain task
source ${Slicer3_HOME}/bin/Slicer3SetupPaths.sh ${Slicer3_HOME}/Slicer3 --launch $Slicer3_HOME/lib/Slicer3/Plugins/EMSegmentCommandLine \ --verbose \ --mrmlSceneFileName \ $Slicer3_HOME/share/Slicer3/Modules/EMSegment/Tasks/MRI-Human-Brain.mrml \ --targetVolumeFileNames \ $Slicer3_HOME/../Slicer3/Modules/EMSegment/Testing/TestData/MiscVolumeData/MRIHumanBrain_T1_aligned.nrrd \ --resultVolumeFileName \ /tmp/Result_MRI-Human-Brain.nhdr \
Most frequently used for these scenarios:
- Use Case 1:
- Use Case 2:
Tutorials
Links to tutorials that use this module
Panels and their use
A list of all the panels in the interface, their features, what they mean, and how to use them. For instance:
|
|
|
Similar Modules
- Point to other modules that have similar functionality
References
Publications related to this module go here. Links to pdfs would be useful. For extensions: link to the source code repository and additional documentation
Information for Developers
Section under construction. |
The section above is generated using the following wiki code:
{{documentation/{{documentation/version}}/module-section|Information for Developers}} {{documentation/{{documentation/version}}/module-developerinfo|ModuleTemplate|type=Interactive|category=Example}}
If you are documenting a CLI, the category should be extracted from the corresponding XML description. This could be done automatically using the following wiki template:
{{documentation/{{documentation/version}}/module-category|xmlurl=http://path/to/YOURMODULENAME.xml }}
If your module is available in Slicer repository, the following template could be useful to obtain the corresponding URL:
{{documentation/{{documentation/version}}/module-cli-xmlurl|{{documentation/modulename}}|SVNREVISION}}
Using this later template, the final syntax would be:
{{documentation/{{documentation/version}}/module-category|xmlurl={{documentation/{{documentation/version}}/module-cli-xmlurl|{{documentation/modulename}}|SVNREVISION}} }}