Skip to content

Commit cb0dd44

Browse files
committed
Merge pull request #782 from satra/enh/dcm2nii
fix: make dcm2nii compatible with node for efficient execution, improve docs
2 parents b1b7825 + 8aa9aa8 commit cb0dd44

File tree

2 files changed

+29
-2
lines changed

2 files changed

+29
-2
lines changed

nipype/interfaces/dcm2nii.py

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
"""The dcm2nii module provides basic functions for dicom conversion
2+
3+
Change directory to provide relative paths for doctests
4+
>>> import os
5+
>>> filepath = os.path.dirname( os.path.realpath( __file__ ) )
6+
>>> datadir = os.path.realpath(os.path.join(filepath, '../testing/data'))
7+
>>> os.chdir(datadir)
8+
"""
9+
110
from nipype.interfaces.base import (CommandLine, CommandLineInputSpec,
211
InputMultiPath, traits, TraitedSpec,
312
OutputMultiPath, isdefined,
@@ -8,7 +17,8 @@
817
import re
918

1019
class Dcm2niiInputSpec(CommandLineInputSpec):
11-
source_names = InputMultiPath(File(exists=True), argstr="%s", position=10, mandatory=True)
20+
source_names = InputMultiPath(File(exists=True), argstr="%s", position=10,
21+
copyfile=False, mandatory=True)
1222
gzip_output = traits.Bool(False, argstr='-g', position=0, usedefault=True)
1323
nii_output = traits.Bool(True, argstr='-n', position=1, usedefault=True)
1424
anonymize = traits.Bool(argstr='-a', position=2)
@@ -18,7 +28,8 @@ class Dcm2niiInputSpec(CommandLineInputSpec):
1828
output_dir = Directory(exists=True, argstr='-o %s', genfile=True, position=6)
1929
config_file = File(exists=True, argstr="-b %s", genfile=True, position=7)
2030
convert_all_pars = traits.Bool(argstr='-v', position=8)
21-
args = traits.Str(argstr='%s', desc='Additional parameters to the command', position=9)
31+
args = traits.Str(argstr='%s', desc='Additional parameters to the command',
32+
position=9)
2233

2334
class Dcm2niiOutputSpec(TraitedSpec):
2435
converted_files = OutputMultiPath(File(exists=True))
@@ -28,6 +39,21 @@ class Dcm2niiOutputSpec(TraitedSpec):
2839
bvals = OutputMultiPath(File(exists=True))
2940

3041
class Dcm2nii(CommandLine):
42+
"""Uses MRICRON's dcm2nii to convert dicom files
43+
44+
Examples
45+
========
46+
47+
>>> from nipype.interfaces.dcm2nii import Dcm2nii
48+
>>> converter = Dcm2nii()
49+
>>> converter.inputs.source_names = ['functional_1.dcm', 'functional_2.dcm']
50+
>>> converter.inputs.gzip_output = True
51+
>>> converter.inputs.output_dir = '.'
52+
>>> converter.cmdline #doctest: +ELLIPSIS
53+
'dcm2nii -g y -n y -i n -o . -b config.ini functional_1.dcm functional_2.dcm'
54+
>>> converter.run() # doctest: +SKIP
55+
"""
56+
3157
input_spec=Dcm2niiInputSpec
3258
output_spec=Dcm2niiOutputSpec
3359

nipype/interfaces/tests/test_auto_Dcm2nii.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ def test_Dcm2nii_inputs():
4545
position=5,
4646
),
4747
source_names=dict(argstr='%s',
48+
copyfile=False,
4849
mandatory=True,
4950
position=10,
5051
),

0 commit comments

Comments
 (0)