Joost van Griethuysen (The Netherlands Cancer Institute, The Netherlands)
Alireza Sedghi (open health imaging foundation - OHIF, Canada)
Mo Al S’ad (Imperial College of London, UK)
Presenter location: Online
Project Description
OHIF Viewer v3 provides a very flexible and extensible DICOM viewer with zero-footprint running in your browser.
It is based on Cornerstone including multiplanar reformatting support, segmentations, etc. However, OHIF viewer
does not support 4D DICOM data natively. This especially affects dynamic or function CT/MR data, such as diffusion-
weighted imaging (DWI) and dynamic contrast enhanced (DCE) CT/MR.
Objective
Get a feel for how OHIF creates display sets for displaying data using cornerstone.
Create functionality to split a given display set into multiple subsets based on the value in a provide DICOM tag
(e.g. TemporalPositionIdentifier (0020, 0100) or DiffusionBValue (0018, 9087)).
Optional Create functionality to detect if a display set is “4D”, and provide a list of valid tags that can be
used to split the display set.
Approach and Plan
Create a local instance of OHIF viewer
Create a toy dataset containing 3D, valid 4D and “invalid” 4D data (e.g. DICOM volume consisting of differently
angled subvolumes) to test/view functionality.
Create OHIF viewer extension to test/develop functionality, create mode to allow interaction with the extension.
Create functionality for splitting dataset (first on single or few known tags, no checking)
Improve functionality from previous point (custom tags, checking validity prior to splitting, etc.)
If time remains, check as to the feasibility/difficulty of supporting rendering 4D data directly.
Progress and Next Steps
OHIF viewer installed locally and ready for testing/customization.
Created local DCM4CHEE instance with toy data from Amsterdam and IDC
Expand cornerstone functionality for splitting datasets into different frames Cornerstone3D PR #1055.
Fix bug in OHIF viewer breaking the scrollbar in SidePanelda595489.
Created python scripts for comparing DICOM metadata and exhaustive search of potential 4D splitting tags.
Next Steps/ToDo:
During testing, a new use case emerged: Singe SeriesInstanceUID, but 2 valid 4D stacks,
identifiable by ImageType. To correctly handle this use case, data needs to be first split by
ImageType, then by frame identifier (in this case TemporalPositionIndex).
Additional ToDo’s as specified in OHIF PR #3664, concerning updates of
the 4D datapanel GUI, and only displaying it when a valid 4D dataset is active.
Check the functionality of retrieving 4D tag values using cornerstone3D metadata
providers.
Illustrations
Support for 4D multistack - DWI split by GE private tag:
Support for 4D multistack - DCE split by Temporal Position Identifier