From 9a9199513d55ef0099ccf0aa25942cb97e1079ac Mon Sep 17 00:00:00 2001 From: Matt Cieslak Date: Tue, 24 Jul 2018 14:58:52 -0400 Subject: [PATCH 1/2] some dicom headers had an empty string in SliceThickness --- nibabel/nicom/dicomwrappers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nibabel/nicom/dicomwrappers.py b/nibabel/nicom/dicomwrappers.py index fc3fbe4905..194227c6cf 100755 --- a/nibabel/nicom/dicomwrappers.py +++ b/nibabel/nicom/dicomwrappers.py @@ -201,7 +201,7 @@ def voxel_sizes(self): zs = self.get('SpacingBetweenSlices') if zs is None: zs = self.get('SliceThickness') - if zs is None: + if zs is None or zs == '': zs = 1 # Protect from python decimals in pydicom 0.9.7 zs = float(zs) From 57a70408de870bce85085823522b27362851696f Mon Sep 17 00:00:00 2001 From: "Christopher J. Markiewicz" Date: Thu, 21 Mar 2019 10:32:12 -0400 Subject: [PATCH 2/2] TEST: Add de-identified, compressed DICOM with empty string in SliceThickness field --- .../tests/data/slicethickness_empty_string.dcm | Bin 0 -> 41726 bytes nibabel/nicom/tests/test_dicomwrappers.py | 6 ++++++ 2 files changed, 6 insertions(+) create mode 100644 nibabel/nicom/tests/data/slicethickness_empty_string.dcm diff --git a/nibabel/nicom/tests/data/slicethickness_empty_string.dcm b/nibabel/nicom/tests/data/slicethickness_empty_string.dcm new file mode 100644 index 0000000000000000000000000000000000000000..c2718cfdebe5f9c3b72fddb79e2cebadcc3dae7e GIT binary patch literal 41726 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

)(si?s;v~=_gj7-cd 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 BPWb=; literal 0 HcmV?d00001 diff --git a/nibabel/nicom/tests/test_dicomwrappers.py b/nibabel/nicom/tests/test_dicomwrappers.py index 7e611c569d..bea88936d3 100755 --- a/nibabel/nicom/tests/test_dicomwrappers.py +++ b/nibabel/nicom/tests/test_dicomwrappers.py @@ -35,6 +35,7 @@ DATA_FILE_SLC_NORM = pjoin(IO_DATA_PATH, 'csa_slice_norm.dcm') DATA_FILE_DEC_RSCL = pjoin(IO_DATA_PATH, 'decimal_rescale.dcm') DATA_FILE_4D = pjoin(IO_DATA_PATH, '4d_multiframe_test.dcm') +DATA_FILE_EMPTY_ST = pjoin(IO_DATA_PATH, 'slicethickness_empty_string.dcm') # This affine from our converted image was shown to match our image spatially # with an image from SPM DICOM conversion. We checked the matching with SPM @@ -616,6 +617,11 @@ def test_data_real(self): assert_equal(sha1(dat_str).hexdigest(), '149323269b0af92baa7508e19ca315240f77fa8c') + @dicom_test + def test_slicethickness_fallback(self): + dw = didw.wrapper_from_file(DATA_FILE_EMPTY_ST) + assert_equal(dw.voxel_sizes[2], 1.0) + @dicom_test def test_data_fake(self): # Test algorithm for get_data