Skip to content

Commit d6f453e

Browse files
committed
Merge tag '23.1.4'
23.1.4 (August 1, 2023) Patch release in the 23.1.x series. This release prioritizes single-band reference BOLD images during SyN-SDC schemes. Additionally, an indices inconsistency was fixed for CIFTI volumetric data. * FIX: Pass sbref files to SyN workflow (#3060) * FIX: Generate CIFTI volume structure indices in column-major order (nipreps/niworkflows#815)
2 parents e1c4bac + 8b741eb commit d6f453e

File tree

4 files changed

+33
-5
lines changed

4 files changed

+33
-5
lines changed

CHANGES.rst

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
23.1.4 (August 1, 2023)
2+
=======================
3+
Patch release in the 23.1.x series.
4+
5+
This release prioritizes single-band reference BOLD images during SyN-SDC schemes.
6+
Additionally, an indices inconsistency was fixed for CIFTI volumetric data.
7+
8+
* FIX: Pass sbref files to SyN workflow (#3060)
9+
* FIX: Generate CIFTI volume structure indices in column-major order (nipreps/niworkflows#815)
10+
11+
112
23.1.3 (June 24, 2023)
213
======================
314

fmriprep/workflows/base.py

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -428,10 +428,20 @@ def init_single_subject_wf(subject_id: str):
428428

429429
fmap_estimators = [fmap for fmap in fmap_estimators if fmap.bids_id in used_estimators]
430430

431+
# Simplification: Unused estimators are removed from registry
432+
# This fiddles with a private attribute, so it may break in future
433+
# versions. However, it does mean the BOLD workflow doesn't need to
434+
# replicate the logic that got us to the pared down set of estimators
435+
# here.
436+
final_ids = {fmap.bids_id for fmap in fmap_estimators}
437+
unused_ids = fm._estimators.keys() - final_ids
438+
for bids_id in unused_ids:
439+
del fm._estimators[bids_id]
440+
431441
if fmap_estimators:
432442
config.loggers.workflow.info(
433443
"B0 field inhomogeneity map will be estimated with "
434-
f" the following {len(fmap_estimators)} estimators: "
444+
f"the following {len(fmap_estimators)} estimator(s): "
435445
f"{[e.method for e in fmap_estimators]}."
436446
)
437447

@@ -562,8 +572,8 @@ def init_single_subject_wf(subject_id: str):
562572
elif estimator.method == fm.EstimatorType.ANAT:
563573
from sdcflows.workflows.fit.syn import init_syn_preprocessing_wf
564574

565-
sources = [str(s.path) for s in estimator.sources if s.suffix == "bold"]
566-
source_meta = [s.metadata for s in estimator.sources if s.suffix == "bold"]
575+
sources = [str(s.path) for s in estimator.sources if s.suffix in ("bold", "sbref")]
576+
source_meta = [s.metadata for s in estimator.sources if s.suffix in ("bold", "sbref")]
567577
syn_preprocessing_wf = init_syn_preprocessing_wf(
568578
omp_nthreads=config.nipype.omp_nthreads,
569579
debug=config.execution.sloppy,

fmriprep/workflows/bold/base.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,14 @@ def init_func_preproc_wf(bold_file, has_fieldmap=False):
289289
config.loggers.workflow.info(sbref_msg)
290290

291291
if has_fieldmap:
292-
estimator_key = get_estimator(layout, bold_file if not multiecho else bold_file[0])
292+
from sdcflows import fieldmaps as fm
293+
294+
# We may have pruned the estimator collection due to `--ignore fieldmaps`
295+
estimator_key = [
296+
key
297+
for key in get_estimator(layout, bold_file if not multiecho else bold_file[0])
298+
if key in fm._estimators
299+
]
293300

294301
if not estimator_key:
295302
has_fieldmap = False

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ nitransforms==22.0.0
143143
# fmriprep (pyproject.toml)
144144
# niworkflows
145145
# sdcflows
146-
niworkflows==1.8.0
146+
niworkflows==1.8.1
147147
# via
148148
# fmriprep (pyproject.toml)
149149
# sdcflows

0 commit comments

Comments
 (0)