Difference between revisions of "Modules:ModelMaker-Documentation-3.6"
(Created page with 'Return to Slicer 3.6 Documentation Gallery of New Features __NOTOC__ ===Model Maker=== ModelMaker {| |[[Image:Mode…') |
|||
(6 intermediate revisions by the same user not shown) | |||
Line 8: | Line 8: | ||
{| | {| | ||
− | |[[Image: | + | |[[Image:Slicer3.6ModelMakerGUI.jpg|thumb|280px|The Model Maker GUI]] |
− | + | |[[Image:Slicer3.6ModelMakerOutput.jpg|thumb|280px|Output from running using default parameters on Slicer3/Libs/MRML/Testing/TestData/helixMask3Labels.nrrd with the non semantic color look up table]] | |
− | |[[Image: | + | |[[Image:Slicer3.6ModelMakerOutputJointSmoothing.jpg|thumb|280px|Output from running with joint smoothing on, smoothing interations set to 2, using Slicer3/Libs/MRML/Testing/TestData/helixMask3Labels.nrrd with the non semantic color look up table]] |
− | |[[Image: | ||
− | |||
|} | |} | ||
Line 39: | Line 37: | ||
* Use Case 1: After using the Editor module to segment a volume, use this module to generate a 3D surface of one segment. | * Use Case 1: After using the Editor module to segment a volume, use this module to generate a 3D surface of one segment. | ||
− | * Use Case 2: | + | * Use Case 2: When creating models from an image in which the label of interest touches the boundaries of the image, the resulting model has no vertices defined for the surfaces that touch image boundaries. Use the CropVolume module and extend the ROI beyond the image boundary. CropVolume will initialize voxels outside the image with 0s, essentially creating a padding around the volume. |
Examples of the module in use: | Examples of the module in use: | ||
− | * Example 1 | + | * Example 1: After segmenting a whole region of the body, you can generate all the surface models at once by selecting the '''Generate All Models''' option. |
* Example 2 | * Example 2 | ||
Line 56: | Line 54: | ||
===Quick Tour of Features and Use=== | ===Quick Tour of Features and Use=== | ||
+ | {| | ||
+ | | | ||
* '''Model Maker panel:''' | * '''Model Maker panel:''' | ||
**''Parameters Set'': The standard CLI parameter node, created automatically when the values of the GUI widgets are changed from the defaults. | **''Parameters Set'': The standard CLI parameter node, created automatically when the values of the GUI widgets are changed from the defaults. | ||
− | * ''' | + | * '''IO panel:''' |
− | **The Input Volume drop down menu is populated with the label map volumes that are present in the scene | + | **The '''Input Volume''' drop down menu is populated with the label map volumes that are present in the scene, select one from which to generate models. |
− | **Models are imported into Slicer under a model hierarchy node, and their colors are set by the color table associated with the input label map volume. The model hierarchy node '''must be created''' before running the model maker, by selecting ''Create New ModelHierarchy'' from the Models drop down menu. If you're running from the command line, a model hierarchy node in a new mrml scene will be created for you (Jan/09). | + | **'''Models''': Models are imported into Slicer under a model hierarchy node, and their colors are set by the color table associated with the input label map volume. The model hierarchy node '''must be created''' before running the model maker, by selecting ''Create New ModelHierarchy'' from the Models drop down menu. If you're running from the command line, a model hierarchy node in a new mrml scene will be created for you (Jan/09). |
* '''Create Multiple panel:''' | * '''Create Multiple panel:''' | ||
− | **Any text entered in the | + | **'''Model Name''': Any text entered in the entry box will be the starting string for the created model file names. The label number and the color name will also be part of the file name. |
− | ** | + | **''Generate All Models'': select this option if you want to create all models that correspond to all values in a labelmap volume (using the '''Joint Smoothing''' option below is useful with this option). |
− | |||
− | |||
* '''Model Maker Parameters panel:''' | * '''Model Maker Parameters panel:''' | ||
− | ** | + | **'''Labels''': If you specify a list of Labels, it will override any start/end label settings. If you click ''Generate All Models'' it will override the list of labels and any start/end label settings. |
− | **You can control the type of smoothing done on the models by selecting a '' | + | **'''Start Label''': if you want to specify a continuous range of labels from which to generate models, enter the lower label here. |
+ | **'''End Label''': if you want to specify a continuous range of labels from which to generate models, enter the higher label here. | ||
+ | **'''Skip Un-Named labels''': Select this to not generate models from labels that do not have names defined in the color look up table associated with the input label map/ | ||
+ | **'''Joint Smoothing''' will ensure that all resulting models fit together smoothly, like jigsaw puzzle pieces. Otherwise the models will be smoothed independently and may overlap. | ||
+ | **'''Smooth''': Here you can set the number of smoothing iterations. Use 0 if you wish no smoothing. | ||
+ | **'''Filter Type''': You can control the type of smoothing done on the models by selecting a filter type of either Sinc or Laplacian. | ||
+ | **'''Decimate''': Chose the target reduction in number of polygons as a decimal percentage (between 0 and 1). Use 1 if you wish no decimation. | ||
**You can set the flags to split normals or generate point normals in this pane as well. | **You can set the flags to split normals or generate point normals in this pane as well. | ||
− | ***''Split Normals'' is useful for visualizing sharp features. However it creates holes in surfaces which affects measurements. | + | ***'''Split Normals''' is useful for visualizing sharp features. However it creates holes in surfaces which affects measurements. |
− | ***''Point Normals'' is turned on if you wish to calculate the normal vectors for the points. | + | ***'''Point Normals''' is turned on if you wish to calculate the normal vectors for the points. |
− | **You can save a copy of the models after intermediate steps (marching cubes, smoothing, and decimation if not joint smoothing, otherwise just after decimation) | + | **'''Pad''': Pad the input volume with zero value voxels on all 6 faces in order to ensure the production of closed surfaces. Sets the origin translation and extent translation so that the models still line up with the unpadded input volume. Default is true. New behaviour as of Feb/11. |
+ | **'''Save Intermediate Models''': You can save a copy of the models after each of the intermediate steps (marching cubes, smoothing, and decimation if not joint smoothing, otherwise just after decimation). These intermediate models are not saved in the mrml file, you have to load them manually after turning off deleting temporary files in the tcl window (Window -> Tcl Interactor) using the following command: | ||
[$::slicer3::CommandLineModuleGUI_Model_Maker GetLogic] DeleteTemporaryFilesOff | [$::slicer3::CommandLineModuleGUI_Model_Maker GetLogic] DeleteTemporaryFilesOff | ||
− | * ''' | + | * '''Debug Panel''': |
− | ** | + | ** '''Debug''': turn this flag on in order to see debugging output (look in the Error Log window that is accessed via the Window menu) |
− | + | |[[Image:Slicer3.6ModelMakerGUI.jpg|thumb|280px|The Model Maker GUI]] | |
− | + | |} | |
− | |||
− | |||
== Development == | == Development == | ||
Line 106: | Line 109: | ||
===Known bugs=== | ===Known bugs=== | ||
− | Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. | + | Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. |
− | |||
+ | [http://www.na-mic.org/Bug/view.php?id=813 Bug 813] includes the work around for using CropVolume to pad a label map that extends to the limits of the image. | ||
===Usability issues=== | ===Usability issues=== |
Latest revision as of 21:59, 3 February 2011
Home < Modules:ModelMaker-Documentation-3.6Return to Slicer 3.6 Documentation
Model Maker
ModelMaker
General Information
Module Type & Category
Type: CLI
Category: Model Generation
Authors, Collaborators & Contact
- Author1: Nicole Aucoin: Brigham and Women's Hospital
- Contributor1: Bill Lorensen, GE
- Contact: Nicole Aucoin, nicole@bwh.harvard.edu
Module Description
The Modelmaker is used to create 3D surface models from segmented image data, called label maps. Label maps can be the result of automated segmentation or interactive editing.
Usage
Select an input volume from the label map volumes that are present in the scene. Create a new model hierarchy node. Pick a label, range of labels, or all, from which to generate a surface model. Press Apply.
Use Cases, Examples
This module is especially appropriate for these use cases:
- Use Case 1: After using the Editor module to segment a volume, use this module to generate a 3D surface of one segment.
- Use Case 2: When creating models from an image in which the label of interest touches the boundaries of the image, the resulting model has no vertices defined for the surfaces that touch image boundaries. Use the CropVolume module and extend the ROI beyond the image boundary. CropVolume will initialize voxels outside the image with 0s, essentially creating a padding around the volume.
Examples of the module in use:
- Example 1: After segmenting a whole region of the body, you can generate all the surface models at once by selecting the Generate All Models option.
- Example 2
Tutorials
Links to tutorials explaining how to use this module:
- Tutorial 1
- Data Set 1
Quick Tour of Features and Use
[$::slicer3::CommandLineModuleGUI_Model_Maker GetLogic] DeleteTemporaryFilesOff
|
Development
Notes from the Developer(s)
The model maker is a pipeline of algorithms that start from the input label map, creates a binary label map with just the label(s) of interest set to 1, everything else to 0, generates a marching cubes model, runs triangle reduction and triangle smoothing algorithms. The pipeline was optimized for 1mm brain MRI data. For other geometries, adjustments of the parameters might be necessary.
The model maker is compiled as both a command line executable passed arguments via the command line, and as a binary plug in that communicates through shared memory with Slicer3.
Dependencies
The Volumes and Models modules are required for this module's use.
Tests
On the Dashboard, these tests verify that the module is working on various platforms:
- Slicer3EditorModelMakerTest Modules/Editor/Testing/TestEditorModelMaker.tcl
- ModelMakerTest ModelMakerTest.cxx
- ModelMakerGenerateAllOneLabelTest ModelMakerTest.cxx
- ModelMakerGenerateAllThreeLabelsTest ModelMakerTest.cxx
- ModelMakerStartEndTest ModelMakerTest.cxx
- ModelMakerLabelsTest ModelMakerTest.cxx
Known bugs
Follow this link to the Slicer3 bug tracker.
Bug 813 includes the work around for using CropVolume to pad a label map that extends to the limits of the image.
Usability issues
Follow this link to the Slicer3 bug tracker. Please select the usability issue category when browsing or contributing.
Source code & documentation
Source Code:
Doxygen Documentation:
More Information
Acknowledgment
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.