Edit this page

NA-MIC Project Weeks

Back to Projects List

Adding DICOM Support Information To Extension Manager

Key Investigators

Project Description

Currently DICOM support in extensions is written to a json file in the slicer repo (DICOMExtensions.json), however this information is not frequently updated as new extensions are added, unmaintained extensions removed, and additional modality support added to extensions.

Objective

  1. Add additional metadata to the extension index to describe DICOM support implemented in each extension.
  2. During DICOM import if no DICOM plugins are able to load the modality, then query the list of available extensions to find an extension that can import the data.
  3. Also add additional metadata information (multiple categories, soft dependencies, etc).

Approach and Plan

  1. Update Slicer ExtensionsIndex to include DICOM related metadata, update schema (See branch here)
  2. Update Slicer Package Manager to handle additional DICOM support metadata
    • This can be done by specifying a rule-engine string that can be used to define extension compatibility with Modality and SOPClassUID.
    • Ex: "(Modality == 'SEG') or (SOPClassUID == '1.2.840.10008.5.1.4.1.1.30') or (Modality == 'SR' and (SOPClassUID == '1.2.840.10008.5.1.4.1.1.88.22' or SOPClassUID == '1.2.840.10008.5.1.4.1.1.88.33'))"
  3. Update 3D Slicer core to query the list of available extensions to find an extension that can handle the current modality. (See branch here)
  4. Integrate this PR with other efforts to update the extension manager (extensions tiers, multiple categories, etc. - see https://github.com/girder/slicer_package_manager/pull/124)
  5. Update SlicerIDCBrowser?
  6. Need to revisit QuantitativeReporting DICOM plugin - it won’t be able to load segmentation of a SM image!

Progress and Next Steps

  1. Support for additional metadata types in json/s4ext and Girder:
    • dicom_support_rule: Logical expression that can be evaluated to suggest extensions that are able to handle a specific DICOM file.
    • keywords: Additional terms that can be searched when filtering extensions
    • tier: Rebased version of Jc’s branch that adds extension support “tier”
    • reccomendations: List of reccomended extensions that should be installed by the user. Not including build dependencies
  2. Evaluation of dicom_support_rule to suggest extensions from within Slicer
    • Added logic to the DICOM module so that when the loading of an extension fails, we suggest that the user install an extension that can load their data.

Illustrations

Extension suggestion

Girder contents

Background and References

Development branches