2016 Summer Project Week/Segmentation Editor and Terminology
From NAMIC Wiki
Home < 2016 Summer Project Week < Segmentation Editor and Terminology
Key Investigators
- Nicole Aucoin (BWH)
- Csaba Pinter (Queens)
- Andrey Fedorov (BWH)
- Marco Nolden (DKFZ)
- Andras Lasso (Queen's)
- Christian Herz (BWH)
Project Description
This project is focussed on linking various types of information related to segmented structures. The new Segments editor is being extended to associate segments with standard terminolgy describing anatomical regions, expanding the color selection to index into the SNO-MED terminology hierarchy.
Objective | Approach and Plan | Progress and Next Steps |
---|---|---|
|
view = qt.QWebView() view.setUrl(qt.QUrl('http://qiicr.org/dcmqi/')) view.show()
|
|
Use cases
- Category = Segmented Property Category
- Type = Segmented Property Type (+Modifier, optional)
- Anatomic region (+Modifier, optional)
Loading segmentation from DICOM
Assumptions:
- can expect that Category and Type will be initialized, if not - fall back to default codes (Tissue/Tissue codes)
- anatomic region may or may not be initialized (example: can specify anatomic location of the tumor, but may not be present)
- colors may or may not be specified
Consequences:
- need to be able to handle these various combinations
- if colors are not specified, would be nice to suggest some good default color choices (to optimize differentiation of the structures? lookup of default colors may not be easy for medium-large dictionaries)
- it is not clear that it is a good idea to restrict the choices of terminology (or colors) if a user wants to modify segmentation loaded from DICOM - so it might be helpful to choose from existing color maps / terminology dictionaries for a DICOM-loaded segmentation
Creating segmentation from scratch
- choose from predefined dictionaries (combinations of Type/Category/Anatomy customized for a specific use case)
- choose from predefined color tables, or perhaps color assignment strategies (e.g., high contrast, similar shades of color for the segments corresponding to the same kind of structure)
Workflow
To add a new segment:
- user clicks "add segment"
- terminology and color are populated to some default value
- user has an option to change the color and terminology separately TerminologyWidget (naming to be confirmed)
- user has the option to choose the dictionary in the TerminologyWidget
- the purpose of the dictionary is to define specific combinations of category/type/anatomy for the specific use case (GenericAnatomy LUT is one example, and we will also need a larger set of codes defined by the standard)
Implementation approach
Terminology browser widget:
- Slicer widget vs CTK widget: consensus seems to be that CTK widget makes sense
- Qt widget vs web app: considering that basic web app already exists, it may make sense to experiment reusing it; Marco notes that it may be futile to experiment with web app integration in Slicer using the current Qt 4
- Marco confirmed that qiicr.org/dcmqi renders correctly in Qt 5.6 (used in MITK); it does not render in Slicer Qt 4.x webkit
- We will continue with prototyping in the web app (add support for color picker and dictionary selection)
- web app color picker issue https://github.com/QIICR/dcmqi/issues/21