Projects:QIN:3D Slicer Annotation Image Markup:Design and Implementation

From NAMIC Wiki
Jump to: navigation, search
Home < Projects:QIN:3D Slicer Annotation Image Markup:Design and Implementation

Back to Projects:QIN:3D Slicer Annotation Image Markup

AM = annotations+markup

SAM = Slicer Annotation Module/Markup ?

SAIM = Slicer AIM module ?

Terminology

  • Annotation: textual structured description of the finding. How do we differentiate those from Slicer Annotations?
  • Markup: visual cues placed over the image to assign annotations to image features

Implementation considerations

  • We will use existing annotation hierarchies to organize the AM. AM will be organized into findings that will be located in the hierarchy under a particular volume. Each volume can have separate findings. Each finding can be assigned to only one volume.
  • We are focused on the support of markup in 2D slices; 3D view annotations are secondary.
  • The functionality needed to support connection between the data and AM will be added to Slicer core. User-level interactions will be available in a separate module.
  • Markup is defined relative to the active slice of the active volume. AIM/DICOM SR do not have a notion of 3D coordinate space (needs verification). Slicer annotations will be restricted to be in-slice for the use cases of this project.
  • Annotations text can be stored in the "description" field of the Slicer Annotations in the XML format, as determined by the annotation template used.
  • Annotations text can be formatted and visualized using HTML as a report in the Slicer Annotation description area.

Markups to be supported

These will be decided based on the existing requirements from the use cases provided by the QIN community, and based on the existing capabilities of the AIM-enabled tools (OsiriX and ClearCanvas TCGA workstation). The tentative list in the order of priorities (not finalized):

  1. Ruler (measurement)
  2. Marker (OsiriX/ClearCanvas: callout?; 3D Slicer: fiducial (can we consider arrow, fiducial + orientation, in the future?))
  3. Polyline
  4. Ellipsoid/rectangle
  5. Text annotation (fiducial?)
  6. Angle

A big one: 3D segmentation (currently, not supported by either OsiriX or ClearCanvas, but is important for several QIN use cases).

GUI module design

SAM module GUI design.png File:SAM module GUI design.pptx

User-level Workflow

  • 1 choose volume being annotated
  • 2 scroll to the slice
  • 3 select annotation template (default: finding? option to load template?)
  • 4 populate template fields
  • 5 select/create annotation hierarchy
  • 6 place markups, assign text (annotation of annotation in AIM?) -- all go under the active annotation hierarchy node

Implementation-level Workflow

  • need at some point to rotate to volume, as in Editor

Implementation task list

Finalized:

  1. Add functionality to track the UID of the DICOM volume based on the current volume and IJK coordinates
  2. Add links between AM (hierarchy? finding?) and parent volume

To be discussed:

  1. IO support and details
  2. New/missing markup widgets
  3. Annotation template import and GUI

Discussion points

  • From the QIN prospective, it seems to be more important to have a complete set of markups in-slice, without focusing on the support of 3d viever visualization. Is this OK with the Slicer development strategy?