Skip to content

Commit

Permalink
Merge tag '23.1.4'
Browse files Browse the repository at this point in the history
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)
  • Loading branch information
effigies committed Aug 1, 2023
2 parents e1c4bac + 8b741eb commit d6f453e
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 5 deletions.
11 changes: 11 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
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)


23.1.3 (June 24, 2023)
======================

Expand Down
16 changes: 13 additions & 3 deletions fmriprep/workflows/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -428,10 +428,20 @@ def init_single_subject_wf(subject_id: str):

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

# Simplification: Unused estimators are removed from registry
# This fiddles with a private attribute, so it may break in future
# versions. However, it does mean the BOLD workflow doesn't need to
# replicate the logic that got us to the pared down set of estimators
# here.
final_ids = {fmap.bids_id for fmap in fmap_estimators}
unused_ids = fm._estimators.keys() - final_ids
for bids_id in unused_ids:
del fm._estimators[bids_id]

if fmap_estimators:
config.loggers.workflow.info(
"B0 field inhomogeneity map will be estimated with "
f" the following {len(fmap_estimators)} estimators: "
f"the following {len(fmap_estimators)} estimator(s): "
f"{[e.method for e in fmap_estimators]}."
)

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

sources = [str(s.path) for s in estimator.sources if s.suffix == "bold"]
source_meta = [s.metadata for s in estimator.sources if s.suffix == "bold"]
sources = [str(s.path) for s in estimator.sources if s.suffix in ("bold", "sbref")]
source_meta = [s.metadata for s in estimator.sources if s.suffix in ("bold", "sbref")]
syn_preprocessing_wf = init_syn_preprocessing_wf(
omp_nthreads=config.nipype.omp_nthreads,
debug=config.execution.sloppy,
Expand Down
9 changes: 8 additions & 1 deletion fmriprep/workflows/bold/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,14 @@ def init_func_preproc_wf(bold_file, has_fieldmap=False):
config.loggers.workflow.info(sbref_msg)

if has_fieldmap:
estimator_key = get_estimator(layout, bold_file if not multiecho else bold_file[0])
from sdcflows import fieldmaps as fm

# We may have pruned the estimator collection due to `--ignore fieldmaps`
estimator_key = [
key
for key in get_estimator(layout, bold_file if not multiecho else bold_file[0])
if key in fm._estimators
]

if not estimator_key:
has_fieldmap = False
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ nitransforms==22.0.0
# fmriprep (pyproject.toml)
# niworkflows
# sdcflows
niworkflows==1.8.0
niworkflows==1.8.1
# via
# fmriprep (pyproject.toml)
# sdcflows
Expand Down

0 comments on commit d6f453e

Please sign in to comment.