Skip to content

Releases: nipreps/fmriprep

20.2.8 (Long Term Support)

18 Jul 16:51
Compare
Choose a tag to compare

Release notes

Bug-fix release in the 20.2.x LTS series.

We anticipate this being the final release in the 20.2.x LTS series.

Changes

  • FIX: Select volumetric dseg.tsv from recent TemplateFlow releases (#3257)
  • FIX: LTS package build (#3328)
  • DOC: Read html_baseurl from RTD environment, if available (#3324)
  • DOCKER: Pin conda environment more strictly (#2853)
  • MNT: Require niworkflows ~1.3.6 (#2740)
  • CI: Upgrade docker orb (#2865)

This release includes a number of fixes that have accumulated in niworkflows,
including the following fixes that affect fMRIPrep:

Full Changelog: 20.2.7...20.2.8

24.0.1

18 Jul 17:02
Compare
Choose a tag to compare

Release notes

Bug fix release in the 24.0.x series.

This release resolves a bug with multi-volume single-band references.
If multiple volumes are found, they are processed in the same way as
the BOLD series is processed to produce a motion-correction reference.

Changes

  • FIX: Validate and summarize multi-volume sbrefs (#3320)
  • DOC: Address errors/warnings in RTD builds (#3325)
  • DOC: Read html_baseurl from RTD environment, if available (#3324)

24.0.0

17 Jun 19:44
Compare
Choose a tag to compare

Release notes

New feature release in the 24.0.x series.

This release is an incremental improvement on 23.2.x, with some fixes for bugs discovered in the updated workflow.

New features include separation of HTML reports by session for subjects with many BOLD runs, a new --fs-no-resume option to improve interoperability with less typical FreeSurfer directories, such as those generated by longitudinal FreeSurfer or FastSurfer, and adoption of DatasetLinks and BIDS-URIs, to follow the recommendations of recent versions of BIDS.

With thanks to Dimitri Papadopoulos, Basile Pinsard, Celine Provins, Taylor Salo and Wang Hao-Ting for their contributions!

Changes

  • FIX: Add "double" type to allowed DisplacementFieldTransform (#3287)
  • FIX: Require recent templateflow, select correct aparc dseg.tsv (#3256)
  • FIX: Ensure proper templates are retrieved with sloppy (#3251)
  • FIX: Delete summary from functional report when separated by sessions (#3223)
  • FIX: Support lists in bids filter file containing null or * (#3215)
  • FIX: Re-enable anat fasttrack for dataset without t1w (#3202)
  • ENH: Use BIDSURI in init_ds_boldmask_wf (#3297)
  • ENH: Add templateflow to DatasetLinks (#3267)
  • ENH: Track proximal sources of functional GIFTIs (#3263)
  • ENH: Support named derivative paths (#3264)
  • ENH: Track Sources for standard-space outputs (#3262)
  • ENH: Add --fs-no-resume option to reuse existing FreeSurfer outputs without resuming (#3142)
  • ENH: Use BIDS URIs to track Sources in sidecars (#3255)
  • ENH: Ignore unselected subjects in BIDSLayoutIndexer (#3236)
  • ENH: Add metadata for motion parameters (#3245)
  • ENH: Separate anatomical and functional reports per session for densely sampled dataset (#3191)
  • ENH: Leverage T2w if available for BOLD -> anat coregistration (#3208)
  • RF: Fix ITK warp conversion to nitransforms format (#3300)
  • RF: Load report assembler from nireports (#3177)
  • DOC: Clarify --dvars-spike-threshold uses standardized DVARS (#3205)
  • TST: Update test to reflect new report generation behavior (#3210)
  • STY: Manual conversions to f-strings (#3241)
  • STY: Apply ruff/pyupgrade rule UP031 (#3280)
  • STY: Lint and style check full repository (#3221)
  • STY: Adopt ruff for linting and formatting (#3206)
  • MNT: Pin libitk 5.3 and note dependencies (#3298)
  • MNT: Upgrade ruff pre-commit, add fixing checks (#3283)
  • MNT: Complete transition from flake8/black to ruff (#3279)
  • MNT: Apply Repo-Review suggestions (#3194)
  • MNT: Verbatim copy of Apache license 2.0 (#3259)
  • MNT: Bump cryptography from 41.0.7 to 42.0.4 (#3234)
  • MNT: Drop copyright year, unused dunder fields (#3247)
  • MNT: Update environment pins (#3226)
  • MNT: Bump codecov/codecov-action from 3 to 4 (#3219)
  • DOCKER: Restore mincinfo binary (#3249)
  • CI: Move to new circle machine tags (#3248)
  • CI: Avoid ruff warning (#3244)
  • CI: Pass ruff tests (#3243)

New Contributors

Full Changelog: 23.2.3...24.0.0

23.2.3

20 May 18:37
Compare
Choose a tag to compare

Release notes

Bug fix release in the 23.2.x series.

Writes brain masks in space-boldref with --level minimal, bringing behavior in line with documentation.

Changelog

  • FIX: Write out boldref-space brain mask with minimal level by @tsalo in #3292

Full Changelog: 23.2.2...23.2.3

23.2.2

06 May 20:57
Compare
Choose a tag to compare

Release Notes

Bug fix release in the 23.2.x series.

Fixes an issue with broken connections, which only affects --level resampling.

What's Changed

  • FIX: Add datasink fill-in step to resampling level by @tsalo in #3254

Full Changelog: 23.2.1...23.2.2

23.2.1

06 Mar 19:30
Compare
Choose a tag to compare

Release notes

Bug fix release in the 23.2.x series.

Masks, BOLD references and T2* maps resampled into template spaces had
their order of transforms inverted. BOLD files were unaffected.

This release also preserves the TR in the NIfTI header of BOLD series.

Changes

  • FIX: Preserve pixdim4+ of resampled images (#3239)
  • FIX: Flip order of transforms in init_ds_volumes_wf (#3238)
  • DOCKER: restore mincinfo binary (#3249)
  • CI: Move to new CircleCI machine tags (#3247)

Full Changelog: 23.2.0...23.2.1

23.2.0

10 Jan 18:18
Compare
Choose a tag to compare

Release notes

New feature release in the 23.2.x series.

This release wraps up a significant refactor of fMRIPrep. The main new features can be used with the --level and --derivatives flags.

The --level flag can take the arguments minimal, resampling or full. The default is full, which should produce nearly the same results as previous versions. minimal will produce only the minimum necessary to deterministically generate the remaining derivatives. resampling will produce some additional derivatives, intended to simplify resampling with other tools.

The --derivatives flag takes arguments of the form name=/path/to/dir, for example --derivatives anat=$SMRIPREP_DIR. If provided, fMRIPrep will read the specified directories for pre-computed derivatives. If a derivative is found, it will be used instead of computing it from scratch. If a derivative is not found, fMRIPrep will compute it and proceed as usual.

Taken together, these features can allow a dataset provider to run a minimal fMRIPrep run, targeting many output spaces, while a user can then run a --derivatives run to generate additional derivatives in only the output spaces they need. Another use case is to provide an precomputed derivative to override the default fMRIPrep behavior, enabling easier workarounds for bugs or experimentation with alternatives.

Additionally, this release includes a number of bug fixes and improvements. This release adds support for MSM-Sulc, improving the alignment of subject surfaces to the fsLR template. This process is enabled by default, but may be disabled with the --no-msm flag.

This release resolves a number of issues with fieldmaps inducing distortions during correction. Phase difference and direct fieldmaps are now masked correctly, preventing the overestimation of distortions outside the brain. Additionally, we now implement Jacobian weighting during unwarping, which corrects for compression and expansion effects on signal intensity. To disable Jacobian weighting, use --ignore fmap-jacobian.

Finally, a new resampling method has been added, to better account for susceptibility distortion and motion in a single shot resampling to a volumetric target space. We anticipate extending this to surface targets in the future.

Changes

  • FIX: Restore --ignore sbref functionality (#3180)
  • FIX: Retrieve atlas ROIs at requested density (#3179)
  • FIX: Keep minctracc executable in FreeSurfer installation (#3175)
  • FIX: Exclude echo entity from optimally combined derivatives (#3166)
  • FIX: Disable boldref-space outputs unless requested (#3159)
  • FIX: Tag memory estimates in resamplers (#3150)
  • FIX: Final revisions for next branch (#3134)
  • FIX: Minor fixes to work with MSMSulc-enabled smriprep-next (#3098)
  • FIX: Connect EPI-to-fieldmap transform (#3099)
  • FIX: Use Py2-compatible version file template for fmriprep-docker (#3101)
  • FIX: Update connections to unwarp_wf, convert ITK transforms to text (#3077)
  • ENH: Allow --ignore fmap-jacobian to disable Jacobian determinant modulation during fieldmap correction (#3186)
  • ENH: Exclude non-steady-state volumes from confound correlation plot (#3171)
  • ENH: Pass FLAIR images to anatomical workflow builder to include in boilerplate (#3146)
  • ENH: Restore carpetplot and other final adjustments (#3131)
  • ENH: Restore CIFTI-2 generation (#3129)
  • ENH: Restore resampling to surface GIFTIs (#3126)
  • ENH: Restore confound generation (#3120)
  • ENH: Restore resampling BOLD to volumetric templates (#3121)
  • ENH: Restore resampling to T1w target (#3116)
  • ENH: Add MSMSulc (#3085)
  • ENH: Add reporting workflow for BOLD fit (#3082)
  • ENH: Generate anatomical derivatives useful for resampling (#3081)
  • RF: Load reportlets interfaces from nireports rather than niworkflows (#3176, #3184)
  • RF: Separate goodvoxels mask creation from fsLR resampling (#3170)
  • RF: Write out anatomical template derivatives (#3136)
  • RF: Update primary bold workflow to incorporate single shot resampling (#3114)
  • RF: Update derivative cache spec, calculate per-BOLD, reuse boldref2fmap (#3078)
  • RF: Split fMRIPrep into fit and derivatives workflows (#2913)
  • RPT: Rename CSF/WM confounds in fMRIPlot (#3172)
  • TST: Add smoke tests for full workflow and most branching flags (#3155)
  • TST: Add smoke-tests for bold_fit_wf (#3152)
  • DOC: Fix documentation and description for init_bold_grayords_wf (#3051)
  • DOC: Minor updates in outputs.rst (#3148)
  • STY: Apply a couple refurb suggestions (#3151)
  • STY: Fix flake8 warnings (#3044)
  • STY: Apply pyupgrade suggestions (#3043)
  • MNT: Restore mritotal subcommands to Dockerfile (#3149)
  • MNT: Update smriprep to 0.13.1 (#3153)
  • MNT: optimise size of PNG files (#3145)
  • MNT: update vendored docs script github_link.py (#3144)
  • MNT: Update tedana pin, test on Python 3.12 (#3141)
  • MNT: Bump environment (#3132)
  • MNT: Bump version requirements (#3107)
  • MNT: http:// → https:// (#3097)
  • MNT: Remove mritotal and dependencies from FreeSurfer ignore file (#3090)
  • MNT: Update environment (#3073)
  • MNT: Depend on newer sphinx (#3067)
  • MNT: Install ANTs from conda-forge (#3061)
  • MNT: Drop Python 3.8 and numpy 1.21 support (NEP29) (#3052)
  • MNT: update update_zenodo.py script (#3042)
  • MNT: Fix welcome message formatting and instructions (#3039)
  • MNT: Python 3.11 should be supported (#3038)
  • CI: Bump actions/setup-python from 4 to 5 (#3181)
  • CI: Stop testing legacy layout (#3079)
  • CI: Improve tag detection for docker builds (#3066)
  • CI: Clean up pre-release builds (#3040)

New Contributors

Full Changelog: 23.1.4...23.2.0

23.2.0a3

13 Dec 21:50
Compare
Choose a tag to compare
23.2.0a3 Pre-release
Pre-release

Release notes

The final alpha release of fMRIPrep 23.2.0.

With thanks to everybody who has reported bugs and shared data for testing.

What's Changed

  • FIX: Disable boldref-space outputs unless requested by @effigies in #3159
  • FIX: Exclude echo entity from optimally combined derivatives by @tsalo in #3166
  • FIX: Keep minctracc executable in FreeSurfer installation by @effigies in #3175
  • FIX: Retrieve atlas ROIs at requested density by @effigies in #3179
  • FIX: Restore --ignore sbref functionality by @effigies in #3180
  • ENH: Exclude non-steady-state volumes from confound correlation plot by @tsalo in #3171
  • RF: Separate goodvoxels mask creation from fsLR resampling by @tsalo in #3170
  • RPT: Rename CSF/WM confounds in fMRIPlot by @tsalo in #3172
  • TST: Add smoke tests for full workflow and most branching flags by @effigies in #3155
  • MNT: Load reportlets interfaces from nireports rather than niworkflows by @celprov in #3176
  • CI: Bump actions/setup-python from 4 to 5 by @dependabot in #3181

Full Changelog: 23.2.0a2...23.2.0a3

23.2.0a2

22 Nov 00:31
Compare
Choose a tag to compare
23.2.0a2 Pre-release
Pre-release

Release notes

A quick turnaround patch for the 23.2.0a pre-releases. Thanks to @smeisler for spotting a bug. This release includes the necessary fix in sMRIPrep, as well as several improvements to tests and opportunistic cleanups.

What's Changed

New Contributors

Full Changelog: 23.2.0a1...23.2.0a2

23.2.0a1

21 Nov 13:18
Compare
Choose a tag to compare
23.2.0a1 Pre-release
Pre-release

Release notes

New feature release in the 23.2.x series.

This release wraps up a significant refactor of fMRIPrep. The main new features can be used with the --level and --derivatives flags.

The --level flag can take the arguments minimal, resampling or full. The default is full, which should produce nearly the same results as previous versions. minimal will produce only the minimum necessary to deterministically generate the remaining derivatives. resampling will produce some additional derivatives, intended to simplify resampling with other tools.

The --derivatives flag takes arguments of the form name=/path/to/dir, for example --derivatives anat=$SMRIPREP_DIR. If provided, fMRIPrep will read the specified directories for pre-computed derivatives. If a derivative is found, it will be used instead of computing it from scratch. If a derivative is not found, fMRIPrep will compute it and proceed as usual.

Taken together, these features can allow a dataset provider to run a minimal fMRIPrep run, targeting many output spaces, while a user can then run a --derivatives run to generate additional derivatives in only the output spaces they need. Another use case is to provide an precomputed derivative to override the default fMRIPrep behavior, enabling easier workarounds for bugs or experimentation with alternatives.

Additionally, this release includes a number of bug fixes and improvements. This release adds support for MSM-Sulc, improving the alignment of subject surfaces to the fsLR template. This process is enabled by default, but may be disabled with the --no-msm flag.

This release resolves a number of issues with fieldmaps inducing distortions during correction. Phase difference and direct fieldmaps are now masked correctly, preventing the overestimation of distortions outside the brain. Additionally, we now implement Jacobian weighting during unwarping, which corrects for compression and expansion effects on signal intensity.

Finally, a new resampling method has been added, to better account for susceptibility distortion and motion in a single shot resampling to a volumetric target space. We anticipate extending this to surface targets in the future.

Changes

  • FIX: Final revisions for next branch (#3134)
  • FIX: Minor fixes to work with MSMSulc-enabled smriprep-next (#3098)
  • FIX: Connect EPI-to-fieldmap transform (#3099)
  • FIX: Use Py2-compatible version file template for fmriprep-docker (#3101)
  • FIX: Update connections to unwarp_wf, convert ITK transforms to text (#3077)
  • ENH: Restore carpetplot and other final adjustments (#3131)
  • ENH: Restore CIFTI-2 generation (#3129)
  • ENH: Restore resampling to surface GIFTIs (#3126)
  • ENH: Restore confound generation (#3120)
  • ENH: Restore resampling BOLD to volumetric templates (#3121)
  • ENH: Restore resampling to T1w target (#3116)
  • ENH: Add MSMSulc (#3085)
  • ENH: Add reporting workflow for BOLD fit (#3082)
  • ENH: Generate anatomical derivatives useful for resampling (#3081)
  • RF: Write out anatomical template derivatives (#3136)
  • RF: Update primary bold workflow to incorporate single shot resampling (#3114)
  • RF: Update derivative cache spec, calculate per-BOLD, reuse boldref2fmap (#3078)
  • RF: Split fMRIPrep into fit and derivatives workflows (#2913)
  • DOC: Fix documentation and description for init_bold_grayords_wf (#3051)
  • STY: Fix flake8 warnings (#3044)
  • STY: Apply pyupgrade suggestions (#3043)
  • MNT: Bump environment (#3132)
  • MNT: Bump version requirements (#3107)
  • MNT: http:// → https:// (#3097)
  • MNT: Remove mritotal and dependencies from FreeSurfer ignore file (#3090)
  • MNT: Update environment (#3073)
  • MNT: Depend on newer sphinx (#3067)
  • MNT: Install ANTs from conda-forge (#3061)
  • MNT: Drop Python 3.8 and numpy 1.21 support (NEP29) (#3052)
  • MNT: update update_zenodo.py script (#3042)
  • MNT: Fix welcome message formatting and instructions (#3039)
  • MNT: Python 3.11 should be supported (#3038)
  • CI: Stop testing legacy layout (#3079)
  • CI: Improve tag detection for docker builds (#3066)
  • CI: Clean up pre-release builds (#3040)