2016 Summer Project Week/Segmentations Integration
From NAMIC Wiki
Home < 2016 Summer Project Week < Segmentations Integration
Key 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