Skip to content

Commit

Permalink
Merge tag '24.0.0'
Browse files Browse the repository at this point in the history
24.0.0 (August 29, 2024)

This major release includes a substantial refactoring of the pipeline.

One key addition is the addition of the `--level` flag, which 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 was altered to take arguments in the form `name=/path/to/dir`.
For each directory provided, if a derivative is found - it will be used instead of computing it from scratch. If a derivative is not found, NiBabies will compute it and proceed as usual.

Taken together, these features can allow a dataset provider to run a minimal NiBabies 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 NiBabies behavior, enabling easier workarounds for bugs or experimentation with alternatives.

Another new feature is a dynamic anatomical reference, which is set based on surface reconstruction method or through the `--reference-anatomical` flag. Previously, T1w was the default output space. Now, the reference anatomical is determined based on the surface reconstruction method.

Additionally, minor adjustments have been made to MCRIBS surface reconstruction to address failure rates. This is still an on-going investigation, but preliminary results look promising.

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, add `fmap-jacobian` to the `--ignore` argument.

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.

  * FIX: nest pathlib import in fix_multi_source_name (#365)
  * FIX: Avoid retrieving multiple templates from latest TF (#353)
  * FIX: Raise informative error if no t1w or t2w found (#347)
  * FIX: Easier pyenv usage (#342)
  * FIX: Catch nonexistent derivatives, clean up subworkflow logic (#336)
  * FIX: Use fsLR reg sphere for MCRIBS morphometrics resampling (#334)
  * FIX: T2star map MNI scaling (#320)

  * ENH: Alter outputs when MCRIBS reconstruction is used (#329)
  * ENH: Use nireports for Report generation + add reportlet per reconstruction (#328)
  * ENH: better repr for Derivatives class (#351)

  * RF: Move to fit/apply workflow (#360)
  * RF: Replace `resource_filename` with `load_data` (#345)

  * MAINT: Bump urllib3 from 2.0.3 to 2.0.7 (#319)
  * MAINT: Raise minimum to 3.10, bump actions (#337)
  * MAINT: Bump pillow from 9.5.0 to 10.0.1 (#317)
  * MAINT: Update to latest migas API (#326)

  * DOC: Use correct argument flag (#338)
  * DOC: Move to new theme, add outputs description (#383)
  • Loading branch information
mgxd committed Aug 30, 2024
2 parents 9529f59 + d207c6f commit 93632f7
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 34 deletions.
36 changes: 19 additions & 17 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,45 @@
24.0.0 (TBD)
============
24.0.0 (August 29, 2024)
========================
This major release includes a substantial refactoring of the pipeline.

One key addition is the addition of the `--level` flag, which 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 was altered to take arguments in the form `name=/path/to/dir`.
For each directory provided, if a derivative is found - it will be used instead of computing it from scratch. If a derivative is not found, NiBabies will compute it and proceed as usual.

Taken together, these features can allow a dataset provider to run a minimal NiBabies 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 NiBabies behavior, enabling easier workarounds for bugs or experimentation with alternatives.
Taken together, these features can allow a dataset provider to run a minimal NiBabies 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 NiBabies behavior, enabling easier workarounds for bugs or experimentation with alternatives.

Another new feature is a dynamic anatomical reference, which is set based on surface reconstruction method or through the `--reference-anatomical` flag. Previously, T1w was the default output space.
Another new feature is a dynamic anatomical reference, which is set based on surface reconstruction method or through the `--reference-anatomical` flag. Previously, T1w was the default output space. Now, the reference anatomical is determined based on the surface reconstruction method.

Additionally, minor adjustments have been made to MCRIBS surface reconstruction to address failure rates. This is still an on-going investigation, but preliminary results look promising.

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, add `fmap-jacobian` to the `--ignore` argument.

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.

## 24.0.0rc0 (August 01, 2024)
* RF: Move to fit/apply workflow (#360)
* FIX: nest pathlib import in fix_multi_source_name (#365)
* FIX: Avoid retrieving multiple templates from latest TF (#353)
* ENH: better repr for Derivatives class (#351)
* FIX: Raise informative error if no t1w or t2w found (#347)
* Replace `resource_filename` with `load_data` (#345)
* FIX: Easier pyenv usage (#342)
* Build(deps): Bump urllib3 from 2.0.3 to 2.0.7 (#319)
* Build(deps): Bump pillow from 9.5.0 to 10.0.1 (#317)
* DOC: Use correct argument flag (#338)
* MAINT: Raise minimum to 3.10, bump actions (#337)
* FIX: Catch nonexistent derivatives, clean up subworkflow logic (#336)
* Use fsLR reg sphere for MCRIBS morphometrics resampling (#334)
* FIX: Multiple T2ws, coerce reference to string (#333)

## 24.0.0a1
* MAINT: Update to latest migas API (#326)
* FIX: Use fsLR reg sphere for MCRIBS morphometrics resampling (#334)
* FIX: T2star map MNI scaling (#320)

* ENH: Alter outputs when MCRIBS reconstruction is used (#329)
* ENH: Use nireports for Report generation + add reportlet per reconstruction (#328)
* ENH: better repr for Derivatives class (#351)

* RF: Move to fit/apply workflow (#360)
* RF: Replace `resource_filename` with `load_data` (#345)

* MAINT: Bump urllib3 from 2.0.3 to 2.0.7 (#319)
* MAINT: Raise minimum to 3.10, bump actions (#337)
* MAINT: Bump pillow from 9.5.0 to 10.0.1 (#317)
* MAINT: Update to latest migas API (#326)

* DOC: Use correct argument flag (#338)
* DOC: Move to new theme, add outputs description (#383)


23.1.0 (November 22, 2023)
============
Expand Down
3 changes: 1 addition & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,7 @@ dependencies = [
"pybids >= 0.15.0",
"requests",
"sdcflows >= 2.10.0",
# "smriprep >= 0.16.0",
"smriprep @ git+https://github.com/nipreps/smriprep.git@master",
"smriprep >= 0.16.1",
"tedana >= 23.0.2",
"templateflow >= 24.2.0",
"toml",
Expand Down
16 changes: 1 addition & 15 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,6 @@ botocore==1.34.150
# s3transfer
certifi==2024.7.4
# via requests
cffi==1.16.0
# via cryptography
chardet==5.2.0
# via datalad
charset-normalizer==3.3.2
Expand All @@ -52,8 +50,6 @@ contourpy==1.2.1
# via
# bokeh
# matplotlib
cryptography==43.0.0
# via secretstorage
cycler==0.12.1
# via matplotlib
datalad==1.1.2
Expand Down Expand Up @@ -81,8 +77,6 @@ formulaic==0.5.2
# via pybids
fsspec==2024.6.1
# via universal-pathlib
greenlet==3.0.3
# via sqlalchemy
h5py==3.11.0
# via nitransforms
humanize==4.10.0
Expand Down Expand Up @@ -115,10 +109,6 @@ jaraco-context==5.3.0
# keyrings-alt
jaraco-functools==4.0.1
# via keyring
jeepney==0.8.0
# via
# keyring
# secretstorage
jinja2==3.1.4
# via
# bokeh
Expand Down Expand Up @@ -305,8 +295,6 @@ pybtex==0.24.0
# via tedana
pybtex-apa-style==1.3
# via tedana
pycparser==2.22
# via cffi
pydot==3.0.1
# via nipype
pyparsing==3.1.2
Expand Down Expand Up @@ -379,8 +367,6 @@ seaborn==0.13.2
# via
# nireports
# niworkflows
secretstorage==3.3.3
# via keyring
simplejson==3.19.2
# via nipype
six==1.16.0
Expand All @@ -389,7 +375,7 @@ six==1.16.0
# osfclient
# pybtex
# python-dateutil
smriprep @ git+https://github.com/nipreps/smriprep.git@master
smriprep==0.16.1
# via nibabies (pyproject.toml)
sqlalchemy==2.0.31
# via pybids
Expand Down

0 comments on commit 93632f7

Please sign in to comment.