Skip to content

Generate study & series level JSON files #83

@mocsharp

Description

@mocsharp

Is your feature request related to a problem? Please describe.

The Workflow Manager needs the series or the study level DICOM tags available for filtering. However, MIG currently provides only instance-level DICOM models.

Describe the solution you'd like

Provide a [study-instance-uid].json and a [series-instance-uid].json file for each study/series with study/series level tags respectively.

For private tags, we have a few options:

  1. Let the user define and register the private tags at each level so the MIG knows which tags to include at each level.
  2. For each level, scan all private tags, if values are all the same across all instances for the level, it is assumed the tag is associated with the level.
  3. Simply include all private tags at all levels, if values are different, change VM to multiple.
  4. Output a single JSON that includes all instances for that payload.
  5. Have a workflow step handle the filtering (out of scope)
  6. Read the first JSON file from instance level given that attributes are the same across study-level & series-level. (unless there are multiple series, aka grouping by patient or study)
  7. Parse workflow definition and find out which tags are needed, register them with MIG to parse them.
    e.g.
study-instance-uid-1:
   series-instance-uid-1:
      instance-instance-uid-1:
         slice-thickness: 5mm
   series-instance-uid-2:
      instance-instance-uid-2:
         slice-thickness: 3mm

Configuration

Allow configuration override to turn on/off JSON generation at each level (study, series, instance).

Notes

Even though most DICOM libraries include a list of all DICOM tags/attributes, none of them provides information on which tags are at the patient/study/series levels, we may need to define a dictionary and allow users to customize it. Moreover, attributes may be different across different modalities. E.g (0012,0050) Clinical Trial Time Point ID Attribute is a study level attribute that exists in CR but not for CT.

The output of the current instance-level JSON files can be configured through DicomConfiguration.WriteDicomJson with the options to either export all attributes or non-binary (others).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementEnhancement to existing feature

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions