Skip to content

Commit 4b98367

Browse files
committed
fixed evolution of raw pet data header so it handles unrecognised tags
1 parent 1fafaab commit 4b98367

File tree

6 files changed

+93
-387
lines changed

6 files changed

+93
-387
lines changed

medimages4tests/dummy/dicom/base.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ def evolve_header(
109109
keyword arguments containing values to update in the header
110110
"""
111111
hdr = deepcopy(dicom_header)
112+
[getattr(hdr, a) for a in dir(hdr)] # Ensure data dict keys are loaded
112113
if first_name or last_name:
113114
if not first_name or not last_name:
114115
try:
@@ -130,7 +131,11 @@ def evolve_header(
130131
continue
131132
raise ValueError(f"Did not find tag corresponding to keyword {key}")
132133
hex_tag = format(tag_decimal, "08x").upper()
133-
elem = hdr[hex_tag]["Value"]
134+
tag = hdr[hex_tag]
135+
try:
136+
elem = tag["Value"]
137+
except KeyError:
138+
continue
134139
assert isinstance(elem, list) and len(elem) == 1
135140
nested_elem = elem[0]
136141
if isinstance(nested_elem, dict) and list(nested_elem.keys()) == ["Alphabetic"]:

medimages4tests/dummy/raw/pet/siemens/biograph_vision/vr20b/pet_calibration/header.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
)
55

66

7-
def get_image_header(out_dir, **kwargs):
8-
hdr = evolve_header(constant_hdr, skip_unknown=True, **kwargs)
7+
def get_image_header(out_dir, skip_unknown=True, **kwargs):
8+
hdr = evolve_header(constant_hdr, skip_unknown=skip_unknown, **kwargs)
99
return generate_dicom(out_dir, num_vols, hdr, collated_data, {})
1010

1111

medimages4tests/dummy/raw/pet/siemens/biograph_vision/vr20b/pet_countrate/header.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
)
55

66

7-
def get_image_header(out_dir, **kwargs):
8-
hdr = evolve_header(constant_hdr, skip_unknown=True, **kwargs)
7+
def get_image_header(out_dir, skip_unknown=True, **kwargs):
8+
hdr = evolve_header(constant_hdr, skip_unknown=skip_unknown, **kwargs)
99
return generate_dicom(out_dir, num_vols, hdr, collated_data, {})
1010

1111

medimages4tests/dummy/raw/pet/siemens/biograph_vision/vr20b/pet_listmode/header.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
)
55

66

7-
def get_image_header(out_dir, **kwargs):
8-
hdr = evolve_header(constant_hdr, skip_unknown=True, **kwargs)
7+
def get_image_header(out_dir, skip_unknown=True, **kwargs):
8+
hdr = evolve_header(constant_hdr, skip_unknown=skip_unknown, **kwargs)
99
return generate_dicom(out_dir, num_vols, hdr, collated_data, varying_hdr)
1010

1111

0 commit comments

Comments
 (0)