Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions src/smriprep/interfaces/fsl.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
from nipype.interfaces.base import traits
from nipype.interfaces.fsl.preprocess import FAST as _FAST
from nipype.interfaces.fsl.preprocess import FASTInputSpec


class _FixTraitFASTInputSpec(FASTInputSpec):
bias_iters = traits.Range(
low=0,
high=10,
argstr='-I %d',
desc='number of main-loop iterations during bias-field removal',
)


class FAST(_FAST):
"""
A replacement for nipype.interfaces.fsl.preprocess.FAST that allows
`bias_iters=0` to disable bias field correction entirely

>>> from smriprep.interfaces.fsl import FAST
>>> fast = FAST()
>>> fast.inputs.in_files = 'sub-01_desc-warped_T1w.nii.gz'
>>> fast.inputs.bias_iters = 0
>>> fast.cmdline
'fast -I 0 -S 1 sub-01_desc-warped_T1w.nii.gz'
"""

input_spec = _FixTraitFASTInputSpec
5 changes: 3 additions & 2 deletions src/smriprep/workflows/anatomical.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@
import smriprep

from ..interfaces import DerivativesDataSink
from ..interfaces.fsl import FAST
from ..utils.misc import apply_lut as _apply_bids_lut
from ..utils.misc import fs_isRunning as _fs_isRunning
from .fit.registration import init_register_template_wf
Expand Down Expand Up @@ -947,14 +948,14 @@ def init_anat_fit_wf(
# Stage 3: Segmentation
if not (have_dseg and have_tpms):
LOGGER.info('ANAT Stage 3: Preparing segmentation workflow')
fsl_ver = fsl.FAST().version or '(version unknown)'
fsl_ver = FAST().version or '(version unknown)'
desc += f"""\
Brain tissue segmentation of cerebrospinal fluid (CSF),
white-matter (WM) and gray-matter (GM) was performed on
the brain-extracted T1w using `fast` [FSL {fsl_ver}, RRID:SCR_002823, @fsl_fast].
"""
fast = pe.Node(
fsl.FAST(segments=True, no_bias=True, probability_maps=True),
FAST(segments=True, no_bias=True, probability_maps=True, bias_iters=0),
name='fast',
mem_gb=3,
)
Expand Down
Loading