Skip to content

Commit 2edfa69

Browse files
committed
Fix SR if SpacingBetweenSlices is not set
`SpacingBetweenSlices` is an optional DICOM tag, so it can not be present. Only add it to `ImageLibraryEntryDescriptors` if available.
1 parent edf89e6 commit 2edfa69

2 files changed

Lines changed: 15 additions & 6 deletions

File tree

src/highdicom/sr/templates.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4015,12 +4015,6 @@ def _generate_cross_sectional_descriptors(
40154015
relationship_type=RelationshipTypeValues.HAS_ACQ_CONTEXT,
40164016
unit=codes.UCUM.Millimeter
40174017
),
4018-
NumContentItem(
4019-
name=codes.DCM.SpacingBetweenSlices,
4020-
value=dataset.SpacingBetweenSlices,
4021-
relationship_type=RelationshipTypeValues.HAS_ACQ_CONTEXT,
4022-
unit=codes.UCUM.Millimeter
4023-
),
40244018
NumContentItem(
40254019
name=codes.DCM.SliceThickness,
40264020
value=dataset.SliceThickness,
@@ -4106,6 +4100,16 @@ def _generate_cross_sectional_descriptors(
41064100
)
41074101
)
41084102
]
4103+
if hasattr(dataset, 'SpacingBetweenSlices'):
4104+
descriptors.append(
4105+
NumContentItem(
4106+
name=codes.DCM.SpacingBetweenSlices,
4107+
value=dataset.SpacingBetweenSlices,
4108+
relationship_type=RelationshipTypeValues.HAS_ACQ_CONTEXT,
4109+
unit=codes.UCUM.Millimeter
4110+
),
4111+
)
4112+
41094113
return descriptors
41104114

41114115
def _is_cross_sectional(self, ds: Dataset) -> bool:

tests/test_sr.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5591,6 +5591,11 @@ def test_dx_construction(self):
55915591
assert group[8].name == codes.DCM.ContentTime
55925592
assert group[8].value == content_time
55935593

5594+
def test_optional_spacing_between_slices(self):
5595+
del self._ref_ct_dataset.SpacingBetweenSlices
5596+
group = ImageLibraryEntryDescriptors(image=self._ref_ct_dataset)
5597+
assert not group.find(name=codes.DCM.SpacingBetweenSlices)
5598+
55945599

55955600
class TestImageLibrary(unittest.TestCase):
55965601

0 commit comments

Comments
 (0)