Difference between revisions of "2016 Summer Project Week/Segmentations Integration"

From NAMIC Wiki
Jump to: navigation, search
Line 6: Line 6:
 
Image:20160526_SegmentationsArchitecture.png|Segmentations architecture
 
Image:20160526_SegmentationsArchitecture.png|Segmentations architecture
 
Image:ContourRepresentations_201507.png|Representations
 
Image:ContourRepresentations_201507.png|Representations
Image:SegmentationHighlights01s.png|Highlights of segmentations and segmentation editor 1
+
Image:SegmentationHighlights01s.png|Highlights of segmentations 1
Image:SegmentationHighlights02s.png|Highlights of segmentations and segmentation editor 2
+
Image:SegmentationHighlights02s.png|Highlights of segmentations 2
 
</gallery>
 
</gallery>
  

Revision as of 12:03, 20 June 2016

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

Progress