From 9e4a94d3d62c64b7a8efd18fdade0285472c99e5 Mon Sep 17 00:00:00 2001 From: MANDY RENFRO Date: Sat, 25 Feb 2017 14:54:37 -0500 Subject: [PATCH 1/3] add documentation & doc tests to fsl preprocess --- .cache/v/cache/lastfailed | 4 + README.rst | 4 +- nipype/algorithms/tests/test_auto_CompCor.py | 37 ---- .../tests/test_auto_ComputeDVARS.py | 2 + nipype/algorithms/tests/test_auto_ErrorMap.py | 35 ---- .../tests/test_auto_FramewiseDisplacement.py | 2 + nipype/algorithms/tests/test_auto_Overlap.py | 47 ----- nipype/algorithms/tests/test_auto_TSNR.py | 43 ----- .../freesurfer/tests/test_auto_BBRegister.py | 1 + nipype/interfaces/fsl/preprocess.py | 49 ++++-- .../fsl/tests/test_auto_ApplyXFM.py | 164 ------------------ nipype/interfaces/fsl/tests/test_maths.py | 2 +- nipype/pipeline/engine/tests/test_engine.py | 16 +- nipype/testing/data/ev_test_condition_0_1.txt | 2 + nipype/utils/tests/test_filemanip.py | 2 +- 15 files changed, 53 insertions(+), 357 deletions(-) create mode 100644 .cache/v/cache/lastfailed delete mode 100644 nipype/algorithms/tests/test_auto_CompCor.py delete mode 100644 nipype/algorithms/tests/test_auto_ErrorMap.py delete mode 100644 nipype/algorithms/tests/test_auto_Overlap.py delete mode 100644 nipype/algorithms/tests/test_auto_TSNR.py delete mode 100644 nipype/interfaces/fsl/tests/test_auto_ApplyXFM.py create mode 100644 nipype/testing/data/ev_test_condition_0_1.txt diff --git a/.cache/v/cache/lastfailed b/.cache/v/cache/lastfailed new file mode 100644 index 0000000000..e5829d176c --- /dev/null +++ b/.cache/v/cache/lastfailed @@ -0,0 +1,4 @@ +{ + "nipype/pipeline/engine/tests/test_engine.py::test_deep_nested_write_graph_runs": true, + "nipype/pipeline/engine/tests/test_engine.py::test_write_graph_runs": true +} \ No newline at end of file diff --git a/README.rst b/README.rst index 8eb7b3e0c0..8f03485a8a 100644 --- a/README.rst +++ b/README.rst @@ -78,8 +78,8 @@ Support and Communication ------------------------- If you have a problem or would like to ask a question about how to do something in Nipype please open an issue to -`NeuroStars.org `_ with a *nipype* tag. `NeuroStars.org `_ is a -platform similar to StackOverflow but dedicated to neuroinformatics. +`NeuroStars.org `_ with a *nipype* tag. `NeuroStars.org `_ is a +platform similar to StackOverflow but dedicated to neuroinformatics. To participate in the Nipype development related discussions please use the following mailing list:: diff --git a/nipype/algorithms/tests/test_auto_CompCor.py b/nipype/algorithms/tests/test_auto_CompCor.py deleted file mode 100644 index 12cec2ebb0..0000000000 --- a/nipype/algorithms/tests/test_auto_CompCor.py +++ /dev/null @@ -1,37 +0,0 @@ -# AUTO-GENERATED by tools/checkspecs.py - DO NOT EDIT -from __future__ import unicode_literals -from ..confounds import CompCor - - -def test_CompCor_inputs(): - input_map = dict(components_file=dict(usedefault=True, - ), - header=dict(), - ignore_exception=dict(nohash=True, - usedefault=True, - ), - mask_file=dict(), - num_components=dict(usedefault=True, - ), - realigned_file=dict(mandatory=True, - ), - regress_poly_degree=dict(usedefault=True, - ), - use_regress_poly=dict(usedefault=True, - ), - ) - inputs = CompCor.input_spec() - - for key, metadata in list(input_map.items()): - for metakey, value in list(metadata.items()): - assert getattr(inputs.traits()[key], metakey) == value - - -def test_CompCor_outputs(): - output_map = dict(components_file=dict(), - ) - outputs = CompCor.output_spec() - - for key, metadata in list(output_map.items()): - for metakey, value in list(metadata.items()): - assert getattr(outputs.traits()[key], metakey) == value diff --git a/nipype/algorithms/tests/test_auto_ComputeDVARS.py b/nipype/algorithms/tests/test_auto_ComputeDVARS.py index 9a52898fc7..7c59f851d1 100644 --- a/nipype/algorithms/tests/test_auto_ComputeDVARS.py +++ b/nipype/algorithms/tests/test_auto_ComputeDVARS.py @@ -17,6 +17,8 @@ def test_ComputeDVARS_inputs(): ), in_mask=dict(mandatory=True, ), + intensity_normalization=dict(usedefault=True, + ), remove_zerovariance=dict(usedefault=True, ), save_all=dict(usedefault=True, diff --git a/nipype/algorithms/tests/test_auto_ErrorMap.py b/nipype/algorithms/tests/test_auto_ErrorMap.py deleted file mode 100644 index f3d19c5690..0000000000 --- a/nipype/algorithms/tests/test_auto_ErrorMap.py +++ /dev/null @@ -1,35 +0,0 @@ -# AUTO-GENERATED by tools/checkspecs.py - DO NOT EDIT -from __future__ import unicode_literals -from ..metrics import ErrorMap - - -def test_ErrorMap_inputs(): - input_map = dict(ignore_exception=dict(nohash=True, - usedefault=True, - ), - in_ref=dict(mandatory=True, - ), - in_tst=dict(mandatory=True, - ), - mask=dict(), - metric=dict(mandatory=True, - usedefault=True, - ), - out_map=dict(), - ) - inputs = ErrorMap.input_spec() - - for key, metadata in list(input_map.items()): - for metakey, value in list(metadata.items()): - assert getattr(inputs.traits()[key], metakey) == value - - -def test_ErrorMap_outputs(): - output_map = dict(distance=dict(), - out_map=dict(), - ) - outputs = ErrorMap.output_spec() - - for key, metadata in list(output_map.items()): - for metakey, value in list(metadata.items()): - assert getattr(outputs.traits()[key], metakey) == value diff --git a/nipype/algorithms/tests/test_auto_FramewiseDisplacement.py b/nipype/algorithms/tests/test_auto_FramewiseDisplacement.py index da1dec59d6..e230992eec 100644 --- a/nipype/algorithms/tests/test_auto_FramewiseDisplacement.py +++ b/nipype/algorithms/tests/test_auto_FramewiseDisplacement.py @@ -19,6 +19,8 @@ def test_FramewiseDisplacement_inputs(): ), out_file=dict(usedefault=True, ), + parameter_source=dict(mandatory=True, + ), radius=dict(usedefault=True, ), save_plot=dict(usedefault=True, diff --git a/nipype/algorithms/tests/test_auto_Overlap.py b/nipype/algorithms/tests/test_auto_Overlap.py deleted file mode 100644 index dcabbec296..0000000000 --- a/nipype/algorithms/tests/test_auto_Overlap.py +++ /dev/null @@ -1,47 +0,0 @@ -# AUTO-GENERATED by tools/checkspecs.py - DO NOT EDIT -from __future__ import unicode_literals -from ..misc import Overlap - - -def test_Overlap_inputs(): - input_map = dict(bg_overlap=dict(mandatory=True, - usedefault=True, - ), - ignore_exception=dict(nohash=True, - usedefault=True, - ), - mask_volume=dict(), - out_file=dict(usedefault=True, - ), - vol_units=dict(mandatory=True, - usedefault=True, - ), - volume1=dict(mandatory=True, - ), - volume2=dict(mandatory=True, - ), - weighting=dict(usedefault=True, - ), - ) - inputs = Overlap.input_spec() - - for key, metadata in list(input_map.items()): - for metakey, value in list(metadata.items()): - assert getattr(inputs.traits()[key], metakey) == value - - -def test_Overlap_outputs(): - output_map = dict(dice=dict(), - diff_file=dict(), - jaccard=dict(), - labels=dict(), - roi_di=dict(), - roi_ji=dict(), - roi_voldiff=dict(), - volume_difference=dict(), - ) - outputs = Overlap.output_spec() - - for key, metadata in list(output_map.items()): - for metakey, value in list(metadata.items()): - assert getattr(outputs.traits()[key], metakey) == value diff --git a/nipype/algorithms/tests/test_auto_TSNR.py b/nipype/algorithms/tests/test_auto_TSNR.py deleted file mode 100644 index d906d39e3f..0000000000 --- a/nipype/algorithms/tests/test_auto_TSNR.py +++ /dev/null @@ -1,43 +0,0 @@ -# AUTO-GENERATED by tools/checkspecs.py - DO NOT EDIT -from __future__ import unicode_literals -from ..misc import TSNR - - -def test_TSNR_inputs(): - input_map = dict(detrended_file=dict(hash_files=False, - usedefault=True, - ), - ignore_exception=dict(nohash=True, - usedefault=True, - ), - in_file=dict(mandatory=True, - ), - mean_file=dict(hash_files=False, - usedefault=True, - ), - regress_poly=dict(), - stddev_file=dict(hash_files=False, - usedefault=True, - ), - tsnr_file=dict(hash_files=False, - usedefault=True, - ), - ) - inputs = TSNR.input_spec() - - for key, metadata in list(input_map.items()): - for metakey, value in list(metadata.items()): - assert getattr(inputs.traits()[key], metakey) == value - - -def test_TSNR_outputs(): - output_map = dict(detrended_file=dict(), - mean_file=dict(), - stddev_file=dict(), - tsnr_file=dict(), - ) - outputs = TSNR.output_spec() - - for key, metadata in list(output_map.items()): - for metakey, value in list(metadata.items()): - assert getattr(outputs.traits()[key], metakey) == value diff --git a/nipype/interfaces/freesurfer/tests/test_auto_BBRegister.py b/nipype/interfaces/freesurfer/tests/test_auto_BBRegister.py index 8712c27bd5..94ef2446df 100644 --- a/nipype/interfaces/freesurfer/tests/test_auto_BBRegister.py +++ b/nipype/interfaces/freesurfer/tests/test_auto_BBRegister.py @@ -18,6 +18,7 @@ def test_BBRegister_inputs(): usedefault=True, ), init=dict(argstr='--init-%s', + mandatory=True, xor=['init_reg_file'], ), init_reg_file=dict(argstr='--init-reg %s', diff --git a/nipype/interfaces/fsl/preprocess.py b/nipype/interfaces/fsl/preprocess.py index eaab2a830e..af2ea7c04f 100644 --- a/nipype/interfaces/fsl/preprocess.py +++ b/nipype/interfaces/fsl/preprocess.py @@ -118,15 +118,17 @@ class BET(FSLCommand): """Use FSL BET command for skull stripping. For complete details, see the `BET Documentation. - `_ + `_ Examples -------- >>> from nipype.interfaces import fsl - >>> from nipype.testing import example_data >>> btr = fsl.BET() - >>> btr.inputs.in_file = example_data('structural.nii') + >>> btr.inputs.in_file = 'structural.nii' >>> btr.inputs.frac = 0.7 + >>> btr.inputs.out_file = 'brain_anat.nii' + >>> btr.cmdline # doctest: +ALLOW_UNICODE + 'bet structural.nii brain_anat.nii -f 0.70' >>> res = btr.run() # doctest: +SKIP """ @@ -275,7 +277,7 @@ class FASTOutputSpec(TraitedSpec): mixeltype = File(desc="path/name of mixeltype volume file _mixeltype") - partial_volume_map = File(desc="path/name of partial volume file _pveseg") + partial_volume_map = File(desc='path/name of partial volume file _pveseg') partial_volume_files = OutputMultiPath(File( desc='path/name of partial volumes files one for each class, _pve_x')) @@ -288,18 +290,17 @@ class FAST(FSLCommand): """ Use FSL FAST for segmenting and bias correction. For complete details, see the `FAST Documentation. - `_ + `_ Examples -------- >>> from nipype.interfaces import fsl - >>> from nipype.testing import example_data - - Assign options through the ``inputs`` attribute: - >>> fastr = fsl.FAST() - >>> fastr.inputs.in_files = example_data('structural.nii') - >>> out = fastr.run() #doctest: +SKIP + >>> fastr.inputs.in_files = 'structural.nii' + >>> fastr.inputs.out_basename = 'fast_' + >>> fastr.cmdline # doctest: +ALLOW_UNICODE + 'fast -o fast_ -S 1 structural.nii' + >>> out = fastr.run() # doctest: +SKIP """ _cmd = 'fast' @@ -308,12 +309,12 @@ class FAST(FSLCommand): def _format_arg(self, name, spec, value): # first do what should be done in general - formated = super(FAST, self)._format_arg(name, spec, value) + formatted = super(FAST, self)._format_arg(name, spec, value) if name == 'in_files': # FAST needs the -S parameter value to correspond to the number # of input images, otherwise it will ignore all but the first - formated = "-S %d %s" % (len(value), formated) - return formated + formatted = "-S %d %s" % (len(value), formatted) + return formatted def _list_outputs(self): outputs = self.output_spec().get() @@ -526,7 +527,7 @@ class FLIRT(FSLCommand): """Use FSL FLIRT for coregistration. For complete details, see the `FLIRT Documentation. - `_ + `_ To print out the command line help, use: fsl.FLIRT().inputs_help() @@ -665,14 +666,18 @@ class MCFLIRT(FSLCommand): """Use FSL MCFLIRT to do within-modality motion correction. For complete details, see the `MCFLIRT Documentation. - `_ + `_ Examples -------- >>> from nipype.interfaces import fsl - >>> from nipype.testing import example_data - >>> mcflt = fsl.MCFLIRT(in_file=example_data('functional.nii'), cost='mutualinfo') - >>> res = mcflt.run() # doctest: +SKIP + >>> mcflt = fsl.MCFLIRT() + >>> mcflt.inputs.in_file = 'functional.nii' + >>> mcflt.inputs.cost = 'mutualinfo' + >>> mcflt.inputs.out_file = 'moco.nii' + >>> mcflt.cmdline # doctest: +ALLOW_UNICODE + 'mcflirt -in functional.nii -cost mutualinfo -out moco.nii' + >>> res = mcflt.run() # doctest: +SKIP """ _cmd = 'mcflirt' @@ -918,6 +923,9 @@ class FNIRTOutputSpec(TraitedSpec): class FNIRT(FSLCommand): """Use FSL FNIRT for non-linear registration. + For complete details, see the `MCFLIRT Documentation. + `_ + Examples -------- >>> from nipype.interfaces import fsl @@ -1218,6 +1226,9 @@ class SUSANOutputSpec(TraitedSpec): class SUSAN(FSLCommand): """ use FSL SUSAN to perform smoothing + For complete details, see the `MCFLIRT Documentation. + `_ + Examples -------- diff --git a/nipype/interfaces/fsl/tests/test_auto_ApplyXFM.py b/nipype/interfaces/fsl/tests/test_auto_ApplyXFM.py deleted file mode 100644 index cf67b12b2b..0000000000 --- a/nipype/interfaces/fsl/tests/test_auto_ApplyXFM.py +++ /dev/null @@ -1,164 +0,0 @@ -# AUTO-GENERATED by tools/checkspecs.py - DO NOT EDIT -from __future__ import unicode_literals -from ..preprocess import ApplyXFM - - -def test_ApplyXFM_inputs(): - input_map = dict(angle_rep=dict(argstr='-anglerep %s', - ), - apply_isoxfm=dict(argstr='-applyisoxfm %f', - xor=['apply_xfm'], - ), - apply_xfm=dict(argstr='-applyxfm', - requires=['in_matrix_file'], - usedefault=True, - ), - args=dict(argstr='%s', - ), - bbrslope=dict(argstr='-bbrslope %f', - min_ver='5.0.0', - ), - bbrtype=dict(argstr='-bbrtype %s', - min_ver='5.0.0', - ), - bgvalue=dict(argstr='-setbackground %f', - ), - bins=dict(argstr='-bins %d', - ), - coarse_search=dict(argstr='-coarsesearch %d', - units='degrees', - ), - cost=dict(argstr='-cost %s', - ), - cost_func=dict(argstr='-searchcost %s', - ), - datatype=dict(argstr='-datatype %s', - ), - display_init=dict(argstr='-displayinit', - ), - dof=dict(argstr='-dof %d', - ), - echospacing=dict(argstr='-echospacing %f', - min_ver='5.0.0', - ), - environ=dict(nohash=True, - usedefault=True, - ), - fieldmap=dict(argstr='-fieldmap %s', - min_ver='5.0.0', - ), - fieldmapmask=dict(argstr='-fieldmapmask %s', - min_ver='5.0.0', - ), - fine_search=dict(argstr='-finesearch %d', - units='degrees', - ), - force_scaling=dict(argstr='-forcescaling', - ), - ignore_exception=dict(nohash=True, - usedefault=True, - ), - in_file=dict(argstr='-in %s', - mandatory=True, - position=0, - ), - in_matrix_file=dict(argstr='-init %s', - ), - in_weight=dict(argstr='-inweight %s', - ), - interp=dict(argstr='-interp %s', - ), - min_sampling=dict(argstr='-minsampling %f', - units='mm', - ), - no_clamp=dict(argstr='-noclamp', - ), - no_resample=dict(argstr='-noresample', - ), - no_resample_blur=dict(argstr='-noresampblur', - ), - no_search=dict(argstr='-nosearch', - ), - out_file=dict(argstr='-out %s', - hash_files=False, - name_source=['in_file'], - name_template='%s_flirt', - position=2, - ), - out_log=dict(keep_extension=True, - name_source=['in_file'], - name_template='%s_flirt.log', - requires=['save_log'], - ), - out_matrix_file=dict(argstr='-omat %s', - hash_files=False, - keep_extension=True, - name_source=['in_file'], - name_template='%s_flirt.mat', - position=3, - ), - output_type=dict(), - padding_size=dict(argstr='-paddingsize %d', - units='voxels', - ), - pedir=dict(argstr='-pedir %d', - min_ver='5.0.0', - ), - ref_weight=dict(argstr='-refweight %s', - ), - reference=dict(argstr='-ref %s', - mandatory=True, - position=1, - ), - rigid2D=dict(argstr='-2D', - ), - save_log=dict(), - schedule=dict(argstr='-schedule %s', - ), - searchr_x=dict(argstr='-searchrx %s', - units='degrees', - ), - searchr_y=dict(argstr='-searchry %s', - units='degrees', - ), - searchr_z=dict(argstr='-searchrz %s', - units='degrees', - ), - sinc_width=dict(argstr='-sincwidth %d', - units='voxels', - ), - sinc_window=dict(argstr='-sincwindow %s', - ), - terminal_output=dict(nohash=True, - ), - uses_qform=dict(argstr='-usesqform', - ), - verbose=dict(argstr='-verbose %d', - ), - wm_seg=dict(argstr='-wmseg %s', - min_ver='5.0.0', - ), - wmcoords=dict(argstr='-wmcoords %s', - min_ver='5.0.0', - ), - wmnorms=dict(argstr='-wmnorms %s', - min_ver='5.0.0', - ), - ) - inputs = ApplyXFM.input_spec() - - for key, metadata in list(input_map.items()): - for metakey, value in list(metadata.items()): - assert getattr(inputs.traits()[key], metakey) == value - - -def test_ApplyXFM_outputs(): - output_map = dict(out_file=dict(), - out_log=dict(), - out_matrix_file=dict(), - ) - outputs = ApplyXFM.output_spec() - - for key, metadata in list(output_map.items()): - for metakey, value in list(metadata.items()): - assert getattr(outputs.traits()[key], metakey) == value diff --git a/nipype/interfaces/fsl/tests/test_maths.py b/nipype/interfaces/fsl/tests/test_maths.py index e2c6c93bb7..408a74712f 100644 --- a/nipype/interfaces/fsl/tests/test_maths.py +++ b/nipype/interfaces/fsl/tests/test_maths.py @@ -12,7 +12,7 @@ from nipype.interfaces.fsl import no_fsl import pytest -from nipype.testing.fixtures import create_files_in_directory_plus_output_type +from nipype.testing.fixtures import create_files_in_directory_plus_output_type @pytest.mark.skipif(no_fsl(), reason="fsl is not installed") diff --git a/nipype/pipeline/engine/tests/test_engine.py b/nipype/pipeline/engine/tests/test_engine.py index 32271799b8..43345bb8c6 100644 --- a/nipype/pipeline/engine/tests/test_engine.py +++ b/nipype/pipeline/engine/tests/test_engine.py @@ -326,14 +326,14 @@ def test_doubleconnect(): flow1 = pe.Workflow(name='test') flow1.connect(a, 'a', b, 'a') x = lambda: flow1.connect(a, 'b', b, 'a') - with pytest.raises(Exception) as excinfo: + with pytest.raises(Exception) as excinfo: x() assert "Trying to connect" in str(excinfo.value) c = pe.Node(IdentityInterface(fields=['a', 'b']), name='c') flow1 = pe.Workflow(name='test2') x = lambda: flow1.connect([(a, c, [('b', 'b')]), (b, c, [('a', 'b')])]) - with pytest.raises(Exception) as excinfo: + with pytest.raises(Exception) as excinfo: x() assert "Trying to connect" in str(excinfo.value) @@ -481,7 +481,7 @@ def func1(in1): name='n1') n2.inputs.in1 = [[1, [2]], 3, [4, 5]] - with pytest.raises(Exception) as excinfo: + with pytest.raises(Exception) as excinfo: n2.run() assert "can only concatenate list" in str(excinfo.value) @@ -518,7 +518,7 @@ def func2(a): # create dummy distributed plugin class from nipype.pipeline.plugins.base import DistributedPluginBase - # create a custom exception + # create a custom exception class EngineTestException(Exception): pass @@ -529,7 +529,7 @@ def _submit_job(self, node, updatehash=False): # check if a proper exception is raised with pytest.raises(EngineTestException) as excinfo: w1.run(plugin=RaiseError()) - assert 'Submit called' == str(excinfo.value) + assert 'Submit called' == str(excinfo.value) # rerun to ensure we have outputs w1.run(plugin='Linear') @@ -539,7 +539,7 @@ def _submit_job(self, node, updatehash=False): 'crashdump_dir': wd} w1.run(plugin=RaiseError()) - + def test_old_config(tmpdir): wd = str(tmpdir) @@ -607,7 +607,7 @@ def func1(in1): w1.config['execution'].update(**{'stop_on_first_rerun': True}) w1.run() - + def test_parameterize_dirs_false(tmpdir): from ....interfaces.utility import IdentityInterface @@ -665,7 +665,7 @@ def func1(in1): # test running the workflow on serial conditions w1.run(plugin='MultiProc') - + def test_write_graph_runs(tmpdir): os.chdir(str(tmpdir)) diff --git a/nipype/testing/data/ev_test_condition_0_1.txt b/nipype/testing/data/ev_test_condition_0_1.txt new file mode 100644 index 0000000000..a1399761f5 --- /dev/null +++ b/nipype/testing/data/ev_test_condition_0_1.txt @@ -0,0 +1,2 @@ +0.000000 10.000000 1.000000 +10.000000 10.000000 1.000000 diff --git a/nipype/utils/tests/test_filemanip.py b/nipype/utils/tests/test_filemanip.py index 644a055f4b..bf321c5b9c 100644 --- a/nipype/utils/tests/test_filemanip.py +++ b/nipype/utils/tests/test_filemanip.py @@ -306,7 +306,7 @@ def touch(fname): else: assert False, "Should raise OSError on missing dependency" - shutil.rmtree(tmpdir) + shutil.rmtree(tmpdir) def test_json(): From eb24c4d853cf57c4285fb1c1a058fa9657e26abc Mon Sep 17 00:00:00 2001 From: MANDY RENFRO Date: Tue, 14 Mar 2017 14:07:23 -0400 Subject: [PATCH 2/3] fix accidental re-add --- nipype/interfaces/fsl/preprocess.py | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/nipype/interfaces/fsl/preprocess.py b/nipype/interfaces/fsl/preprocess.py index 808358a371..1d85e05b3c 100644 --- a/nipype/interfaces/fsl/preprocess.py +++ b/nipype/interfaces/fsl/preprocess.py @@ -595,16 +595,6 @@ class ApplyXFM(FLIRT): """ input_spec = ApplyXFMInputSpec -class ApplyXfm(ApplyXFM): - """ - .. deprecated:: 0.12.1 - Use :py:class:`nipype.interfaces.fsl.ApplyXFM` instead - """ - def __init__(self, **inputs): - super(ApplyXfm, self).__init__(**inputs) - warn(('This interface has been renamed since 0.12.1, please use ' - 'nipype.interfaces.fsl.ApplyXFM'), - UserWarning) class MCFLIRTInputSpec(FSLCommandInputSpec): in_file = File(exists=True, position=0, argstr="-in %s", mandatory=True, From f5f1b22915dffaded7be4bd193e3c3005697ec87 Mon Sep 17 00:00:00 2001 From: MANDY RENFRO Date: Tue, 14 Mar 2017 14:09:24 -0400 Subject: [PATCH 3/3] Fixed documentation My bad --- nipype/interfaces/fsl/preprocess.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nipype/interfaces/fsl/preprocess.py b/nipype/interfaces/fsl/preprocess.py index 1d85e05b3c..579307a4b5 100644 --- a/nipype/interfaces/fsl/preprocess.py +++ b/nipype/interfaces/fsl/preprocess.py @@ -913,7 +913,7 @@ class FNIRTOutputSpec(TraitedSpec): class FNIRT(FSLCommand): """Use FSL FNIRT for non-linear registration. - For complete details, see the `MCFLIRT Documentation. + For complete details, see the `FNIRT Documentation. `_ Examples @@ -1216,7 +1216,7 @@ class SUSANOutputSpec(TraitedSpec): class SUSAN(FSLCommand): """ use FSL SUSAN to perform smoothing - For complete details, see the `MCFLIRT Documentation. + For complete details, see the `SUSAN Documentation. `_ Examples