Difference between revisions of "2016 Summer Project Week/Segmentation Editor and Terminology"

From NAMIC Wiki
Jump to: navigation, search
Line 22: Line 22:
 
* Source code review: [https://subversion.assembla.com/svn/slicerrt/trunk/SlicerRt/src/ | SlicerRT], with a focus on containers (vtkSegment, vtkSegmentation, vtkMRMLSegmentationNode), and widget GUI (Segmentations Widgets qMRMLSegmentsTableView)
 
* Source code review: [https://subversion.assembla.com/svn/slicerrt/trunk/SlicerRt/src/ | SlicerRT], with a focus on containers (vtkSegment, vtkSegmentation, vtkMRMLSegmentationNode), and widget GUI (Segmentations Widgets qMRMLSegmentsTableView)
 
* Compare to web app for populating SEG metadata: http://qiicr.org/dcmq
 
* Compare to web app for populating SEG metadata: http://qiicr.org/dcmq
 +
* From Andrey: disconnect segment ID from the color ID and from the terminology associated with it - it should be possible to have more than one distinctive segment that has the same color and the same terminology, but are differentiated by segment ID and segment label.
 
</div>
 
</div>
 
<div style="width: 27%; float: left; padding-right: 3%;">
 
<div style="width: 27%; float: left; padding-right: 3%;">

Revision as of 20:03, 21 June 2016

Home < 2016 Summer Project Week < Segmentation Editor and Terminology

Key Investigators

  • Nicole Aucoin (BWH)
  • Csaba Pinter (Queens)
  • Andrey Fedorov (BWH)

Project Description

Objective

Approach, Plan

  • The initial plan was for the Segment Editor to incoporate the display of terminology, ported from the Editor module. The next stage is to add support for editing the terminologies and adding new ones.
  • Review overview sildes | Segmentations
  • Source code review: | SlicerRT, with a focus on containers (vtkSegment, vtkSegmentation, vtkMRMLSegmentationNode), and widget GUI (Segmentations Widgets qMRMLSegmentsTableView)
  • Compare to web app for populating SEG metadata: http://qiicr.org/dcmq
  • From Andrey: disconnect segment ID from the color ID and from the terminology associated with it - it should be possible to have more than one distinctive segment that has the same color and the same terminology, but are differentiated by segment ID and segment label.

Progress

  • Tue Jun 21: Csaba and Nicole met and discussed ways to incorporate the terminology information into the segment editor
    • Each segmentation node has a custom temporary color table that's built up from color selected for each segment.
      • Add a node reference to the segmentation node pointing to the color node that is used to build the custom color table (generic anatomy colors has terminology associated with it). This will help on load as the segment has the color index and the custom color table will be rebuilt from the reference color node. (Csaba)
      • When creating the new temp color node, also create a new terminology associated with it (Nicole)
    • Adding a new segment
      • A color RGB is set on the display node, that's used to rebuild the custom color table on load
      • Consolidate to the segment editor (Csaba)
      • Bring up the CTK color picker by default on adding a new segment to set/edit the default color/terminology (Csaba)
      • Extend/fix the CTK color picker:
        • Show the custom color node by default not the Generic Anatomy one (Nicole)
        • How to best show if adding a new color or editing an old one?
        • Fix the bug where you can pick a new color for a segment, but if you click on a different color in the color picker's table it still sets the color for the entry that was clicked in the editor GUI (disable selection highlight?) (Nicole)
        • Add display of the terminology associated with the color node displayed (Nicole)
        • Add terminology editing/look up to set a new terminology (Nicole - post project week)
    • Consider loading a segmentation node from disk and rebuilding the custom terminology - will each segment need to have a the terminology category, property, region and modifiers set?
    • Add tool tips showing terminology, as in Colors module, see qMRMLColorModel (Csaba)