Releases: nipreps/fmriprep
25.2.2
Release Notes
Bug-fix release in the 25.2.x series.
This fix addresses an issue in the Docker containers.
FreeSurfer's recon-all
depends on a full Perl installation being available in the environment.
Changes
- FIX: Ensure perl is installed in container (#3547)
Full Changelog: 25.2.1...25.2.2
25.2.1
Release Notes
Bug-fix release in the 25.2.x series.
This fix addresses an issue seen when in datasets with multiple anatomical sessions that do not perform per-session processing. It also updates the citation boilerplate when resampling to non-FreeSurfer, non-fsLR surface templates.
Changes
- FIX: Pass actual T1w files to summary interface (#3545)
- DOC: Include template metadata information when resampling BOLD to surface (#3544)
Full Changelog: 25.2.0...25.2.1
25.2.0
Release Notes
New feature release in the 25.2.x series.
This release is an fMRIPrep Long-Term Support (LTS) release. The planned support window is 4 years, until October 2029.
This release is an incremental improvement over 25.1.x, but includes some fixes and improvements that do not fit within our bug-fix policy.
Importantly, the change in interpolation in 25.1.0 introduced artifacts for some datasets. This release changes the default interpolation mode to grid-constant
, which resolves those problems while not reintroducing the issue the previous release sought to fix.
This release also (finally) introduces per-session processing. The --session-label
flag selects the sessions to process, and the --subject-anatomical-reference
flag indicates whether and how to combine across sessions. Existing filters passed via --bids-filter-file
may need to be updated or removed in favor of using these flags to achieve the desired behavior.
We would like to thank the AMP-SCZ and ENIGMA consortia for testing out and providing feedback on this release.
Changes
- FIX: Clean up output report language (#3529)
- FIX: Default to grid-constant interpolation mode (#3516)
- FIX: Adapt to transposed ndcoords in nitransforms (#3517)
- FIX: Write out Freesurfer-derived outputs (#3512)
- FIX: Add kwargs to _warnings.py (#3483)
- ENH: Resample BOLD data to any surface template space using the Connectome Workbench (#3461)
- ENH: Add boldref / sbref to source metadata (#3532)
- ENH: Add dedicated session filtering, alternative anatomical template options (#3495)
- ENH: Write out goodvoxels mask (#3513)
- ENH: Add registration metadata to boldref-to-anat transforms (#3500)
- ENH: Write out cortex mask GIFTIs (#3491)
- ENH: Update transforms.py according to new transform chain of nitransforms (#3494)
- RF/DOC: Improve and document command-line parser defaults (#3487)
- DOC: Explain better SDC and B0FieldSource requirement (#2768)
- DOC: Document
freesurfer
parameter in BOLD confound workflow init (#3504) - DOC: Add myself to contributor list (#3506)
- DOC: Fix non-standard Input/Output docstring section management (#3505)
- MNT: Split Dockerfile into base and pixi layers (#3521)
- MNT: Replace conda with pixi and lock (#3503)
- MNT: Update license metadata using SPDX expression (#3486)
- MNT: no need to re-run
ruff check
afterruff format
(#3480) - MNT: Update pre-commit ruff legacy alias (#3479)
New Contributors
- @miltoncamacho made their first contribution in #3483
- @AxelCouturierCIBM made their first contribution in #3494
- @jhlegarreta made their first contribution in #3505
- @toomanycats made their first contribution in #2768
Full Changelog: 25.1.4...25.2.0
25.1.4
25.1.3
Release notes
Patch release in the 25.1.x series.
This resolves a bug introduced in a dependency between 25.1.1 and 25.1.2.
Full Changelog: 25.1.2...25.1.3
25.1.2
25.1.1
Release Notes
Patch release in the 25.1.x series.
This includes small fixes for working with precomputed fieldmaps, including adding fieldmap correction sections to the reports, which were previously omitted if the fieldmap was not calculated during the fMRIPrep run.
Changes
25.1.0
Relase notes
New feature release in the 25.1.x series.
This release includes a small fix related to interpolations on the bounds of the image field-of-view. This improves consistency with prior versions of fMRIPrep for data with limited fields-of-view or small bounding boxes.
This release also adds support for providing fallback values for TotalReadoutTime
metadata. For Philips datasets, if EstimatedTotalReadoutTime
or EstimatedEffectiveEchoSpacing
are available, you can use these by passing --fallback-total-readout-time estimated
. For datasets with no readout time information, a numeric value can be passed, for example, --fallback-total-readout-time 0.05
. If the readout time information is known, it is preferable to encode directly in the dataset, but there are cases where it is better to explicitly pass the value to the software than inject uncertain metadata into the dataset. In particular, the true readout time is not necessary for SyN-SDC, but a value is nonetheless needed in order to estimate the inhomogeneity field.
This release is a long-term-support candidate. We will be performing extensive tests and monitoring bug reports over the next couple of months to determine whether issues can be addressed without making breaking changes.
Structural processing changes
This release pins a version of sMRIPrep (0.18) that correctly handles precomputed tissue probability maps. The FAST segmentation also now skips an internal bias field correction step that is redundant with ANTs N4 correction, and may be inappropriate for non-human populations.
Fieldmap processing changes
This release pins a version of SDCFlows (2.13) that includes several improvements to the SyN-SDC method. In particular, the fieldmap prior that constrained the scope of displacements was reintroduced and refined.
Changes
- FIX: Use nearest mode for extrapolating data outside image boundaries (#3453)
- ENH: Replace c3d_affine_tool with a ConvertAffine interface (#3464)
- ENH: Add flag to fallback to Estimated* metadata or a passed value for TotalReadoutTime (#3423)
Full Changelog: 25.0.0...25.1.0
25.0.0
Release notes
New feature release in the 25.0.x series.
This release substantially improves support for pre-computed derivatives. Previous releases would miss some derivatives and rerun the computations. Note that derivatives from previous versions will be accepted, so it should not be necessary to recompute derivatives from previous versions. The recommended command line is:
fmriprep BIDS_DIR OUT_DIR participant --derivatives fmriprep=PRECOMP_DIR
Note that multiple derivatives can be specified, for example:
fmriprep BIDS_DIR OUT_DIR participant \
anat=PRECOMPUTED_ANATOMICAL_DIR \
func=PRECOMPUTED_FUNCTIONAL_DIR
When the same file is found in multiple derivatives, the last one found takes precedence.
Additionally, --force-*
flags have been consolidated into a single --force
flag that can take multiple, space-separated arguments.
Structural processing changes
We now output white, pial and midthickness fsLR meshes on the subject surface. Look for sub-<subject>_hemi-<L|R>_space-fsLR_*_<surf>.surf.gii
files.
Brain extraction has been modified slightly to more closely match the antsBrainExtraction.sh
workflow distributed by ANTs. The impact should be minimal, but in rare cases this fixes a crash.
Fieldmap processing changes
SyN-SDC fieldmap filtering is now single-level, following the improvements for gradient-echo fieldmaps in 24.1.
Jacobian-weighting during fieldmap unwarping is now on by default only for PEPolar fieldmaps. To enable for other fieldmap types, use --force fieldmap-jacobian
.
Changes
- FIX: Detect and apply precomputed fieldmaps (#3439)
- FIX: Calculate bold mask and dummy scans in transform-only runs (#3428)
- FIX: Use consistent skull-stripping pre- and post- SDC (#3415)
- FIX: Use removeprefix instead of lstrip or ternary operator (#3409)
- FIX: Listify sessions when generating reports (#3408)
- FIX: Ensure fieldmap is resampled correctly in report (#3387)
- FIX: Stop excluding FS minc_modify_header used during fallback registration (#3372)
- FIX: Repair and test query for precalculated baseline/boldref files (#3370)
- FIX: Repair search for precomputed transforms (#3369)
- ENH: Enable Jacobians only for PEPOLAR by default, allow forcing (#3443)
- ENH: Create
--force
flag that accepts a list, replacing individual--force-*
flags (#3442) - ENH: Output fsLR meshes on subject surfaces (#3411)
- ENH: Flexibilize "sophisticated" pepolar to allow monomodal execution (#3393)
- ENH: Update FSL packages for reported bug fixes (#3374)
- RF: Calculate RMSD from motion transforms (#3427)
- RF: Reconstruct motion confounds from minimal derivatives (#3424)
- RF: Replace deprecated pkgutil.find_loader (#3384)
- RF: Upgrade nitransforms and remove workarounds (#3378)
- DOC: Fix xfm extension in the outputs docs (#3435)
- DOC: Mention fMRIPost-AROMA in parser documentation (#3356)
- MNT: Remove CLI flags with expired deprecation periods (#3445)
- MNT: Update pinned environment (#3440)
- MNT: Bump pins, update RTD config (#3425)
- MNT: Declare linux/amd64 platform during Docker build (#3422)
- MNT: Bump astral-sh/setup-uv from 4 to 5 (#3417)
- MNT: Test support for Python 3.13 (#3416)
- MNT: Install Workbench CLI via conda (#3410)
- MNT: Update minimum dependencies, test with tox-uv (#3412)
- MNT: Install c3d through conda (#3382)
- CI: Fetch tags and 200 commits to support describe (#3381)
- CI: Build docker images in GHA, store cache inline and push to GHCR (#3380)
New Contributors
Full Changelog: 24.1.1...25.0.0
24.1.1
Release notes
Bug fix release in the 24.1.x series.
Precomputed functional derivatives were not being correcly detected,
and a couple fixes for rare issues.