diff --git a/fsl/wrappers/__init__.py b/fsl/wrappers/__init__.py index 60b715a0f31c028a7c99fecd5e955b2da86d0fbc..19292be71de8ca7dc34a251c522188a8750e8e50 100644 --- a/fsl/wrappers/__init__.py +++ b/fsl/wrappers/__init__.py @@ -101,7 +101,8 @@ from .fslmaths import (fslmaths,) # noqa from .fslstats import (fslstats,) # noqa from .fugue import (fugue, # noqa prelude, - sigloss) + sigloss, + fsl_prepare_fieldmap) from .melodic import (melodic, # noqa fsl_regfilt) from .misc import (fslreorient2std, # noqa diff --git a/fsl/wrappers/fugue.py b/fsl/wrappers/fugue.py index 8b61f030c5e048888692569f1be9bfc2ec1dcc9e..e7ff7bd8eaabdf409ca3a4a9d10c8ab1df28a192 100644 --- a/fsl/wrappers/fugue.py +++ b/fsl/wrappers/fugue.py @@ -83,3 +83,19 @@ def prelude(**kwargs): **kwargs) return cmd + +@wutils.fileOrImage('phase_image', 'magnitude_image', 'out_image') +@wutils.fslwrapper +def fsl_prepare_fieldmap(phase_image, magnitude_image, out_image, deltaTE, scanner=None, **kwargs): + """Wrapper for the ``fsl_prepare_fieldmap`` command. <scanner> defaults to 'SIEMENS'""" + if scanner is None: + scanner = 'SIEMENS' + + valmap = { + 'nocheck' : wutils.SHOW_IF_TRUE, + } + + cmd = ['fsl_prepare_fieldmap', scanner, phase_image, magnitude_image, out_image, str(deltaTE)] + cmd += wutils.applyArgStyle('--=', valmap=valmap, **kwargs) + + return cmd diff --git a/tests/test_wrappers/test_wrappers.py b/tests/test_wrappers/test_wrappers.py index 506f3e0d4cba620d35641279a2ecebccca7107db..dbffff1d6958202bade7e104cc211e964041c0e4 100644 --- a/tests/test_wrappers/test_wrappers.py +++ b/tests/test_wrappers/test_wrappers.py @@ -385,3 +385,14 @@ def test_tbss(): assert fw.tbss.non_FA('alt')[0] == ' '.join([exes['non_FA'], 'alt']) assert fw.tbss.fill('stat', 0.4, 'mean_fa', 'output', n=True).stdout[0] == \ ' '.join([exes['fill'], 'stat', '0.4', 'mean_fa', 'output', '-n']) + +def test_fsl_prepare_fieldmap(): + with asrt.disabled(), run.dryrun(), mockFSLDIR(bin=('fsl_prepare_fieldmap',)) as fsldir: + fpf = op.join(fsldir, 'bin', 'fsl_prepare_fieldmap') + result = fw.fsl_prepare_fieldmap(phase_image='ph', + magnitude_image='mag', + out_image='out', + deltaTE=2.46, + nocheck=True) + expected = (fpf, ('SIEMENS', 'ph', 'mag', 'out', '2.46', '--nocheck')) + assert checkResult(result.stdout[0], *expected)