From 79228aa5ef746042f07cd2631d27936381d88ec5 Mon Sep 17 00:00:00 2001 From: mjoseph Date: Thu, 25 Jul 2019 10:55:27 -0400 Subject: [PATCH 1/6] update dwibiascorrect --- nipype/interfaces/mrtrix3/preprocess.py | 24 +++---------------- .../mrtrix3/tests/test_auto_DWIBiasCorrect.py | 15 ++---------- 2 files changed, 5 insertions(+), 34 deletions(-) diff --git a/nipype/interfaces/mrtrix3/preprocess.py b/nipype/interfaces/mrtrix3/preprocess.py index 2be3e532b4..9e2b0404bc 100644 --- a/nipype/interfaces/mrtrix3/preprocess.py +++ b/nipype/interfaces/mrtrix3/preprocess.py @@ -179,27 +179,16 @@ class DWIBiasCorrectInputSpec(MRTrix3BaseInputSpec): in_mask = File( argstr='-mask %s', desc='input mask image for bias field estimation') - _xor_methods = ('use_ants', 'use_fsl') use_ants = traits.Bool( - default_value=True, - usedefault=True, argstr='-ants', desc='use ANTS N4 to estimate the inhomogeneity field', - xor=_xor_methods) + xor=['use_fsl']) use_fsl = traits.Bool( argstr='-fsl', desc='use FSL FAST to estimate the inhomogeneity field', - xor=_xor_methods, + xor=['use_ants'], min_ver='5.0.10') - _xor_grads = ('mrtrix_grad', 'fsl_grad') - mrtrix_grad = File( - argstr='-grad %s', - desc='diffusion gradient table in MRtrix format', - xor=_xor_grads) - fsl_grad = File( - argstr='-fslgrad %s %s', - desc='diffusion gradient table in FSL bvecs/bvals format', - xor=_xor_grads) + _xor_grads = ('grad_file', 'grad_fsl') bias = File( argstr='-bias %s', desc='bias field') @@ -237,13 +226,6 @@ class DWIBiasCorrect(MRTrix3Base): input_spec = DWIBiasCorrectInputSpec output_spec = DWIBiasCorrectOutputSpec - def _list_outputs(self): - outputs = self.output_spec().get() - outputs['out_file'] = op.abspath(self.inputs.out_file) - if self.inputs.bias != Undefined: - outputs['bias'] = op.abspath(self.inputs.bias) - return outputs - class ResponseSDInputSpec(MRTrix3BaseInputSpec): algorithm = traits.Enum( diff --git a/nipype/interfaces/mrtrix3/tests/test_auto_DWIBiasCorrect.py b/nipype/interfaces/mrtrix3/tests/test_auto_DWIBiasCorrect.py index d70545be88..ed6908bb98 100644 --- a/nipype/interfaces/mrtrix3/tests/test_auto_DWIBiasCorrect.py +++ b/nipype/interfaces/mrtrix3/tests/test_auto_DWIBiasCorrect.py @@ -15,11 +15,6 @@ def test_DWIBiasCorrect_inputs(): nohash=True, usedefault=True, ), - fsl_grad=dict( - argstr='-fslgrad %s %s', - extensions=None, - xor=('mrtrix_grad', 'fsl_grad'), - ), grad_file=dict( argstr='-grad %s', extensions=None, @@ -40,11 +35,6 @@ def test_DWIBiasCorrect_inputs(): argstr='-mask %s', extensions=None, ), - mrtrix_grad=dict( - argstr='-grad %s', - extensions=None, - xor=('mrtrix_grad', 'fsl_grad'), - ), nthreads=dict( argstr='-nthreads %d', nohash=True, @@ -60,13 +50,12 @@ def test_DWIBiasCorrect_inputs(): ), use_ants=dict( argstr='-ants', - usedefault=True, - xor=('use_ants', 'use_fsl'), + xor=['use_fsl'], ), use_fsl=dict( argstr='-fsl', min_ver='5.0.10', - xor=('use_ants', 'use_fsl'), + xor=['use_ants'], ), ) inputs = DWIBiasCorrect.input_spec() From 3d09e0a57e935f54348ab588ebcdcbba74d2221e Mon Sep 17 00:00:00 2001 From: mjoseph Date: Thu, 25 Jul 2019 15:53:47 -0400 Subject: [PATCH 2/6] update dwidenoise, mrdegibbs and dwibiascorrect --- nipype/interfaces/mrtrix3/base.py | 6 +- nipype/interfaces/mrtrix3/preprocess.py | 64 ++++++------------- .../mrtrix3/tests/test_auto_DWIBiasCorrect.py | 22 ++----- .../mrtrix3/tests/test_auto_DWIDenoise.py | 10 ++- .../mrtrix3/tests/test_auto_MRDeGibbs.py | 22 +++---- 5 files changed, 49 insertions(+), 75 deletions(-) diff --git a/nipype/interfaces/mrtrix3/base.py b/nipype/interfaces/mrtrix3/base.py index b4e050292e..dfcc2c3787 100644 --- a/nipype/interfaces/mrtrix3/base.py +++ b/nipype/interfaces/mrtrix3/base.py @@ -47,12 +47,14 @@ class MRTrix3BaseInputSpec(CommandLineInputSpec): grad_file = File( exists=True, argstr='-grad %s', - desc='dw gradient scheme (MRTrix format') + desc='dw gradient scheme (MRTrix format)', + xor=['grad_fsl']) grad_fsl = traits.Tuple( File(exists=True), File(exists=True), argstr='-fslgrad %s %s', - desc='(bvecs, bvals) dw gradient scheme (FSL format') + desc='(bvecs, bvals) dw gradient scheme (FSL format)', + xor=['grad_file']) bval_scale = traits.Enum( 'yes', 'no', diff --git a/nipype/interfaces/mrtrix3/preprocess.py b/nipype/interfaces/mrtrix3/preprocess.py index 2be3e532b4..b486b4963f 100644 --- a/nipype/interfaces/mrtrix3/preprocess.py +++ b/nipype/interfaces/mrtrix3/preprocess.py @@ -23,20 +23,27 @@ class DWIDenoiseInputSpec(MRTrix3BaseInputSpec): argstr='-mask %s', position=1, desc='mask image') - extent = traits.Tuple((traits.Int, traits.Int, traits.Int), + extent = traits.Tuple( + (traits.Int, traits.Int, traits.Int), argstr='-extent %d,%d,%d', desc='set the window size of the denoising filter. (default = 5,5,5)') noise = File( argstr='-noise %s', - desc='the output noise map') - out_file = File(name_template='%s_denoised', + name_template='%s_noise', name_source='in_file', keep_extension=True, + desc='the output noise map', + genfile=True) + out_file = File( argstr='%s', position=-1, + name_template='%s_denoised', + name_source='in_file', + keep_extension=True, desc='the output denoised DWI image', genfile=True) + class DWIDenoiseOutputSpec(TraitedSpec): noise = File(desc='the output noise map', exists=True) out_file = File(desc='the output denoised DWI image', exists=True) @@ -76,13 +83,6 @@ class DWIDenoise(MRTrix3Base): input_spec = DWIDenoiseInputSpec output_spec = DWIDenoiseOutputSpec - def _list_outputs(self): - outputs = self.output_spec().get() - outputs['out_file'] = op.abspath(self.inputs.out_file) - if self.inputs.noise != Undefined: - outputs['noise'] = op.abspath(self.inputs.noise) - return outputs - class MRDeGibbsInputSpec(MRTrix3BaseInputSpec): in_file = File( @@ -92,8 +92,7 @@ class MRDeGibbsInputSpec(MRTrix3BaseInputSpec): mandatory=True, desc='input DWI image') axes = traits.ListInt( - default_value=[0,1], - usedefault=True, + [0,1], sep=',', minlen=2, maxlen=2, @@ -101,23 +100,21 @@ class MRDeGibbsInputSpec(MRTrix3BaseInputSpec): desc='indicate the plane in which the data was acquired (axial = 0,1; ' 'coronal = 0,2; sagittal = 1,2') nshifts = traits.Int( - default_value=20, - usedefault=True, + 20, argstr='-nshifts %d', desc='discretization of subpixel spacing (default = 20)') minW = traits.Int( - default_value=1, - usedefault=True, + 1, argstr='-minW %d', desc='left border of window used for total variation (TV) computation ' '(default = 1)') maxW = traits.Int( - default_value=3, - usedefault=True, + 3, argstr='-maxW %d', desc='right border of window used for total variation (TV) computation ' '(default = 3)') - out_file = File(name_template='%s_unr', + out_file = File( + name_template='%s_unr', name_source='in_file', keep_extension=True, argstr='%s', @@ -160,7 +157,7 @@ class MRDeGibbs(MRTrix3Base): >>> unring = mrt.MRDeGibbs() >>> unring.inputs.in_file = 'dwi.mif' >>> unring.cmdline - 'mrdegibbs -axes 0,1 -maxW 3 -minW 1 -nshifts 20 dwi.mif dwi_unr.mif' + 'mrdegibbs dwi.mif dwi_unr.mif' >>> unring.run() # doctest: +SKIP """ @@ -179,31 +176,19 @@ class DWIBiasCorrectInputSpec(MRTrix3BaseInputSpec): in_mask = File( argstr='-mask %s', desc='input mask image for bias field estimation') - _xor_methods = ('use_ants', 'use_fsl') use_ants = traits.Bool( - default_value=True, - usedefault=True, argstr='-ants', desc='use ANTS N4 to estimate the inhomogeneity field', - xor=_xor_methods) + xor=['use_fsl']) use_fsl = traits.Bool( argstr='-fsl', desc='use FSL FAST to estimate the inhomogeneity field', - xor=_xor_methods, - min_ver='5.0.10') - _xor_grads = ('mrtrix_grad', 'fsl_grad') - mrtrix_grad = File( - argstr='-grad %s', - desc='diffusion gradient table in MRtrix format', - xor=_xor_grads) - fsl_grad = File( - argstr='-fslgrad %s %s', - desc='diffusion gradient table in FSL bvecs/bvals format', - xor=_xor_grads) + xor=['use_ants']) bias = File( argstr='-bias %s', desc='bias field') - out_file = File(name_template='%s_biascorr', + out_file = File( + name_template='%s_biascorr', name_source='in_file', keep_extension=True, argstr='%s', @@ -237,13 +222,6 @@ class DWIBiasCorrect(MRTrix3Base): input_spec = DWIBiasCorrectInputSpec output_spec = DWIBiasCorrectOutputSpec - def _list_outputs(self): - outputs = self.output_spec().get() - outputs['out_file'] = op.abspath(self.inputs.out_file) - if self.inputs.bias != Undefined: - outputs['bias'] = op.abspath(self.inputs.bias) - return outputs - class ResponseSDInputSpec(MRTrix3BaseInputSpec): algorithm = traits.Enum( diff --git a/nipype/interfaces/mrtrix3/tests/test_auto_DWIBiasCorrect.py b/nipype/interfaces/mrtrix3/tests/test_auto_DWIBiasCorrect.py index d70545be88..bd9ac531a6 100644 --- a/nipype/interfaces/mrtrix3/tests/test_auto_DWIBiasCorrect.py +++ b/nipype/interfaces/mrtrix3/tests/test_auto_DWIBiasCorrect.py @@ -15,16 +15,15 @@ def test_DWIBiasCorrect_inputs(): nohash=True, usedefault=True, ), - fsl_grad=dict( - argstr='-fslgrad %s %s', - extensions=None, - xor=('mrtrix_grad', 'fsl_grad'), - ), grad_file=dict( argstr='-grad %s', extensions=None, + xor=['grad_fsl'], + ), + grad_fsl=dict( + argstr='-fslgrad %s %s', + xor=['grad_file'], ), - grad_fsl=dict(argstr='-fslgrad %s %s', ), in_bval=dict(extensions=None, ), in_bvec=dict( argstr='-fslgrad %s %s', @@ -40,11 +39,6 @@ def test_DWIBiasCorrect_inputs(): argstr='-mask %s', extensions=None, ), - mrtrix_grad=dict( - argstr='-grad %s', - extensions=None, - xor=('mrtrix_grad', 'fsl_grad'), - ), nthreads=dict( argstr='-nthreads %d', nohash=True, @@ -60,13 +54,11 @@ def test_DWIBiasCorrect_inputs(): ), use_ants=dict( argstr='-ants', - usedefault=True, - xor=('use_ants', 'use_fsl'), + xor=['use_fsl'], ), use_fsl=dict( argstr='-fsl', - min_ver='5.0.10', - xor=('use_ants', 'use_fsl'), + xor=['use_ants'], ), ) inputs = DWIBiasCorrect.input_spec() diff --git a/nipype/interfaces/mrtrix3/tests/test_auto_DWIDenoise.py b/nipype/interfaces/mrtrix3/tests/test_auto_DWIDenoise.py index 97acf7f526..cf57f839af 100644 --- a/nipype/interfaces/mrtrix3/tests/test_auto_DWIDenoise.py +++ b/nipype/interfaces/mrtrix3/tests/test_auto_DWIDenoise.py @@ -15,8 +15,12 @@ def test_DWIDenoise_inputs(): grad_file=dict( argstr='-grad %s', extensions=None, + xor=['grad_fsl'], + ), + grad_fsl=dict( + argstr='-fslgrad %s %s', + xor=['grad_file'], ), - grad_fsl=dict(argstr='-fslgrad %s %s', ), in_bval=dict(extensions=None, ), in_bvec=dict( argstr='-fslgrad %s %s', @@ -36,6 +40,10 @@ def test_DWIDenoise_inputs(): noise=dict( argstr='-noise %s', extensions=None, + genfile=True, + keep_extension=True, + name_source='in_file', + name_template='%s_noise', ), nthreads=dict( argstr='-nthreads %d', diff --git a/nipype/interfaces/mrtrix3/tests/test_auto_MRDeGibbs.py b/nipype/interfaces/mrtrix3/tests/test_auto_MRDeGibbs.py index e6bdd21243..52e126cbb5 100644 --- a/nipype/interfaces/mrtrix3/tests/test_auto_MRDeGibbs.py +++ b/nipype/interfaces/mrtrix3/tests/test_auto_MRDeGibbs.py @@ -11,7 +11,6 @@ def test_MRDeGibbs_inputs(): maxlen=2, minlen=2, sep=',', - usedefault=True, ), bval_scale=dict(argstr='-bvalue_scaling %s', ), environ=dict( @@ -21,8 +20,12 @@ def test_MRDeGibbs_inputs(): grad_file=dict( argstr='-grad %s', extensions=None, + xor=['grad_fsl'], + ), + grad_fsl=dict( + argstr='-fslgrad %s %s', + xor=['grad_file'], ), - grad_fsl=dict(argstr='-fslgrad %s %s', ), in_bval=dict(extensions=None, ), in_bvec=dict( argstr='-fslgrad %s %s', @@ -34,18 +37,9 @@ def test_MRDeGibbs_inputs(): mandatory=True, position=-2, ), - maxW=dict( - argstr='-maxW %d', - usedefault=True, - ), - minW=dict( - argstr='-minW %d', - usedefault=True, - ), - nshifts=dict( - argstr='-nshifts %d', - usedefault=True, - ), + maxW=dict(argstr='-maxW %d', ), + minW=dict(argstr='-minW %d', ), + nshifts=dict(argstr='-nshifts %d', ), nthreads=dict( argstr='-nthreads %d', nohash=True, From 043a871add1fb75c5e7eac7a2685d2e7ccac28dd Mon Sep 17 00:00:00 2001 From: mjoseph Date: Thu, 25 Jul 2019 16:45:21 -0400 Subject: [PATCH 3/6] fix failing doctests --- nipype/interfaces/mrtrix3/preprocess.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nipype/interfaces/mrtrix3/preprocess.py b/nipype/interfaces/mrtrix3/preprocess.py index b486b4963f..902070bcf0 100644 --- a/nipype/interfaces/mrtrix3/preprocess.py +++ b/nipype/interfaces/mrtrix3/preprocess.py @@ -74,8 +74,9 @@ class DWIDenoise(MRTrix3Base): >>> denoise = mrt.DWIDenoise() >>> denoise.inputs.in_file = 'dwi.mif' >>> denoise.inputs.mask = 'mask.mif' + >>> denoise.inputs.noise = 'noise.mif' >>> denoise.cmdline # doctest: +ELLIPSIS - 'dwidenoise -mask mask.mif dwi.mif dwi_denoised.mif' + 'dwidenoise -mask mask.mif -noise noise.mif dwi.mif dwi_denoised.mif' >>> denoise.run() # doctest: +SKIP """ @@ -213,6 +214,7 @@ class DWIBiasCorrect(MRTrix3Base): >>> import nipype.interfaces.mrtrix3 as mrt >>> bias_correct = mrt.DWIBiasCorrect() >>> bias_correct.inputs.in_file = 'dwi.mif' + >>> bias_correct.inputs.use_ants = True >>> bias_correct.cmdline 'dwibiascorrect -ants dwi.mif dwi_biascorr.mif' >>> bias_correct.run() # doctest: +SKIP From 91c5c84ae8db627024c2e4cdc79b71d5c52322de Mon Sep 17 00:00:00 2001 From: Michael Joseph Date: Fri, 26 Jul 2019 06:19:12 -0400 Subject: [PATCH 4/6] address suggested changes --- nipype/interfaces/mrtrix3/preprocess.py | 23 ++++++++++--------- .../mrtrix3/tests/test_auto_DWIDenoise.py | 2 -- .../mrtrix3/tests/test_auto_MRDeGibbs.py | 17 ++++++++++---- 3 files changed, 25 insertions(+), 17 deletions(-) diff --git a/nipype/interfaces/mrtrix3/preprocess.py b/nipype/interfaces/mrtrix3/preprocess.py index 902070bcf0..07b9e83658 100644 --- a/nipype/interfaces/mrtrix3/preprocess.py +++ b/nipype/interfaces/mrtrix3/preprocess.py @@ -32,16 +32,14 @@ class DWIDenoiseInputSpec(MRTrix3BaseInputSpec): name_template='%s_noise', name_source='in_file', keep_extension=True, - desc='the output noise map', - genfile=True) + desc='the output noise map') out_file = File( argstr='%s', position=-1, name_template='%s_denoised', name_source='in_file', keep_extension=True, - desc='the output denoised DWI image', - genfile=True) + desc='the output denoised DWI image') class DWIDenoiseOutputSpec(TraitedSpec): @@ -93,7 +91,8 @@ class MRDeGibbsInputSpec(MRTrix3BaseInputSpec): mandatory=True, desc='input DWI image') axes = traits.ListInt( - [0,1], + default_value=[0, 1], + use_default=True, sep=',', minlen=2, maxlen=2, @@ -101,16 +100,19 @@ class MRDeGibbsInputSpec(MRTrix3BaseInputSpec): desc='indicate the plane in which the data was acquired (axial = 0,1; ' 'coronal = 0,2; sagittal = 1,2') nshifts = traits.Int( - 20, + default_value=20, + use_default=True, argstr='-nshifts %d', desc='discretization of subpixel spacing (default = 20)') minW = traits.Int( - 1, + default_value=1, + use_default=True, argstr='-minW %d', desc='left border of window used for total variation (TV) computation ' '(default = 1)') maxW = traits.Int( - 3, + default_value=3, + use_default=True, argstr='-maxW %d', desc='right border of window used for total variation (TV) computation ' '(default = 3)') @@ -120,8 +122,7 @@ class MRDeGibbsInputSpec(MRTrix3BaseInputSpec): keep_extension=True, argstr='%s', position=-1, - desc='the output unringed DWI image', - genfile=True) + desc='the output unringed DWI image') class MRDeGibbsOutputSpec(TraitedSpec): out_file = File(desc='the output unringed DWI image', exists=True) @@ -158,7 +159,7 @@ class MRDeGibbs(MRTrix3Base): >>> unring = mrt.MRDeGibbs() >>> unring.inputs.in_file = 'dwi.mif' >>> unring.cmdline - 'mrdegibbs dwi.mif dwi_unr.mif' + 'mrdegibbs -axes 0,1 -maxW 3 -minW 1 -nshifts 20 dwi.mif dwi_unr.mif' >>> unring.run() # doctest: +SKIP """ diff --git a/nipype/interfaces/mrtrix3/tests/test_auto_DWIDenoise.py b/nipype/interfaces/mrtrix3/tests/test_auto_DWIDenoise.py index cf57f839af..64ef1284e7 100644 --- a/nipype/interfaces/mrtrix3/tests/test_auto_DWIDenoise.py +++ b/nipype/interfaces/mrtrix3/tests/test_auto_DWIDenoise.py @@ -40,7 +40,6 @@ def test_DWIDenoise_inputs(): noise=dict( argstr='-noise %s', extensions=None, - genfile=True, keep_extension=True, name_source='in_file', name_template='%s_noise', @@ -52,7 +51,6 @@ def test_DWIDenoise_inputs(): out_file=dict( argstr='%s', extensions=None, - genfile=True, keep_extension=True, name_source='in_file', name_template='%s_denoised', diff --git a/nipype/interfaces/mrtrix3/tests/test_auto_MRDeGibbs.py b/nipype/interfaces/mrtrix3/tests/test_auto_MRDeGibbs.py index 52e126cbb5..7982b6bf10 100644 --- a/nipype/interfaces/mrtrix3/tests/test_auto_MRDeGibbs.py +++ b/nipype/interfaces/mrtrix3/tests/test_auto_MRDeGibbs.py @@ -11,6 +11,7 @@ def test_MRDeGibbs_inputs(): maxlen=2, minlen=2, sep=',', + use_default=True, ), bval_scale=dict(argstr='-bvalue_scaling %s', ), environ=dict( @@ -37,9 +38,18 @@ def test_MRDeGibbs_inputs(): mandatory=True, position=-2, ), - maxW=dict(argstr='-maxW %d', ), - minW=dict(argstr='-minW %d', ), - nshifts=dict(argstr='-nshifts %d', ), + maxW=dict( + argstr='-maxW %d', + use_default=True, + ), + minW=dict( + argstr='-minW %d', + use_default=True, + ), + nshifts=dict( + argstr='-nshifts %d', + use_default=True, + ), nthreads=dict( argstr='-nthreads %d', nohash=True, @@ -47,7 +57,6 @@ def test_MRDeGibbs_inputs(): out_file=dict( argstr='%s', extensions=None, - genfile=True, keep_extension=True, name_source='in_file', name_template='%s_unr', From 535a4b06205a829593ddd1d1113b7dbf8e81a15c Mon Sep 17 00:00:00 2001 From: Michael Joseph Date: Fri, 26 Jul 2019 07:21:49 -0400 Subject: [PATCH 5/6] fix doctest --- nipype/interfaces/mrtrix3/preprocess.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nipype/interfaces/mrtrix3/preprocess.py b/nipype/interfaces/mrtrix3/preprocess.py index 07b9e83658..e90a873988 100644 --- a/nipype/interfaces/mrtrix3/preprocess.py +++ b/nipype/interfaces/mrtrix3/preprocess.py @@ -159,7 +159,7 @@ class MRDeGibbs(MRTrix3Base): >>> unring = mrt.MRDeGibbs() >>> unring.inputs.in_file = 'dwi.mif' >>> unring.cmdline - 'mrdegibbs -axes 0,1 -maxW 3 -minW 1 -nshifts 20 dwi.mif dwi_unr.mif' + 'mrdegibbs dwi.mif dwi_unr.mif' >>> unring.run() # doctest: +SKIP """ From aaf7d20f4cc7f7d031ad67f8775d65bb369885e3 Mon Sep 17 00:00:00 2001 From: mjoseph Date: Fri, 26 Jul 2019 10:06:06 -0400 Subject: [PATCH 6/6] usedefault instead of use_default --- nipype/interfaces/mrtrix3/preprocess.py | 12 +++++++----- .../mrtrix3/tests/test_auto_DWIBiasCorrect.py | 2 ++ .../interfaces/mrtrix3/tests/test_auto_MRDeGibbs.py | 8 ++++---- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/nipype/interfaces/mrtrix3/preprocess.py b/nipype/interfaces/mrtrix3/preprocess.py index e90a873988..3f8056c7dd 100644 --- a/nipype/interfaces/mrtrix3/preprocess.py +++ b/nipype/interfaces/mrtrix3/preprocess.py @@ -92,7 +92,7 @@ class MRDeGibbsInputSpec(MRTrix3BaseInputSpec): desc='input DWI image') axes = traits.ListInt( default_value=[0, 1], - use_default=True, + usedefault=True, sep=',', minlen=2, maxlen=2, @@ -101,18 +101,18 @@ class MRDeGibbsInputSpec(MRTrix3BaseInputSpec): 'coronal = 0,2; sagittal = 1,2') nshifts = traits.Int( default_value=20, - use_default=True, + usedefault=True, argstr='-nshifts %d', desc='discretization of subpixel spacing (default = 20)') minW = traits.Int( default_value=1, - use_default=True, + usedefault=True, argstr='-minW %d', desc='left border of window used for total variation (TV) computation ' '(default = 1)') maxW = traits.Int( default_value=3, - use_default=True, + usedefault=True, argstr='-maxW %d', desc='right border of window used for total variation (TV) computation ' '(default = 3)') @@ -159,7 +159,7 @@ class MRDeGibbs(MRTrix3Base): >>> unring = mrt.MRDeGibbs() >>> unring.inputs.in_file = 'dwi.mif' >>> unring.cmdline - 'mrdegibbs dwi.mif dwi_unr.mif' + 'mrdegibbs -axes 0,1 -maxW 3 -minW 1 -nshifts 20 dwi.mif dwi_unr.mif' >>> unring.run() # doctest: +SKIP """ @@ -180,10 +180,12 @@ class DWIBiasCorrectInputSpec(MRTrix3BaseInputSpec): desc='input mask image for bias field estimation') use_ants = traits.Bool( argstr='-ants', + mandatory=True, desc='use ANTS N4 to estimate the inhomogeneity field', xor=['use_fsl']) use_fsl = traits.Bool( argstr='-fsl', + mandatory=True, desc='use FSL FAST to estimate the inhomogeneity field', xor=['use_ants']) bias = File( diff --git a/nipype/interfaces/mrtrix3/tests/test_auto_DWIBiasCorrect.py b/nipype/interfaces/mrtrix3/tests/test_auto_DWIBiasCorrect.py index bd9ac531a6..f72f36daaa 100644 --- a/nipype/interfaces/mrtrix3/tests/test_auto_DWIBiasCorrect.py +++ b/nipype/interfaces/mrtrix3/tests/test_auto_DWIBiasCorrect.py @@ -54,10 +54,12 @@ def test_DWIBiasCorrect_inputs(): ), use_ants=dict( argstr='-ants', + mandatory=True, xor=['use_fsl'], ), use_fsl=dict( argstr='-fsl', + mandatory=True, xor=['use_ants'], ), ) diff --git a/nipype/interfaces/mrtrix3/tests/test_auto_MRDeGibbs.py b/nipype/interfaces/mrtrix3/tests/test_auto_MRDeGibbs.py index 7982b6bf10..cd730465e1 100644 --- a/nipype/interfaces/mrtrix3/tests/test_auto_MRDeGibbs.py +++ b/nipype/interfaces/mrtrix3/tests/test_auto_MRDeGibbs.py @@ -11,7 +11,7 @@ def test_MRDeGibbs_inputs(): maxlen=2, minlen=2, sep=',', - use_default=True, + usedefault=True, ), bval_scale=dict(argstr='-bvalue_scaling %s', ), environ=dict( @@ -40,15 +40,15 @@ def test_MRDeGibbs_inputs(): ), maxW=dict( argstr='-maxW %d', - use_default=True, + usedefault=True, ), minW=dict( argstr='-minW %d', - use_default=True, + usedefault=True, ), nshifts=dict( argstr='-nshifts %d', - use_default=True, + usedefault=True, ), nthreads=dict( argstr='-nthreads %d',