moloney / dcmstack

DICOM to Nifti conversion with meta data preservation
Other
72 stars 51 forks source link

python 3.* syntax #45

Closed TheChymera closed 7 years ago

TheChymera commented 7 years ago

Given these syntax changes your code seems to do well on python 3.4.

satra commented 7 years ago

+1 for a merge even if this is temporary and we focus on including pieces in nibabel.

@TheChymera - can you check this with the heudiconv script over here: github.com/nipy/heudiconv - it will exercise a few pieces of dcmstack.

TheChymera commented 7 years ago

@satra it seems I was not running all of the tests. I've ironed out most of the issues but a few still remain. I'd be happy if you could help - especially with the SVD convergence stuff:

======================================================================
ERROR: test_dcmmeta.test_from_sequence_2d_to_3d
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.4/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/test/test_dcmmeta.py", line 800, in test_from_sequence_2d_to_3d
    merged = dcmmeta.DcmMetaExtension.from_sequence([ext1, ext2], 2)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmmeta.py", line 662, in from_sequence
    result._insert(dim, input_ext)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmmeta.py", line 1045, in _insert
    other_keys += missing_keys
TypeError: unsupported operand type(s) for +=: 'KeysView' and 'list'

======================================================================
ERROR: test_dcmmeta.test_from_sequence_3d_to_4d
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.4/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/test/test_dcmmeta.py", line 829, in test_from_sequence_3d_to_4d
    merged = dcmmeta.DcmMetaExtension.from_sequence([ext1, ext2], dim)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmmeta.py", line 662, in from_sequence
    result._insert(dim, input_ext)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmmeta.py", line 1045, in _insert
    other_keys += missing_keys
TypeError: unsupported operand type(s) for +=: 'KeysView' and 'list'

======================================================================
ERROR: test_dcmmeta.test_from_sequence_4d_time_to_5d
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.4/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/test/test_dcmmeta.py", line 874, in test_from_sequence_4d_time_to_5d
    merged = dcmmeta.DcmMetaExtension.from_sequence([ext1, ext2], 4)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmmeta.py", line 662, in from_sequence
    result._insert(dim, input_ext)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmmeta.py", line 1045, in _insert
    other_keys += missing_keys
TypeError: unsupported operand type(s) for +=: 'KeysView' and 'list'

======================================================================
ERROR: test_dcmmeta.test_from_sequence_no_slc
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.4/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/test/test_dcmmeta.py", line 903, in test_from_sequence_no_slc
    merged = dcmmeta.DcmMetaExtension.from_sequence([ext1, ext2], 4)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmmeta.py", line 662, in from_sequence
    result._insert(dim, input_ext)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmmeta.py", line 1045, in _insert
    other_keys += missing_keys
TypeError: unsupported operand type(s) for +=: 'KeysView' and 'list'

======================================================================
ERROR: test_dcmmeta.test_from_2d_slice_to_3d
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.4/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/test/test_dcmmeta.py", line 1169, in test_from_2d_slice_to_3d
    merged = dcmmeta.NiftiWrapper.from_sequence(slice_nws, 2)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmmeta.py", line 1801, in from_sequence
    slice_dim)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmmeta.py", line 662, in from_sequence
    result._insert(dim, input_ext)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmmeta.py", line 1045, in _insert
    other_keys += missing_keys
TypeError: unsupported operand type(s) for +=: 'KeysView' and 'list'

======================================================================
ERROR: test_dcmmeta.test_from_3d_time_to_4d
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.4/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/test/test_dcmmeta.py", line 1208, in test_from_3d_time_to_4d
    merged = dcmmeta.NiftiWrapper.from_sequence(time_nws, 3)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmmeta.py", line 1801, in from_sequence
    slice_dim)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmmeta.py", line 662, in from_sequence
    result._insert(dim, input_ext)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmmeta.py", line 1045, in _insert
    other_keys += missing_keys
TypeError: unsupported operand type(s) for +=: 'KeysView' and 'list'

======================================================================
ERROR: test_dcmmeta.test_from_3d_vector_to_4d
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.4/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/test/test_dcmmeta.py", line 1254, in test_from_3d_vector_to_4d
    merged = dcmmeta.NiftiWrapper.from_sequence(vector_nws, 4)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmmeta.py", line 1801, in from_sequence
    slice_dim)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmmeta.py", line 662, in from_sequence
    result._insert(dim, input_ext)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmmeta.py", line 1045, in _insert
    other_keys += missing_keys
TypeError: unsupported operand type(s) for +=: 'KeysView' and 'list'

======================================================================
ERROR: test_dcmmeta.test_merge_inconsistent_hdr
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.4/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/test/test_dcmmeta.py", line 1300, in test_merge_inconsistent_hdr
    merged = dcmmeta.NiftiWrapper.from_sequence(time_nws)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmmeta.py", line 1801, in from_sequence
    slice_dim)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmmeta.py", line 662, in from_sequence
    result._insert(dim, input_ext)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmmeta.py", line 1045, in _insert
    other_keys += missing_keys
TypeError: unsupported operand type(s) for +=: 'KeysView' and 'list'

======================================================================
ERROR: test_dcmmeta.test_merge_with_slc_and_without
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.4/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/test/test_dcmmeta.py", line 1326, in test_merge_with_slc_and_without
    merged = dcmmeta.NiftiWrapper.from_sequence(input_nws)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmmeta.py", line 1801, in from_sequence
    slice_dim)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmmeta.py", line 662, in from_sequence
    result._insert(dim, input_ext)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmmeta.py", line 1045, in _insert
    other_keys += missing_keys
TypeError: unsupported operand type(s) for +=: 'KeysView' and 'list'

======================================================================
ERROR: test_dcmstack.TestReorderVoxels.test_aniso_reorder
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.4/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/test/test_dcmstack.py", line 124, in test_aniso_reorder
    'PLS')
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmstack.py", line 232, in reorder_voxels
    ornt_trans = ornt_transform(orig_ornt, new_ornt)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmstack.py", line 131, in ornt_transform
    end_out_idx)
ValueError: cannot convert float NaN to integer

======================================================================
ERROR: test_dcmstack.TestReorderVoxels.test_reorder
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.4/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/test/test_dcmstack.py", line 93, in test_reorder
    'PRS')
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmstack.py", line 232, in reorder_voxels
    ornt_trans = ornt_transform(orig_ornt, new_ornt)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmstack.py", line 131, in ornt_transform
    end_out_idx)
ValueError: cannot convert float NaN to integer

======================================================================
ERROR: test_dcmstack.TestToNifti.test_allow_dummies
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.4/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/test/test_dcmstack.py", line 609, in test_allow_dummies
    nii = stack.to_nifti()
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmstack.py", line 900, in to_nifti
    nifti_image = nb.Nifti1Image(data, affine)
  File "/usr/lib64/python3.4/site-packages/nibabel/nifti1.py", line 1738, in __init__
    file_map)
  File "/usr/lib64/python3.4/site-packages/nibabel/analyze.py", line 923, in __init__
    dataobj, affine, header, extra, file_map)
  File "/usr/lib64/python3.4/site-packages/nibabel/spatialimages.py", line 372, in __init__
    self.update_header()
  File "/usr/lib64/python3.4/site-packages/nibabel/nifti1.py", line 1968, in update_header
    super(Nifti1Image, self).update_header()
  File "/usr/lib64/python3.4/site-packages/nibabel/nifti1.py", line 1761, in update_header
    super(Nifti1Pair, self).update_header()
  File "/usr/lib64/python3.4/site-packages/nibabel/spatialimages.py", line 418, in update_header
    self._affine2header()
  File "/usr/lib64/python3.4/site-packages/nibabel/nifti1.py", line 1771, in _affine2header
    hdr.set_qform(self._affine, code='unknown')
  File "/usr/lib64/python3.4/site-packages/nibabel/nifti1.py", line 1022, in set_qform
    P, S, Qs = npl.svd(R)
  File "/usr/lib64/python3.4/site-packages/numpy/linalg/linalg.py", line 1359, in svd
    u, s, vt = gufunc(a, signature=signature, extobj=extobj)
  File "/usr/lib64/python3.4/site-packages/numpy/linalg/linalg.py", line 99, in _raise_linalgerror_svd_nonconvergence
    raise LinAlgError("SVD did not converge")
numpy.linalg.linalg.LinAlgError: SVD did not converge

======================================================================
ERROR: test_dcmstack.TestToNifti.test_single_slice
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.4/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/test/test_dcmstack.py", line 568, in test_single_slice
    nii = stack.to_nifti()
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmstack.py", line 900, in to_nifti
    nifti_image = nb.Nifti1Image(data, affine)
  File "/usr/lib64/python3.4/site-packages/nibabel/nifti1.py", line 1738, in __init__
    file_map)
  File "/usr/lib64/python3.4/site-packages/nibabel/analyze.py", line 923, in __init__
    dataobj, affine, header, extra, file_map)
  File "/usr/lib64/python3.4/site-packages/nibabel/spatialimages.py", line 372, in __init__
    self.update_header()
  File "/usr/lib64/python3.4/site-packages/nibabel/nifti1.py", line 1968, in update_header
    super(Nifti1Image, self).update_header()
  File "/usr/lib64/python3.4/site-packages/nibabel/nifti1.py", line 1761, in update_header
    super(Nifti1Pair, self).update_header()
  File "/usr/lib64/python3.4/site-packages/nibabel/spatialimages.py", line 418, in update_header
    self._affine2header()
  File "/usr/lib64/python3.4/site-packages/nibabel/nifti1.py", line 1771, in _affine2header
    hdr.set_qform(self._affine, code='unknown')
  File "/usr/lib64/python3.4/site-packages/nibabel/nifti1.py", line 1022, in set_qform
    P, S, Qs = npl.svd(R)
  File "/usr/lib64/python3.4/site-packages/numpy/linalg/linalg.py", line 1359, in svd
    u, s, vt = gufunc(a, signature=signature, extobj=extobj)
  File "/usr/lib64/python3.4/site-packages/numpy/linalg/linalg.py", line 99, in _raise_linalgerror_svd_nonconvergence
    raise LinAlgError("SVD did not converge")
numpy.linalg.linalg.LinAlgError: SVD did not converge

======================================================================
ERROR: test_dcmstack.TestToNifti.test_single_vol
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.4/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/test/test_dcmstack.py", line 575, in test_single_vol
    nii = stack.to_nifti()
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmstack.py", line 900, in to_nifti
    nifti_image = nb.Nifti1Image(data, affine)
  File "/usr/lib64/python3.4/site-packages/nibabel/nifti1.py", line 1738, in __init__
    file_map)
  File "/usr/lib64/python3.4/site-packages/nibabel/analyze.py", line 923, in __init__
    dataobj, affine, header, extra, file_map)
  File "/usr/lib64/python3.4/site-packages/nibabel/spatialimages.py", line 372, in __init__
    self.update_header()
  File "/usr/lib64/python3.4/site-packages/nibabel/nifti1.py", line 1968, in update_header
    super(Nifti1Image, self).update_header()
  File "/usr/lib64/python3.4/site-packages/nibabel/nifti1.py", line 1761, in update_header
    super(Nifti1Pair, self).update_header()
  File "/usr/lib64/python3.4/site-packages/nibabel/spatialimages.py", line 418, in update_header
    self._affine2header()
  File "/usr/lib64/python3.4/site-packages/nibabel/nifti1.py", line 1771, in _affine2header
    hdr.set_qform(self._affine, code='unknown')
  File "/usr/lib64/python3.4/site-packages/nibabel/nifti1.py", line 1022, in set_qform
    P, S, Qs = npl.svd(R)
  File "/usr/lib64/python3.4/site-packages/numpy/linalg/linalg.py", line 1359, in svd
    u, s, vt = gufunc(a, signature=signature, extobj=extobj)
  File "/usr/lib64/python3.4/site-packages/numpy/linalg/linalg.py", line 99, in _raise_linalgerror_svd_nonconvergence
    raise LinAlgError("SVD did not converge")
numpy.linalg.linalg.LinAlgError: SVD did not converge

======================================================================
ERROR: test_dcmstack.TestToNifti.test_slice_dim_reorient
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.4/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/test/test_dcmstack.py", line 582, in test_slice_dim_reorient
    nii = stack.to_nifti(voxel_order='SAR')
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmstack.py", line 879, in to_nifti
    ornt_trans) = reorder_voxels(data, affine, voxel_order)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmstack.py", line 232, in reorder_voxels
    ornt_trans = ornt_transform(orig_ornt, new_ornt)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmstack.py", line 131, in ornt_transform
    end_out_idx)
ValueError: cannot convert float NaN to integer

======================================================================
ERROR: test_dcmstack.TestToNifti.test_two_time_vol
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.4/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/test/test_dcmstack.py", line 591, in test_two_time_vol
    nii = stack.to_nifti()
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmstack.py", line 900, in to_nifti
    nifti_image = nb.Nifti1Image(data, affine)
  File "/usr/lib64/python3.4/site-packages/nibabel/nifti1.py", line 1738, in __init__
    file_map)
  File "/usr/lib64/python3.4/site-packages/nibabel/analyze.py", line 923, in __init__
    dataobj, affine, header, extra, file_map)
  File "/usr/lib64/python3.4/site-packages/nibabel/spatialimages.py", line 372, in __init__
    self.update_header()
  File "/usr/lib64/python3.4/site-packages/nibabel/nifti1.py", line 1968, in update_header
    super(Nifti1Image, self).update_header()
  File "/usr/lib64/python3.4/site-packages/nibabel/nifti1.py", line 1761, in update_header
    super(Nifti1Pair, self).update_header()
  File "/usr/lib64/python3.4/site-packages/nibabel/spatialimages.py", line 418, in update_header
    self._affine2header()
  File "/usr/lib64/python3.4/site-packages/nibabel/nifti1.py", line 1771, in _affine2header
    hdr.set_qform(self._affine, code='unknown')
  File "/usr/lib64/python3.4/site-packages/nibabel/nifti1.py", line 1022, in set_qform
    P, S, Qs = npl.svd(R)
  File "/usr/lib64/python3.4/site-packages/numpy/linalg/linalg.py", line 1359, in svd
    u, s, vt = gufunc(a, signature=signature, extobj=extobj)
  File "/usr/lib64/python3.4/site-packages/numpy/linalg/linalg.py", line 99, in _raise_linalgerror_svd_nonconvergence
    raise LinAlgError("SVD did not converge")
