Difference between revisions of "2016 Summer Project Week/Segmentations Integration"
From NAMIC Wiki
Line 46: | Line 46: | ||
</div> | </div> | ||
</div> | </div> | ||
+ | |||
+ | '''To try: download latest Slicer nightly build, install SlicerRT extension and open the Segmentations module and Segment editor module.''' | ||
+ | |||
+ | = Segmentation highlights = | ||
+ | * Improved display: real-time synchronized display of segments in 2D (simultaneous contours and solid fill) and 3D; any number of segmentations can be shown | ||
+ | * Segments can now overlap (can be enabled/disabled for individual segments or a group of segments) | ||
+ | * Import/export from/to labelmaps and models | ||
+ | * Read/writ from/to DICOM segmentation objects (WIP) and standard VTK file formats | ||
+ | * Copy/mode segments between segmentations | ||
+ | |||
+ | = Segment editor highlights | ||
+ | * Editing is allowed on arbitrary plane orientation and at different resolution than the master volume | ||
+ | * Any segment (or a group of segments) can be used as mask | ||
+ | * Intensity threshold can be applied for all effects (only modifications to regions of a certain intensity range) | ||
+ | * Overwrite/overlap control is available for all effects (segments may be allowed to overlap with any, visible, or no other segments) | ||
+ | * Editor widget can be very easily embedded into any module's GUI | ||
+ | * Painting on 2D view and 3D views | ||
+ | * Higher-quality erosion and dilation (arbitrarily-sized spherical kernel) | ||
+ | * New logical operations effects: combine segments by add/remove/copy operations, invert/fill/clear segment (for example for scaffolding or mold generation for 3D printing) | ||
+ | * New labelmap smoothing effect: median, morphological opening, closing, Gaussian | ||
+ | * Customizable slice thickness for slice-based effects |
Revision as of 11:54, 20 June 2016
Home < 2016 Summer Project Week < Segmentations IntegrationKey Investigators
- Csaba Pinter
- Andras Lasso
- Steve Pieper
- Jean-Christophe Fillion-Robin (to be consulted remotely)
Project Description
Objective
- Integration of the Segmentation infrastructure into Slicer core
- The infrastructure contains the following components:
- SegmentationCore: Pure VTK implementation of the segmentation object, oriented VTK image data and utilities, and the automated conversion mechanism
- Segmentation MRML: Segmentation MRML node, display node, storage node, displayable managers
- Segmentations module: Slicer module for handling segmentation nodes, various re-usable widgets, and subject hierarchy plugins
- Segment Editor: Slicer module for editing segmentation nodes directly. Similar to Editor, but has a C++ core, and extended functionality that makes use of the advanced Segmentations features
- Segment Morphology: Slicer module for performing expand/shrink and logical operations (union, intersection, subtraction) on segments. Its logic can be used in Segment Editor effects
- Segment Registration (?): Distance map based registration of segmentations (from SlicerProstate::DistanceMapBasedRegistration, integration TBD)
- Presentation slides explaining the motivation, features, and details of the infrastructure
Approach, Plan
- Move classes into Slicer core
- Convert to Slicer core coding conventions (curly brackets in line with the contained block)
- vtkSegmentationCore -> vtkAddon?
- Segmentations/MRML -> Libs/MRML/Core
- Segmentations/MRMLDM -> Libs/MRML/DisplayableManager
- Segmentations/Widgets -> MRML/Widgets?
- Segmentations/EditorEffects -> ?
- Segmentations -> Modules/Loadable
- SegmentEditor -> Modules/Scripted
- Discuss possible integration vtkOrientedImageData to VTK core
Progress
To try: download latest Slicer nightly build, install SlicerRT extension and open the Segmentations module and Segment editor module.
Segmentation highlights
- Improved display: real-time synchronized display of segments in 2D (simultaneous contours and solid fill) and 3D; any number of segmentations can be shown
- Segments can now overlap (can be enabled/disabled for individual segments or a group of segments)
- Import/export from/to labelmaps and models
- Read/writ from/to DICOM segmentation objects (WIP) and standard VTK file formats
- Copy/mode segments between segmentations
= Segment editor highlights
- Editing is allowed on arbitrary plane orientation and at different resolution than the master volume
- Any segment (or a group of segments) can be used as mask
- Intensity threshold can be applied for all effects (only modifications to regions of a certain intensity range)
- Overwrite/overlap control is available for all effects (segments may be allowed to overlap with any, visible, or no other segments)
- Editor widget can be very easily embedded into any module's GUI
- Painting on 2D view and 3D views
- Higher-quality erosion and dilation (arbitrarily-sized spherical kernel)
- New logical operations effects: combine segments by add/remove/copy operations, invert/fill/clear segment (for example for scaffolding or mold generation for 3D printing)
- New labelmap smoothing effect: median, morphological opening, closing, Gaussian
- Customizable slice thickness for slice-based effects