Skip to content

Commit

Permalink
ENH: Flexibilize "sophisticated" pepolar to allow monomodal execution (
Browse files Browse the repository at this point in the history
  • Loading branch information
effigies authored Nov 3, 2024
2 parents 2e4f921 + 729b5b9 commit 08fecee
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion fmriprep/workflows/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -580,7 +580,15 @@ def init_single_subject_wf(subject_id: str):
suffices = [s.suffix for s in estimator.sources]

if estimator.method == fm.EstimatorType.PEPOLAR:
if len(suffices) == 2 and all(suf in ('epi', 'bold', 'sbref') for suf in suffices):
# "Sophisticated" PEPOLAR schemes should be run "manually" with SDCFlows
# The following two cases are not considered sophisticated:
# 1. All PEPOLAR entities are the same modality
# (typically, more than two EPI PE directions), or
# 2. Two modalities are involved, with at most two images to pass
# into FSL TOPUP.
if len(set(suffices)) == 1 or (
len(suffices) == 2 and all(suf in ('epi', 'bold', 'sbref') for suf in suffices)
):
wf_inputs = getattr(fmap_wf.inputs, f'in_{estimator.bids_id}')
wf_inputs.in_data = [str(s.path) for s in estimator.sources]
wf_inputs.metadata = [s.metadata for s in estimator.sources]
Expand Down

0 comments on commit 08fecee

Please sign in to comment.