Skip to content

Project: Adding DICOM Support Information To Extension Manager #1604

@Sunderlandkyl

Description

@Sunderlandkyl

Draft Status

Draft - team will hold off on page creation

Category

DICOM

Key Investigators

  • Kyle Sunderland (Queen's University, Canada)
  • Andrey Fedorov (BWH, USA)
  • Andras Lasso (Queen's University, Canada)

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.

Approach and Plan

  1. 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'))"
  2. Update 3D Slicer core to query the list of available extensions to find an extension that can handle the current modality.
  3. Integrate this PR with other efforts to update the extension manager (extensions tiers, multiple categories, etc.).

Progress and Next Steps

  1. Describe specific steps you have actually done.

Illustrations

No response

Background and References

https://github.com/girder/slicer_package_manager
https://pypi.org/project/rule-engine/

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions