-
Notifications
You must be signed in to change notification settings - Fork 12
Description
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:
- Let the user define and register the private tags at each level so the MIG knows which tags to include at each level.
- 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.
- Simply include all private tags at all levels, if values are different, change VM to multiple.
- Output a single JSON that includes all instances for that payload.
- Have a workflow step handle the filtering (out of scope)
- 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)
- 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).