QR fails if remote node doesn't return ModalitiesInStudy key
Issue #666
resolved
Normally this optional tag is supported - code assumes key will be returned even if it is empty or contains modalities we didn't ask for (ie not a matching key).
If it is not returned, Query-Retrieve code fails with:
[2018-09-21 10:45:12,251: ERROR/ForkPoolWorker-1] Task remapp.netdicom.qrscu.qrscu[5905e810-6adf-4ce9-bbd9-b8317e9453fe] raised unexpected: AttributeError("Dataset does not have attribute 'ModalitiesInStudy'.",) Traceback (most recent call last): File "/var/dose/veopenrem/local/lib/python2.7/site-packages/celery/app/trace.py", line 382, in trace_task R = retval = fun(*args, **kwargs) File "/var/dose/veopenrem/local/lib/python2.7/site-packages/celery/app/trace.py", line 641, in __protected_call__ return self.run(*args, **kwargs) File "remapp/netdicom/qrscu.py", line 750, in qrscu modalities_returned, modality_matching = _query_for_each_modality(all_mods, query, d, assoc) File "remapp/netdicom/qrscu.py", line 592, in _query_for_each_modality _query_study(assoc, d, query, query_id) File "remapp/netdicom/qrscu.py", line 528, in _query_study if isinstance(ss[1].ModalitiesInStudy, str): # if single modality, then type = string ('XA') File "/var/dose/veopenrem/local/lib/python2.7/site-packages/dicom/dataset.py", line 256, in __getattr__ "'{0:s}'.".format(name)) AttributeError: Dataset does not have attribute 'ModalitiesInStudy'.
Comments (6)
-
reporter -
reporter It gets worse - illegally not returning SOPClassUID and occasionally series level modality. Refs
#666→ <<cset 6b66a0f093b0>>
-
reporter Added in IDs, made message more useful. Refs
#666→ <<cset bde8227df0b6>>
-
reporter Adding ref
#666to changes and release notes.→ <<cset 90df86a62622>>
-
reporter - changed status to resolved
-
reporter - changed milestone to 0.9.0
- Log in to comment
Added try except to overcome initial error, added to logic as to what to do about it. Refs
#666→ <<cset a0226f7009ab>>