diff --git a/nipype/interfaces/afni/__init__.py b/nipype/interfaces/afni/__init__.py index 96ba268241..791b8b25f6 100644 --- a/nipype/interfaces/afni/__init__.py +++ b/nipype/interfaces/afni/__init__.py @@ -17,8 +17,8 @@ Seg, SkullStrip, TCorr1D, TCorrMap, TCorrelate, TShift, Volreg, Warp, QwarpPlusMinus, Qwarp) from .svm import (SVMTest, SVMTrain) -from .utils import (AFNItoNIFTI, Autobox,Axialize, BrickStat, Calc, Copy, Edge3, - Eval, FWHMx, - MaskTool, Merge, Notes, Refit, Resample, TCat, TStat, To3D, - Unifize, ZCutUp, GCOR,Zcat, Zeropad) +from .utils import (AFNItoNIFTI, Autobox, Axialize, BrickStat, Calc, Cat, Copy, + Edge3, Eval, FWHMx, MaskTool, Merge, Notes, NwarpApply, + Refit, Resample, TCat, TStat, To3D, Unifize, ZCutUp, GCOR, + Zcat, Zeropad) from .model import (Deconvolve, Remlfit) diff --git a/nipype/interfaces/afni/model.py b/nipype/interfaces/afni/model.py index 2929531b62..475e2c9d73 100644 --- a/nipype/interfaces/afni/model.py +++ b/nipype/interfaces/afni/model.py @@ -360,7 +360,6 @@ class RemlfitInputSpec(AFNICommandInputSpec): 'option. Each column in the specified file(s) will be appended ' 'to the matrix. File(s) must have at least as many rows as the ' 'matrix does.', - exists=True, copyfile=False, sep=" ", argstr='-addbase %s') diff --git a/nipype/interfaces/afni/tests/test_auto_Axialize.py b/nipype/interfaces/afni/tests/test_auto_Axialize.py new file mode 100644 index 0000000000..6d04decdaa --- /dev/null +++ b/nipype/interfaces/afni/tests/test_auto_Axialize.py @@ -0,0 +1,55 @@ +# AUTO-GENERATED by tools/checkspecs.py - DO NOT EDIT +from __future__ import unicode_literals +from ..utils import Axialize + + +def test_Axialize_inputs(): + input_map = dict(args=dict(argstr='%s', + ), + axial=dict(argstr='-axial', + xor=['coronal', 'sagittal'], + ), + coronal=dict(argstr='-coronal', + xor=['sagittal', 'axial'], + ), + environ=dict(nohash=True, + usedefault=True, + ), + ignore_exception=dict(nohash=True, + usedefault=True, + ), + in_file=dict(argstr='%s', + copyfile=False, + mandatory=True, + position=-2, + ), + orientation=dict(argstr='-orient %s', + ), + out_file=dict(argstr='-prefix %s', + name_source='in_file', + name_template='%s_axialize', + ), + outputtype=dict(), + sagittal=dict(argstr='-sagittal', + xor=['coronal', 'axial'], + ), + terminal_output=dict(nohash=True, + ), + verb=dict(argstr='-verb', + ), + ) + inputs = Axialize.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_Axialize_outputs(): + output_map = dict(out_file=dict(), + ) + outputs = Axialize.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/afni/tests/test_auto_BrickStat.py b/nipype/interfaces/afni/tests/test_auto_BrickStat.py index fc095e5fa3..f15a8d972d 100644 --- a/nipype/interfaces/afni/tests/test_auto_BrickStat.py +++ b/nipype/interfaces/afni/tests/test_auto_BrickStat.py @@ -19,11 +19,23 @@ def test_BrickStat_inputs(): mask=dict(argstr='-mask %s', position=2, ), + max=dict(argstr='-max', + ), + mean=dict(argstr='-mean', + ), min=dict(argstr='-min', position=1, ), + percentile=dict(argstr='-percentile %.3f %.3f %.3f', + ), + slow=dict(argstr='-slow', + ), + sum=dict(argstr='-sum', + ), terminal_output=dict(nohash=True, ), + var=dict(argstr='-var', + ), ) inputs = BrickStat.input_spec() diff --git a/nipype/interfaces/afni/tests/test_auto_Cat.py b/nipype/interfaces/afni/tests/test_auto_Cat.py new file mode 100644 index 0000000000..c35c3e86b9 --- /dev/null +++ b/nipype/interfaces/afni/tests/test_auto_Cat.py @@ -0,0 +1,66 @@ +# AUTO-GENERATED by tools/checkspecs.py - DO NOT EDIT +from __future__ import unicode_literals +from ..utils import Cat + + +def test_Cat_inputs(): + input_map = dict(args=dict(argstr='%s', + ), + environ=dict(nohash=True, + usedefault=True, + ), + ignore_exception=dict(nohash=True, + usedefault=True, + ), + in_files=dict(argstr='%s', + mandatory=True, + position=-2, + ), + keepfree=dict(argstr='-nonfixed', + ), + omitconst=dict(argstr='-nonconst', + ), + out_cint=dict(xor=['out_format', 'out_nice', 'out_double', 'out_fint', 'out_int'], + ), + out_double=dict(argstr='-d', + xor=['out_format', 'out_nice', 'out_int', 'out_fint', 'out_cint'], + ), + out_file=dict(argstr='> %s', + mandatory=True, + position=-1, + ), + out_fint=dict(argstr='-f', + xor=['out_format', 'out_nice', 'out_double', 'out_int', 'out_cint'], + ), + out_format=dict(argstr='-form %s', + xor=['out_int', 'out_nice', 'out_double', 'out_fint', 'out_cint'], + ), + out_int=dict(argstr='-i', + xor=['out_format', 'out_nice', 'out_double', 'out_fint', 'out_cint'], + ), + out_nice=dict(argstr='-n', + xor=['out_format', 'out_int', 'out_double', 'out_fint', 'out_cint'], + ), + outputtype=dict(), + sel=dict(argstr='-sel %s', + ), + stack=dict(argstr='-stack', + ), + terminal_output=dict(nohash=True, + ), + ) + inputs = Cat.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_Cat_outputs(): + output_map = dict(out_file=dict(), + ) + outputs = Cat.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/afni/tests/test_auto_NwarpApply.py b/nipype/interfaces/afni/tests/test_auto_NwarpApply.py new file mode 100644 index 0000000000..273d0fed47 --- /dev/null +++ b/nipype/interfaces/afni/tests/test_auto_NwarpApply.py @@ -0,0 +1,58 @@ +# AUTO-GENERATED by tools/checkspecs.py - DO NOT EDIT +from __future__ import unicode_literals +from ..utils import NwarpApply + + +def test_NwarpApply_inputs(): + input_map = dict(ainterp=dict(argstr='-ainterp %s', + ), + args=dict(argstr='%s', + ), + environ=dict(nohash=True, + usedefault=True, + ), + ignore_exception=dict(nohash=True, + usedefault=True, + ), + in_file=dict(argstr='-source %s', + mandatory=True, + ), + interp=dict(argstr='-interp %s', + ), + inv_warp=dict(argstr='-iwarp', + ), + master=dict(argstr='-master %s', + ), + out_file=dict(argstr='-prefix %s', + name_source='in_file', + name_template='%s_Nwarp', + ), + quiet=dict(argstr='-quiet', + xor=['verb'], + ), + short=dict(argstr='-short', + ), + terminal_output=dict(nohash=True, + ), + verb=dict(argstr='-verb', + xor=['quiet'], + ), + warp=dict(argstr='-nwarp %s', + mandatory=True, + ), + ) + inputs = NwarpApply.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_NwarpApply_outputs(): + output_map = dict(out_file=dict(), + ) + outputs = NwarpApply.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/afni/tests/test_auto_Qwarp.py b/nipype/interfaces/afni/tests/test_auto_Qwarp.py new file mode 100644 index 0000000000..2848fe97f8 --- /dev/null +++ b/nipype/interfaces/afni/tests/test_auto_Qwarp.py @@ -0,0 +1,158 @@ +# AUTO-GENERATED by tools/checkspecs.py - DO NOT EDIT +from __future__ import unicode_literals +from ..preprocess import Qwarp + + +def test_Qwarp_inputs(): + input_map = dict(Qfinal=dict(argstr='-Qfinal', + ), + Qonly=dict(argstr='-Qonly', + ), + allsave=dict(argstr='-allsave', + xor=['nopadWARP', 'duplo', 'plusminus'], + ), + args=dict(argstr='%s', + ), + ballopt=dict(argstr='-ballopt', + xor=['workhard', 'boxopt'], + ), + base_file=dict(argstr='-base %s', + copyfile=False, + mandatory=True, + ), + baxopt=dict(argstr='-boxopt', + xor=['workhard', 'ballopt'], + ), + blur=dict(argstr='-blur %s', + ), + duplo=dict(argstr='-duplo', + xor=['gridlist', 'maxlev', 'inilev', 'iniwarp', 'plusminus', 'allsave'], + ), + emask=dict(argstr='-emask %s', + copyfile=False, + ), + environ=dict(nohash=True, + usedefault=True, + ), + expad=dict(argstr='-expad %d', + xor=['nopadWARP'], + ), + gridlist=dict(argstr='-gridlist %s', + copyfile=False, + xor=['duplo', 'plusminus'], + ), + hel=dict(argstr='-hel', + xor=['nmi', 'mi', 'lpc', 'lpa', 'pear'], + ), + ignore_exception=dict(nohash=True, + usedefault=True, + ), + in_file=dict(argstr='-source %s', + copyfile=False, + mandatory=True, + ), + inilev=dict(argstr='-inlev %d', + xor=['duplo'], + ), + iniwarp=dict(argstr='-iniwarp %s', + xor=['duplo'], + ), + iwarp=dict(argstr='-iwarp', + xor=['plusminus'], + ), + lpa=dict(argstr='-lpa', + xor=['nmi', 'mi', 'lpc', 'hel', 'pear'], + ), + lpc=dict(argstr='-lpc', + position=-2, + xor=['nmi', 'mi', 'hel', 'lpa', 'pear'], + ), + maxlev=dict(argstr='-maxlev %d', + position=-1, + xor=['duplo'], + ), + mi=dict(argstr='-mi', + xor=['mi', 'hel', 'lpc', 'lpa', 'pear'], + ), + minpatch=dict(argstr='-minpatch %d', + ), + nmi=dict(argstr='-nmi', + xor=['nmi', 'hel', 'lpc', 'lpa', 'pear'], + ), + noXdis=dict(argstr='-noXdis', + ), + noYdis=dict(argstr='-noYdis', + ), + noZdis=dict(argstr='-noZdis', + ), + noneg=dict(argstr='-noneg', + ), + nopad=dict(argstr='-nopad', + ), + nopadWARP=dict(argstr='-nopadWARP', + xor=['allsave', 'expad'], + ), + nopenalty=dict(argstr='-nopenalty', + ), + nowarp=dict(argstr='-nowarp', + ), + noweight=dict(argstr='-noweight', + ), + out_file=dict(argstr='-prefix %s', + genfile=True, + name_source=['in_file'], + name_template='%s_QW', + ), + out_weight_file=dict(argstr='-wtprefix %s', + ), + outputtype=dict(), + overwrite=dict(argstr='-overwrite', + ), + pblur=dict(argstr='-pblur %s', + ), + pear=dict(argstr='-pear', + ), + penfac=dict(argstr='-penfac %f', + ), + plusminus=dict(argstr='-plusminus', + xor=['duplo', 'allsave', 'iwarp'], + ), + quiet=dict(argstr='-quiet', + xor=['verb'], + ), + resample=dict(argstr='-resample', + ), + terminal_output=dict(nohash=True, + ), + verb=dict(argstr='-verb', + xor=['quiet'], + ), + wball=dict(argstr='-wball %s', + ), + weight=dict(argstr='-weight %s', + ), + wmask=dict(argstr='-wpass %s %f', + ), + workhard=dict(argstr='-workhard', + xor=['boxopt', 'ballopt'], + ), + ) + inputs = Qwarp.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_Qwarp_outputs(): + output_map = dict(base_warp=dict(), + source_warp=dict(), + warped_base=dict(), + warped_source=dict(), + weights=dict(), + ) + outputs = Qwarp.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/afni/tests/test_auto_Remlfit.py b/nipype/interfaces/afni/tests/test_auto_Remlfit.py index 8e216aa01d..a061a01449 100644 --- a/nipype/interfaces/afni/tests/test_auto_Remlfit.py +++ b/nipype/interfaces/afni/tests/test_auto_Remlfit.py @@ -8,7 +8,6 @@ def test_Remlfit_inputs(): ), addbase=dict(argstr='-addbase %s', copyfile=False, - exists=True, sep=' ', ), args=dict(argstr='%s', diff --git a/nipype/interfaces/afni/tests/test_auto_Zcat.py b/nipype/interfaces/afni/tests/test_auto_Zcat.py new file mode 100644 index 0000000000..48f742df5e --- /dev/null +++ b/nipype/interfaces/afni/tests/test_auto_Zcat.py @@ -0,0 +1,51 @@ +# AUTO-GENERATED by tools/checkspecs.py - DO NOT EDIT +from __future__ import unicode_literals +from ..utils import Zcat + + +def test_Zcat_inputs(): + input_map = dict(args=dict(argstr='%s', + ), + datum=dict(argstr='-datum %s', + ), + environ=dict(nohash=True, + usedefault=True, + ), + fscale=dict(argstr='-fscale', + xor=['nscale'], + ), + ignore_exception=dict(nohash=True, + usedefault=True, + ), + in_files=dict(argstr='%s', + copyfile=False, + mandatory=True, + position=-1, + ), + nscale=dict(argstr='-nscale', + xor=['fscale'], + ), + out_file=dict(argstr='-prefix %s', + name_template='zcat', + ), + outputtype=dict(), + terminal_output=dict(nohash=True, + ), + verb=dict(argstr='-verb', + ), + ) + inputs = Zcat.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_Zcat_outputs(): + output_map = dict(out_file=dict(), + ) + outputs = Zcat.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/afni/tests/test_auto_Zeropad.py b/nipype/interfaces/afni/tests/test_auto_Zeropad.py new file mode 100644 index 0000000000..551498e1ab --- /dev/null +++ b/nipype/interfaces/afni/tests/test_auto_Zeropad.py @@ -0,0 +1,77 @@ +# AUTO-GENERATED by tools/checkspecs.py - DO NOT EDIT +from __future__ import unicode_literals +from ..utils import Zeropad + + +def test_Zeropad_inputs(): + input_map = dict(A=dict(argstr='-A %i', + xor=['master'], + ), + AP=dict(argstr='-AP %i', + xor=['master'], + ), + I=dict(argstr='-I %i', + xor=['master'], + ), + IS=dict(argstr='-IS %i', + xor=['master'], + ), + L=dict(argstr='-L %i', + xor=['master'], + ), + P=dict(argstr='-P %i', + xor=['master'], + ), + R=dict(argstr='-R %i', + xor=['master'], + ), + RL=dict(argstr='-RL %i', + xor=['master'], + ), + S=dict(argstr='-S %i', + xor=['master'], + ), + args=dict(argstr='%s', + ), + environ=dict(nohash=True, + usedefault=True, + ), + ignore_exception=dict(nohash=True, + usedefault=True, + ), + in_files=dict(argstr='%s', + copyfile=False, + mandatory=True, + position=-1, + ), + master=dict(argstr='-master %s', + xor=['I', 'S', 'A', 'P', 'L', 'R', 'z', 'RL', 'AP', 'IS', 'mm'], + ), + mm=dict(argstr='-mm', + xor=['master'], + ), + out_file=dict(argstr='-prefix %s', + name_template='zeropad', + ), + outputtype=dict(), + terminal_output=dict(nohash=True, + ), + z=dict(argstr='-z %i', + xor=['master'], + ), + ) + inputs = Zeropad.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_Zeropad_outputs(): + output_map = dict(out_file=dict(), + ) + outputs = Zeropad.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/afni/utils.py b/nipype/interfaces/afni/utils.py index 96b34ffba4..c7a9382578 100644 --- a/nipype/interfaces/afni/utils.py +++ b/nipype/interfaces/afni/utils.py @@ -191,6 +191,26 @@ class BrickStatInputSpec(CommandLineInputSpec): desc='print the minimum value in dataset', argstr='-min', position=1) + slow = traits.Bool( + desc='read the whole dataset to find the min and max values', + argstr='-slow') + max = traits.Bool( + desc='print the maximum value in the dataset', + argstr='-max') + mean = traits.Bool( + desc='print the mean value in the dataset', + argstr='-mean') + sum = traits.Bool( + desc='print the sum of values in the dataset', + argstr='-sum') + var = traits.Bool( + desc='print the variance in the dataset', + argstr='-var') + percentile = traits.Tuple(traits.Float, traits.Float, traits.Float, + desc='p0 ps p1 write the percentile values starting ' + 'at p0% and ending at p1% at a step of ps%. ' + 'only one sub-brick is accepted.', + argstr='-percentile %.3f %.3f %.3f') class BrickStatOutputSpec(TraitedSpec): @@ -335,6 +355,84 @@ def _parse_inputs(self, skip=None): skip=('start_idx', 'stop_idx', 'other')) +class CatInputSpec(AFNICommandInputSpec): + in_files = traits.List(File(exists=True), argstr="%s", + mandatory=True, position=-2) + out_file = File( + argstr='> %s', + default='catout.1d', + desc='output (concatenated) file name', + position=-1, + mandatory=True) + omitconst = traits.Bool( + desc='Omit columns that are identically constant from output.', + argstr='-nonconst') + keepfree = traits.Bool( + desc='Keep only columns that are marked as \'free\' in the ' + '3dAllineate header from \'-1Dparam_save\'. ' + 'If there is no such header, all columns are kept.', + argstr='-nonfixed') + out_format = traits.Enum( + 'int','nice','double','fint','cint', + argstr='-form %s', + desc='specify data type for output. Valid types are \'int\', ' + '\'nice\', \'double\', \'fint\', and \'cint\'.', + xor=['out_int','out_nice','out_double','out_fint','out_cint']) + stack = traits.Bool( + desc='Stack the columns of the resultant matrix in the output.', + argstr='-stack') + sel = traits.Str( + desc='Apply the same column/row selection string to all filenames ' + 'on the command line.', + argstr='-sel %s') + out_int = traits.Bool( + desc='specifiy int data type for output', + argstr='-i', + xor=['out_format','out_nice','out_double','out_fint','out_cint']) + out_nice = traits.Bool( + desc='specifiy nice data type for output', + argstr='-n', + xor=['out_format','out_int','out_double','out_fint','out_cint']) + out_double = traits.Bool( + desc='specifiy double data type for output', + argstr='-d', + xor=['out_format','out_nice','out_int','out_fint','out_cint']) + out_fint = traits.Bool( + desc='specifiy int, rounded down, data type for output', + argstr='-f', + xor=['out_format','out_nice','out_double','out_int','out_cint']) + out_cint = traits.Bool( + desc='specifiy int, rounded up, data type for output', + xor=['out_format','out_nice','out_double','out_fint','out_int']) + + +class Cat(AFNICommand): + """1dcat takes as input one or more 1D files, and writes out a 1D file + containing the side-by-side concatenation of all or a subset of the + columns from the input files. + + For complete details, see the `1dcat Documentation. + `_ + + Examples + ======== + + >>> from nipype.interfaces import afni + >>> cat1d = afni.Cat() + >>> cat1d.inputs.sel = "'[0,2]'" + >>> cat1d.inputs.in_files = ['f1.1D', 'f2.1D'] + >>> cat1d.inputs.out_file = 'catout.1d' + >>> cat1d.cmdline # doctest: +ALLOW_UNICODE + "1dcat -sel '[0,2]' f1.1D f2.1D > catout.1d" + >>> res = cat1d.run() # doctest: +SKIP + + """ + + _cmd = '1dcat' + input_spec = CatInputSpec + output_spec = AFNICommandOutputSpec + + class CopyInputSpec(AFNICommandInputSpec): in_file = File( desc='input file to 3dcopy', @@ -1044,6 +1142,79 @@ def _list_outputs(self): return outputs +class NwarpApplyInputSpec(CommandLineInputSpec): + in_file = traits.Either(File(exists=True), traits.List(File(exists=True)), + mandatory=True, + argstr='-source %s', + desc='the name of the dataset to be warped ' + 'can be multiple datasets') + warp = traits.String( + desc='the name of the warp dataset. ' + 'multiple warps can be concatenated (make sure they exist)', + argstr='-nwarp %s', + mandatory=True) + inv_warp = traits.Bool( + desc='After the warp specified in \'-nwarp\' is computed, invert it', + argstr='-iwarp') + master = traits.File(exists=True, + desc='the name of the master dataset, which defines the output grid', + argstr='-master %s') + interp = traits.Enum('NN','nearestneighbour','nearestneighbor','linear', + 'trilinear','cubic','tricubic','quintic','triquintic','wsinc5', + desc='defines interpolation method to use during warp', + argstr='-interp %s', + default='wsinc5') + ainterp = traits.Enum('NN','nearestneighbour','nearestneighbor','linear', + 'trilinear','cubic','tricubic','quintic','triquintic','wsinc5', + desc='specify a different interpolation method than might ' + 'be used for the warp', + argstr='-ainterp %s', + default='wsinc5') + out_file = File( + name_template='%s_Nwarp', + desc='output image file name', + argstr='-prefix %s', + name_source='in_file') + short = traits.Bool( + desc='Write output dataset using 16-bit short integers, rather than ' + 'the usual 32-bit floats.', + argstr='-short') + quiet = traits.Bool( + desc='don\'t be verbose :(', + argstr='-quiet', + xor=['verb']) + verb = traits.Bool( + desc='be extra verbose :)', + argstr='-verb', + xor=['quiet']) + + +class NwarpApply(AFNICommandBase): + """Program to apply a nonlinear 3D warp saved from 3dQwarp + (or 3dNwarpCat, etc.) to a 3D dataset, to produce a warped + version of the source dataset. + + For complete details, see the `3dNwarpApply Documentation. + `_ + + Examples + ======== + + >>> from nipype.interfaces import afni + >>> nwarp = afni.NwarpApply() + >>> nwarp.inputs.in_file = 'Fred+orig' + >>> nwarp.inputs.master = 'NWARP' + >>> nwarp.inputs.warp = "'Fred_WARP+tlrc Fred.Xaff12.1D'" + >>> nwarp.cmdline # doctest: +ALLOW_UNICODE + "3dNwarpApply -source Fred+orig -master NWARP -prefix Fred+orig_Nwarp -nwarp \'Fred_WARP+tlrc Fred.Xaff12.1D\'" + >>> res = nwarp.run() # doctest: +SKIP + + """ + _cmd = '3dNwarpApply' + input_spec = NwarpApplyInputSpec + output_spec = AFNICommandOutputSpec + + class RefitInputSpec(CommandLineInputSpec): in_file = File( desc='input file to 3drefit', @@ -1571,7 +1742,7 @@ class AxializeInputSpec(AFNICommandInputSpec): orientation = Str( desc='new orientation code', argstr='-orient %s') - + class Axialize(AFNICommand): """Read in a dataset and write it out as a new dataset @@ -1595,7 +1766,7 @@ class Axialize(AFNICommand): _cmd = '3daxialize' input_spec = AxializeInputSpec output_spec = AFNICommandOutputSpec - + class ZcatInputSpec(AFNICommandInputSpec): in_files = InputMultiPath( diff --git a/nipype/interfaces/ants/tests/test_auto_KellyKapowski.py b/nipype/interfaces/ants/tests/test_auto_KellyKapowski.py new file mode 100644 index 0000000000..046d31d158 --- /dev/null +++ b/nipype/interfaces/ants/tests/test_auto_KellyKapowski.py @@ -0,0 +1,82 @@ +# AUTO-GENERATED by tools/checkspecs.py - DO NOT EDIT +from __future__ import unicode_literals +from ..segmentation import KellyKapowski + + +def test_KellyKapowski_inputs(): + input_map = dict(args=dict(argstr='%s', + ), + convergence=dict(argstr='--convergence "%s"', + usedefault=True, + ), + cortical_thickness=dict(argstr='--output "%s"', + hash_files=False, + keep_extension=True, + name_source=['segmentation_image'], + name_template='%s_cortical_thickness', + ), + dimension=dict(argstr='--image-dimensionality %d', + usedefault=True, + ), + environ=dict(nohash=True, + usedefault=True, + ), + gradient_step=dict(argstr='--gradient-step %f', + usedefault=True, + ), + gray_matter_label=dict(usedefault=True, + ), + gray_matter_prob_image=dict(argstr='--gray-matter-probability-image "%s"', + ), + ignore_exception=dict(nohash=True, + usedefault=True, + ), + max_invert_displacement_field_iters=dict(argstr='--maximum-number-of-invert-displacement-field-iterations %d', + ), + num_threads=dict(nohash=True, + usedefault=True, + ), + number_integration_points=dict(argstr='--number-of-integration-points %d', + ), + segmentation_image=dict(argstr='--segmentation-image "%s"', + mandatory=True, + ), + smoothing_variance=dict(argstr='--smoothing-variance %f', + ), + smoothing_velocity_field=dict(argstr='--smoothing-velocity-field-parameter %f', + ), + terminal_output=dict(nohash=True, + ), + thickness_prior_estimate=dict(argstr='--thickness-prior-estimate %f', + usedefault=True, + ), + thickness_prior_image=dict(argstr='--thickness-prior-image "%s"', + ), + use_bspline_smoothing=dict(argstr='--use-bspline-smoothing 1', + ), + warped_white_matter=dict(hash_files=False, + keep_extension=True, + name_source=['segmentation_image'], + name_template='%s_warped_white_matter', + ), + white_matter_label=dict(usedefault=True, + ), + white_matter_prob_image=dict(argstr='--white-matter-probability-image "%s"', + ), + ) + inputs = KellyKapowski.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_KellyKapowski_outputs(): + output_map = dict(cortical_thickness=dict(), + warped_white_matter=dict(), + ) + outputs = KellyKapowski.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_auto_AccuracyTester.py b/nipype/interfaces/fsl/tests/test_auto_AccuracyTester.py new file mode 100644 index 0000000000..1e4fb9406c --- /dev/null +++ b/nipype/interfaces/fsl/tests/test_auto_AccuracyTester.py @@ -0,0 +1,47 @@ +# AUTO-GENERATED by tools/checkspecs.py - DO NOT EDIT +from __future__ import unicode_literals +from ..fix import AccuracyTester + + +def test_AccuracyTester_inputs(): + input_map = dict(args=dict(argstr='%s', + ), + environ=dict(nohash=True, + usedefault=True, + ), + ignore_exception=dict(nohash=True, + usedefault=True, + ), + mel_icas=dict(argstr='%s', + copyfile=False, + mandatory=True, + position=3, + ), + output_directory=dict(argstr='%s', + mandatory=True, + position=2, + ), + terminal_output=dict(nohash=True, + ), + trained_wts_file=dict(argstr='%s', + mandatory=True, + position=1, + ), + ) + inputs = AccuracyTester.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_AccuracyTester_outputs(): + output_map = dict(output_directory=dict(argstr='%s', + position=1, + ), + ) + outputs = AccuracyTester.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_auto_Classifier.py b/nipype/interfaces/fsl/tests/test_auto_Classifier.py new file mode 100644 index 0000000000..713666b754 --- /dev/null +++ b/nipype/interfaces/fsl/tests/test_auto_Classifier.py @@ -0,0 +1,46 @@ +# AUTO-GENERATED by tools/checkspecs.py - DO NOT EDIT +from __future__ import unicode_literals +from ..fix import Classifier + + +def test_Classifier_inputs(): + input_map = dict(args=dict(argstr='%s', + ), + artifacts_list_file=dict(), + environ=dict(nohash=True, + usedefault=True, + ), + ignore_exception=dict(nohash=True, + usedefault=True, + ), + mel_ica=dict(argstr='%s', + copyfile=False, + position=1, + ), + terminal_output=dict(nohash=True, + ), + thresh=dict(argstr='%d', + mandatory=True, + position=-1, + ), + trained_wts_file=dict(argstr='%s', + copyfile=False, + mandatory=True, + position=2, + ), + ) + inputs = Classifier.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_Classifier_outputs(): + output_map = dict(artifacts_list_file=dict(), + ) + outputs = Classifier.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_auto_Cleaner.py b/nipype/interfaces/fsl/tests/test_auto_Cleaner.py new file mode 100644 index 0000000000..76487d6adc --- /dev/null +++ b/nipype/interfaces/fsl/tests/test_auto_Cleaner.py @@ -0,0 +1,55 @@ +# AUTO-GENERATED by tools/checkspecs.py - DO NOT EDIT +from __future__ import unicode_literals +from ..fix import Cleaner + + +def test_Cleaner_inputs(): + input_map = dict(aggressive=dict(argstr='-A', + position=3, + ), + args=dict(argstr='%s', + ), + artifacts_list_file=dict(argstr='%s', + mandatory=True, + position=1, + ), + cleanup_motion=dict(argstr='-m', + position=2, + ), + confound_file=dict(argstr='-x %s', + position=4, + ), + confound_file_1=dict(argstr='-x %s', + position=5, + ), + confound_file_2=dict(argstr='-x %s', + position=6, + ), + environ=dict(nohash=True, + usedefault=True, + ), + highpass=dict(argstr='-m -h %f', + position=2, + usedefault=True, + ), + ignore_exception=dict(nohash=True, + usedefault=True, + ), + terminal_output=dict(nohash=True, + ), + ) + inputs = Cleaner.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_Cleaner_outputs(): + output_map = dict(cleaned_functional_file=dict(), + ) + outputs = Cleaner.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_auto_FeatureExtractor.py b/nipype/interfaces/fsl/tests/test_auto_FeatureExtractor.py new file mode 100644 index 0000000000..c0e763640c --- /dev/null +++ b/nipype/interfaces/fsl/tests/test_auto_FeatureExtractor.py @@ -0,0 +1,39 @@ +# AUTO-GENERATED by tools/checkspecs.py - DO NOT EDIT +from __future__ import unicode_literals +from ..fix import FeatureExtractor + + +def test_FeatureExtractor_inputs(): + input_map = dict(args=dict(argstr='%s', + ), + environ=dict(nohash=True, + usedefault=True, + ), + ignore_exception=dict(nohash=True, + usedefault=True, + ), + mel_ica=dict(argstr='%s', + copyfile=False, + position=-1, + ), + terminal_output=dict(nohash=True, + ), + ) + inputs = FeatureExtractor.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_FeatureExtractor_outputs(): + output_map = dict(mel_ica=dict(argstr='%s', + copyfile=False, + position=-1, + ), + ) + outputs = FeatureExtractor.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_auto_TOPUP.py b/nipype/interfaces/fsl/tests/test_auto_TOPUP.py index 88f11a77d5..8223b5dac4 100644 --- a/nipype/interfaces/fsl/tests/test_auto_TOPUP.py +++ b/nipype/interfaces/fsl/tests/test_auto_TOPUP.py @@ -110,6 +110,7 @@ def test_TOPUP_outputs(): out_fieldcoef=dict(), out_jacs=dict(), out_logfile=dict(), + out_mats=dict(), out_movpar=dict(), out_warps=dict(), ) diff --git a/nipype/interfaces/fsl/tests/test_auto_Training.py b/nipype/interfaces/fsl/tests/test_auto_Training.py new file mode 100644 index 0000000000..c5b1f12874 --- /dev/null +++ b/nipype/interfaces/fsl/tests/test_auto_Training.py @@ -0,0 +1,42 @@ +# AUTO-GENERATED by tools/checkspecs.py - DO NOT EDIT +from __future__ import unicode_literals +from ..fix import Training + + +def test_Training_inputs(): + input_map = dict(args=dict(argstr='%s', + ), + environ=dict(nohash=True, + usedefault=True, + ), + ignore_exception=dict(nohash=True, + usedefault=True, + ), + loo=dict(argstr='-l', + position=2, + ), + mel_icas=dict(argstr='%s', + copyfile=False, + position=-1, + ), + terminal_output=dict(nohash=True, + ), + trained_wts_filestem=dict(argstr='%s', + position=1, + ), + ) + inputs = Training.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_Training_outputs(): + output_map = dict(trained_wts_file=dict(), + ) + outputs = Training.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_auto_TrainingSetCreator.py b/nipype/interfaces/fsl/tests/test_auto_TrainingSetCreator.py new file mode 100644 index 0000000000..abe2237832 --- /dev/null +++ b/nipype/interfaces/fsl/tests/test_auto_TrainingSetCreator.py @@ -0,0 +1,32 @@ +# AUTO-GENERATED by tools/checkspecs.py - DO NOT EDIT +from __future__ import unicode_literals +from ..fix import TrainingSetCreator + + +def test_TrainingSetCreator_inputs(): + input_map = dict(ignore_exception=dict(nohash=True, + usedefault=True, + ), + mel_icas_in=dict(argstr='%s', + copyfile=False, + position=-1, + ), + ) + inputs = TrainingSetCreator.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_TrainingSetCreator_outputs(): + output_map = dict(mel_icas_out=dict(argstr='%s', + copyfile=False, + position=-1, + ), + ) + outputs = TrainingSetCreator.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/testing/data/Fred+orig b/nipype/testing/data/Fred+orig new file mode 100644 index 0000000000..e69de29bb2 diff --git a/nipype/testing/data/NWARP b/nipype/testing/data/NWARP new file mode 100644 index 0000000000..e69de29bb2 diff --git a/nipype/testing/data/f1.1D b/nipype/testing/data/f1.1D new file mode 100644 index 0000000000..e69de29bb2 diff --git a/nipype/testing/data/f2.1D b/nipype/testing/data/f2.1D new file mode 100644 index 0000000000..e69de29bb2