Skip to content

Commit 51421b2

Browse files
committed
Merge pull request #916 from juhuntenburg/fix/DcmStack
Fix/dcm stack
2 parents c9b7909 + 2d1280b commit 51421b2

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

nipype/interfaces/dcmstack.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
)
2323
import nibabel as nb
2424
from nipype.interfaces.traits_extension import isdefined, Undefined
25+
import imghdr
2526

2627
have_dcmstack = True
2728
try:
@@ -83,6 +84,9 @@ class DcmStackInputSpec(NiftiGeneratorBaseInputSpec):
8384
"any default exclude filters")
8485
include_regexes = traits.List(desc="Meta data to include, overriding any "
8586
"exclude filters")
87+
force_read = traits.Bool(True, usedefault=True,
88+
desc=('Force reading files without DICM marker'))
89+
8690

8791
class DcmStackOutputSpec(TraitedSpec):
8892
out_file = File(exists=True)
@@ -125,8 +129,9 @@ def _run_interface(self, runtime):
125129
include_regexes)
126130
stack = dcmstack.DicomStack(meta_filter=meta_filter)
127131
for src_path in src_paths:
128-
src_dcm = dicom.read_file(src_path, force=True)
129-
stack.add_dcm(src_dcm)
132+
if not imghdr.what(src_path)=="gif":
133+
src_dcm = dicom.read_file(src_path, force=self.inputs.force_read)
134+
stack.add_dcm(src_dcm)
130135
nii = stack.to_nifti(embed_meta=True)
131136
nw = NiftiWrapper(nii)
132137
self.out_path = \

nipype/interfaces/tests/test_auto_DcmStack.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ def test_DcmStack_inputs():
77
),
88
embed_meta=dict(),
99
exclude_regexes=dict(),
10+
force_read=dict(usedefault=True,
11+
),
1012
include_regexes=dict(),
1113
out_ext=dict(usedefault=True,
1214
),

nipype/interfaces/tests/test_auto_GroupAndStack.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ def test_GroupAndStack_inputs():
77
),
88
embed_meta=dict(),
99
exclude_regexes=dict(),
10+
force_read=dict(usedefault=True,
11+
),
1012
include_regexes=dict(),
1113
out_ext=dict(usedefault=True,
1214
),

0 commit comments

Comments
 (0)