diff --git a/fmriprep/workflows/base.py b/fmriprep/workflows/base.py index afb6c2602..390e4daf0 100644 --- a/fmriprep/workflows/base.py +++ b/fmriprep/workflows/base.py @@ -302,6 +302,8 @@ def init_single_subject_wf(subject_id): for bold_file in subject_data['bold']: func_preproc_wf = init_func_preproc_wf(bold_file) + if func_preproc_wf is None: + continue try: workflow.connect([ diff --git a/fmriprep/workflows/bold/base.py b/fmriprep/workflows/bold/base.py index e5161c791..fbbeabae7 100644 --- a/fmriprep/workflows/bold/base.py +++ b/fmriprep/workflows/bold/base.py @@ -144,6 +144,12 @@ def init_func_preproc_wf(bold_file): from niworkflows.interfaces.utils import DictMerge from sdcflows.workflows.base import init_sdc_estimate_wf, fieldmap_wrangler + if nb.load(bold_file).shape[3:] <= (5,): + config.loggers.workflow.warning( + f"Too short BOLD series (<= 5 timepoints). Skipping processing of <{ref_file}>." + ) + return + mem_gb = {'filesize': 1, 'resampled': 1, 'largemem': 1} bold_tlen = 10