Source code for fsl.wrappers.melodic

#!/usr/bin/env python
#
# melodic.py - Wrappers for melodic.
#
# Author: Sean Fitzgibbon <sean.fitzgibbon@ndcn.ox.ac.uk>
# Author: Paul McCarthy <pauldmccarthy@gmail.com>
#
"""This module provides wrapper functions for the FSL
`MELODIC <https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/MELODIC>`_ tool, and other
related utilities.

.. autosummary::
   :nosignatures:

   melodic
   fsl_regfilt
   fsl_glm
"""


import fsl.utils.assertions as asrt
from . import wrapperutils  as wutils


[docs] @wutils.fileOrArray('mix', 'Tdes', 'Tcon', 'Sdes', 'Scon') @wutils.fileOrImage('input', 'mask', 'ICs', 'bgimage') @wutils.fslwrapper def melodic(input, **kwargs): """Wrapper for the ``melodic`` command.""" valmap = { 'Oall' : wutils.SHOW_IF_TRUE, 'Ounmix' : wutils.SHOW_IF_TRUE, 'Ostats' : wutils.SHOW_IF_TRUE, 'Opca' : wutils.SHOW_IF_TRUE, 'Owhite' : wutils.SHOW_IF_TRUE, 'Oorig' : wutils.SHOW_IF_TRUE, 'Omean' : wutils.SHOW_IF_TRUE, 'verbose' : wutils.SHOW_IF_TRUE, 'debug' : wutils.SHOW_IF_TRUE, 'report' : wutils.SHOW_IF_TRUE, 'CIFTI' : wutils.SHOW_IF_TRUE, 'varnorm' : wutils.SHOW_IF_TRUE, 'nomask' : wutils.SHOW_IF_TRUE, 'nobet' : wutils.SHOW_IF_TRUE, 'sep_vn' : wutils.SHOW_IF_TRUE, 'disableMigp' : wutils.SHOW_IF_TRUE, 'update_mask' : wutils.HIDE_IF_TRUE, 'migp_shuffle' : wutils.HIDE_IF_TRUE, 'no_mm' : wutils.SHOW_IF_TRUE, 'logPower' : wutils.SHOW_IF_TRUE, } cmd = ['melodic', '--in={}'.format(input)] cmd += wutils.applyArgStyle('--=', valmap=valmap, **kwargs) return cmd
[docs] @wutils.fileOrImage('input', 'out', 'mask', 'out_data') @wutils.fileOrArray('design', 'out_mix') @wutils.fslwrapper def fsl_regfilt(input, out, design, **kwargs): """Wrapper for the ``fsl_regfilt`` command. """ asrt.assertIsNifti(input, out) valmap = { 'freqfilt' : wutils.SHOW_IF_TRUE, 'freq_ic' : wutils.HIDE_IF_TRUE, 'vn' : wutils.SHOW_IF_TRUE, 'F' : wutils.SHOW_IF_TRUE, 'v' : wutils.SHOW_IF_TRUE, 'a' : wutils.SHOW_IF_TRUE, } cmd = ['fsl_regfilt', '--in={}'.format(input), '--out={}'.format(out), '--design={}'.format(design)] cmd += wutils.applyArgStyle('--=', valmap=valmap, **kwargs) return cmd
[docs] @wutils.fileOrImage('input', 'mask') @wutils.fileOrArray('design') @wutils.fslwrapper def fsl_glm(input, out=None, design=None, **kwargs): """Wrapper for the ``fsl_glm`` command. """ asrt.assertIsNifti(input) valmap = { 'des_norm' : wutils.SHOW_IF_TRUE, 'dat_norm' : wutils.SHOW_IF_TRUE, 'demean' : wutils.SHOW_IF_TRUE, 'vn' : wutils.SHOW_IF_TRUE } cmd = ['fsl_glm', f'--in={input}'] if out is not None: cmd.append(f'--out={out}') if design is not None: cmd.append(f'--design={design}') cmd += wutils.applyArgStyle('--=', valmap=valmap, **kwargs) return cmd