diff --git a/nibabel/nicom/csareader.py b/nibabel/nicom/csareader.py index cba9e39e34..1bfaf02a25 100644 --- a/nibabel/nicom/csareader.py +++ b/nibabel/nicom/csareader.py @@ -64,11 +64,14 @@ def get_csa_header(dcm_data, csa_type='image'): return None element_no = section_start + element_offset try: - tag = dcm_data[(0x29, element_no)] - except KeyError: # The element could be missing due to anonymization + tag = dcm_data[(0x29, element_no)] + # Non-MRI Dicoms have string values in CSA tag + # This will cause read to throw a CSAReadError + # in most instances. If so, we return None + return read(tag.value) + except (KeyError, CSAReadError): return None - return read(tag.value) def read(csa_str):