numpy.linalg.linalg.LinAlgError: SVD did not converge

======================================================================
ERROR: test_dcmstack.TestToNifti.test_two_vector_vol
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.4/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/test/test_dcmstack.py", line 600, in test_two_vector_vol
    nii = stack.to_nifti()
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/src/dcmstack/dcmstack.py", line 900, in to_nifti
    nifti_image = nb.Nifti1Image(data, affine)
  File "/usr/lib64/python3.4/site-packages/nibabel/nifti1.py", line 1738, in __init__
    file_map)
  File "/usr/lib64/python3.4/site-packages/nibabel/analyze.py", line 923, in __init__
    dataobj, affine, header, extra, file_map)
  File "/usr/lib64/python3.4/site-packages/nibabel/spatialimages.py", line 372, in __init__
    self.update_header()
  File "/usr/lib64/python3.4/site-packages/nibabel/nifti1.py", line 1968, in update_header
    super(Nifti1Image, self).update_header()
  File "/usr/lib64/python3.4/site-packages/nibabel/nifti1.py", line 1761, in update_header
    super(Nifti1Pair, self).update_header()
  File "/usr/lib64/python3.4/site-packages/nibabel/spatialimages.py", line 418, in update_header
    self._affine2header()
  File "/usr/lib64/python3.4/site-packages/nibabel/nifti1.py", line 1771, in _affine2header
    hdr.set_qform(self._affine, code='unknown')
  File "/usr/lib64/python3.4/site-packages/nibabel/nifti1.py", line 1022, in set_qform
    P, S, Qs = npl.svd(R)
  File "/usr/lib64/python3.4/site-packages/numpy/linalg/linalg.py", line 1359, in svd
    u, s, vt = gufunc(a, signature=signature, extobj=extobj)
  File "/usr/lib64/python3.4/site-packages/numpy/linalg/linalg.py", line 99, in _raise_linalgerror_svd_nonconvergence
    raise LinAlgError("SVD did not converge")
numpy.linalg.linalg.LinAlgError: SVD did not converge

======================================================================
ERROR: test_extract.TestMetaExtractor.test_get_elem_value
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.4/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/test/test_extract.py", line 94, in test_get_elem_value
    if elem.VR in extract.unpack_vr_map.keys() + ['DS', 'IS']:
TypeError: unsupported operand type(s) for +: 'dict_keys' and 'list'

======================================================================
FAIL: test_dcmmeta.TestGetSubset.test_slice_subset
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.4/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/test/test_dcmmeta.py", line 469, in test_slice_subset
    (list(range(slc_idx, (3 * 5 * 7), 3)), ('time', 'samples')))
AssertionError: (range(0, 105, 3), ('time', 'samples')) != ([0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99, 102], ('time', 'samples'))

======================================================================
FAIL: test_dcmmeta.TestGetSubset.test_time_sample_subset_simplify
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.4/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/test/test_dcmmeta.py", line 609, in test_time_sample_subset_simplify
    (range(7), ('vector', 'samples')))
AssertionError: ([0, 1, 2, 3, 4, 5, 6], ('vector', 'samples')) != (range(0, 7), ('vector', 'samples'))

======================================================================
FAIL: test_dcmmeta.TestGetSubset.test_vector_sample_subset_simplify
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.4/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/test/test_dcmmeta.py", line 690, in test_vector_sample_subset_simplify
    (range(5), ('time', 'samples')))
AssertionError: ([0, 1, 2, 3, 4], ('time', 'samples')) != (range(0, 5), ('time', 'samples'))

======================================================================
FAIL: test_dcmstack.TestReorderVoxels.test_no_op
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.4/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/var/tmp/portage/sci-biology/dcmstack-9999/work/dcmstack-9999/test/test_dcmstack.py", line 81, in test_no_op
    ok_((vox_array == self.vox_array).all())
AssertionError: None

These are all the errors that still occur when testing on python 3.4. All the tests pass nicely on 2.7 with the modifications from my master branch (the commits above).

cbrnr commented 7 years ago

@TheChymera I haven't looked at the failed tests, but here are some suggestions that might make the code more compact: