cutright / DVH-Analytics

A DICOM Database Application for Radiation Oncology
Other
82 stars 30 forks source link

DVHA crashes if FractionGroupSequence (300A,0070) is missing #127

Closed cutright closed 3 years ago

cutright commented 3 years ago

It seems a MIM has a de-identification script that removes the DICOM tag FractionGroupSequence (300A,0070).

ERROR: Unhandled exception: Traceback (most recent call last):
  File "/Users/ninja/PycharmProjects/DVH-Analytics/dvha/main.py", line 1221, in Run
    run_old(*args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/ninja/PycharmProjects/DVH-Analytics/dvha/models/dicom_tree_builder.py", line 700, in do_parse
    self.parser(*parameters)
  File "/Users/ninja/PycharmProjects/DVH-Analytics/dvha/models/dicom_tree_builder.py", line 711, in parser
    pre_import_data = DICOM_Parser(**init_params).pre_import_data
  File "/Users/ninja/PycharmProjects/DVH-Analytics/dvha/db/dicom_parser.py", line 108, in __init__
    self.__initialize_rx_beam_and_ref_beam_data()
  File "/Users/ninja/PycharmProjects/DVH-Analytics/dvha/db/dicom_parser.py", line 134, in __initialize_rx_beam_and_ref_beam_data
    for fx_grp_index, fx_grp_seq in enumerate(self.rt_data['plan'].FractionGroupSequence):
  File "/Users/ninja/PycharmProjects/DVH-Analytics/venv/lib/python3.6/site-packages/pydicom/dataset.py", line 835, in __getattr__
    return object.__getattribute__(self, name)
AttributeError: 'FileDataset' object has no attribute 'FractionGroupSequence'

https://github.com/cutright/DVH-Analytics/blob/126f204a73adc8009a9d7a0769158d849abf9e6d/dvha/db/dicom_parser.py#L127-L144

cutright commented 3 years ago

From what I can tell, one of MIM's de-identification methods removes FractionGroupSequence from DICOM-RT Plan. I don't believe BeamMeterset or NumberOfFractionsPlanned is stored any where. The linked commit above this comment can import with FractionGroupSequence, but it reports None for fraction count, MU, and complexity.

This is with MIM's De-identification Method: Limited data Set: MIM.7.0.3.K519-00

fixed in DVHA v0.9.2