Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 28 additions & 2 deletions nipype/interfaces/dcm2nii.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
"""The dcm2nii module provides basic functions for dicom conversion

Change directory to provide relative paths for doctests
>>> import os
>>> filepath = os.path.dirname( os.path.realpath( __file__ ) )
>>> datadir = os.path.realpath(os.path.join(filepath, '../testing/data'))
>>> os.chdir(datadir)
"""

from nipype.interfaces.base import (CommandLine, CommandLineInputSpec,
InputMultiPath, traits, TraitedSpec,
OutputMultiPath, isdefined,
Expand All @@ -8,7 +17,8 @@
import re

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

class Dcm2niiOutputSpec(TraitedSpec):
converted_files = OutputMultiPath(File(exists=True))
Expand All @@ -28,6 +39,21 @@ class Dcm2niiOutputSpec(TraitedSpec):
bvals = OutputMultiPath(File(exists=True))

class Dcm2nii(CommandLine):
"""Uses MRICRON's dcm2nii to convert dicom files

Examples
========

>>> from nipype.interfaces.dcm2nii import Dcm2nii
>>> converter = Dcm2nii()
>>> converter.inputs.source_names = ['functional_1.dcm', 'functional_2.dcm']
>>> converter.inputs.gzip_output = True
>>> converter.inputs.output_dir = '.'
>>> converter.cmdline #doctest: +ELLIPSIS
'dcm2nii -g y -n y -i n -o . -b config.ini functional_1.dcm functional_2.dcm'
>>> converter.run() # doctest: +SKIP
"""

input_spec=Dcm2niiInputSpec
output_spec=Dcm2niiOutputSpec

Expand Down
1 change: 1 addition & 0 deletions nipype/interfaces/tests/test_auto_Dcm2nii.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ def test_Dcm2nii_inputs():
position=5,
),
source_names=dict(argstr='%s',
copyfile=False,
mandatory=True,
position=10,
),
Expand Down