Skip to content

Latest commit

 

History

History
278 lines (195 loc) · 14.3 KB

CHANGES.md

File metadata and controls

278 lines (195 loc) · 14.3 KB

What's new

0.7.3

This release fixes a bug in multi-PLD PCASL CBF calculation. Thanks to @xu-boyan for identifying the problem!

🐛 Bug Fixes

  • Add t1tissue term to multi-delay CBF formula by @tsalo in #432

Full Changelog: https://github.com/PennLINC/aslprep/compare/0.7.2...0.7.3

0.7.2

A patch release to fix GIFTI outputs.

🐛 Bug Fixes

  • Split giftis by hemisphere by @tsalo in #419

Full Changelog: https://github.com/PennLINC/aslprep/compare/0.7.1...0.7.2

0.7.1

A hotfix release following 0.7.0.

🐛 Bug Fixes

  • Fix the entrypoint path in the Dockerfile by @tsalo in #413

Full Changelog: https://github.com/PennLINC/aslprep/compare/0.7.0...0.7.1

0.7.0

🛠 Breaking Changes

  • Rename QC metrics and output QC files as TSVs by @tsalo in #375
  • Move atlases into a subfolder by @tsalo in #377

🎉 Exciting New Features

  • Add --ignore fmap-jacobian option by @tsalo in #385
  • Support lists in filter file with * or null by @tsalo in #388

🐛 Bug Fixes

  • Flip order of transforms in init_ds_volumes_wf by @tsalo in #392

Other Changes

  • Use space definitions from niworkflows by @tsalo in #378
  • Use niworkflows enhance-and-skullstrip workflow by @tsalo in #371
  • Update Nilearn requirement to 0.10.3 by @tsalo in #396
  • [ENH] Update docker image by @mattcieslak in #409
  • [FIX] update to newer docker by @mattcieslak in #412
  • Update codecov orb version by @tsalo in #410

Full Changelog: https://github.com/PennLINC/aslprep/compare/0.6.0...0.7.0

0.6.0

This release makes substantial changes to ASLPrep. The two main changes are (1) the Schaefer atlases are replaced with the PennLINC team's new 4S atlases, which combine the Schaefer cortical atlases and several subcortical atlases, and (2) a major rearchitect of the package based on fMRIPrep version 23.2.0a2. The latter allows ASLPrep to run FreeSurfer reconstruction, write out CIFTI and GIFTI format derivatives, and correctly apply susceptibility distortion correction with SDCFlows (although SDC support is dependent on the next SDCFlows release, so in practice it won't work just yet).

I'd like to credit Chris Markiewicz (@effigies) for doing the majority of the work in the fMRIPrep refactor, which I was able to copy and adapt for ASLPrep.

Here's a list of parameter changes with this release:

  • Users must point to the actual output directory. aslprep will no longer be appended automatically.
  • The parameter --anat-derivatives is replaced with --derivatives, which takes one or more paths to sMRIPrep or ASLPrep derivatives.
  • The parameter --dummy-vols is now --dummy-scans to match fMRIPrep.
  • The following parameters are newly added: --bids-database-dir, --level, --medial-surface-nan, --project-goodvoxels, --cifti-output, --no-msm, --no-submm-recon, --fs-subjects-dir, --fs-no-reconall, and --config-file.

Output changes:

  • The native-space aslref image is now split into desc-hmc and desc-coreg versions.
  • desc-pvGM_cbf is renamed to desc-basilGM_cbf.
  • desc-pvWM_cbf is renamed to desc-basilWM_cbf.
  • desc-confounds_regressors.tsv is renamed to desc-confounds_timeseries.tsv.
  • The transform from-T1w_to-scanner_mode-image_xfm.txt is no longer generated. The inverse is invertible, so the information is still available.
  • The transform from-scanner_to-T1w_mode-image_xfm.txt is split into from-orig_to-aslref_mode-image_xfm.txt and from-aslref_to-T1w_mode-image_xfm.txt files.

🛠 Breaking Changes

  • Add AtlasPack atlases by @tsalo in #330
  • Replace AtlasPack 0.0.5 atlases with AtlasPack 0.1.0 atlases by @tsalo in #334
  • Remove sdcflows and model ASLPrep on fMRIPrep/next by @tsalo in #338

🎉 Exciting New Features

  • Write out GIFTI and CIFTI CBF maps by @tsalo in #361

🐛 Bug Fixes

  • Pin scipy version to 1.10.1 by @tsalo in #333
  • Raise error if no M0 volume(s)/estimate available and background suppression is enabled by @tsalo in #337
  • Limit BASIL --slicedt argument to ascending slice orders by @tsalo in #348

Full Changelog: https://github.com/PennLINC/aslprep/compare/0.5.1...0.6.0

0.5.1

🐛 Bug Fixes

  • Make M0 TR optional for BASIL by @tsalo in #323
  • Fix BolusCutOffTechnique typo by @tsalo in #328

Other Changes

  • Remove unnecessary dependencies by @tsalo in #325
  • Document M0 use in reports by @tsalo in #329

Full Changelog: https://github.com/PennLINC/aslprep/compare/0.5.0...0.5.1

0.5.0

🎉 Exciting New Features

  • Add force-ge and force-no-ge parameters by @tsalo in #313
  • Write out QC metadata by @tsalo in #317

🐛 Bug Fixes

  • Fix nibabel import by @tsalo in #301
  • Fix the Docker image by @tsalo in #312
  • Remove M0 metadata from multi-PLD GE metadata dictionary by @tsalo in #315
  • Fix CombineMotionParameters to support single-volume volume types by @tsalo in #316
  • Patch regmotoasl by @tsalo in #320
  • Patch regmotoasl again by @tsalo in #321

Other Changes

  • Replace niworkflows calls with dependency calls (second attempt) by @tsalo in #299
  • Adopt Nipreps configuration and maintenance docs by @tsalo in #231
  • Fix Docker build steps by @tsalo in #309

Full Changelog: https://github.com/PennLINC/aslprep/compare/0.4.0...0.5.0

0.4.0

This release re-implements multi-delay PCASL and single-delay Q2TIPS PASL support.

Additionally, we have replaced certain BOLD-specific steps with ASL-compatible alternatives. One such case is slice timing correction. Rather than interpolate the ASL time series to perform slice timing correction (as in BOLD preprocessing), ASLPrep now shifts PLDs according to the slice timing. The other major change is to motion correction, which is now performed separately for each image type in the ASL time series (e.g., control, label, and M0 volumes).

Thanks to Sudipto Dolui, Jian Hu, Jan Petr, Manuel Taso, and Kay Jann for their help and feedback.

🛠 Breaking Changes

  • Use same TPM threshold for GE and non-GE data by @tsalo in #263
  • Remove slice-timing correction by @tsalo in #269

🎉 Exciting New Features

  • Shift PostLabelingDelay(s) by slice times by @tsalo in #280
  • Perform motion correction separately for each image type by @tsalo in #275
  • Support single-PLD Q2TIPS PASL and multi-PLD PCASL by @tsalo in #268

🐛 Bug Fixes

  • Support runs with SCORE/SCRUB disabled by @tsalo in #279
  • Reorganize atlases and add them to the package data by @tsalo in #282

Other Changes

  • Refactor workflow connections by @tsalo in #261
  • Refactor more by @tsalo in #264
  • Remove unused workflows by @tsalo in #271
  • Remove test-made nifti files before storing artifacts by @tsalo in #274
  • Improve plots by @tsalo in #286
  • Remove multi-echo elements by @tsalo in #294
  • Document M0 scaling by @tsalo in #292

Full Changelog: https://github.com/PennLINC/aslprep/compare/0.3.0...0.4.0

0.3.0

0.3.0 reflects renewed maintenance for ASLPrep.

The primary focuses of this release are: (1) fixing easily-fixable bugs, (2) disabling broken features with difficult-to-fix bugs, (3) cleaning up the codebase, (4) expanding test coverage, and (5) ensuring that outputs are BIDS-compliant.

To that end, we have unfortunately had to temporarily drop support for multi-PostLabelingDelay data, as well as PASL data with the Q2TIPS BolusCutOffTechnique. We will work on fixing these features for the next release.

Additionally, this release includes a number of breaking changes. We have renamed several of the outputs to ensure that they are BIDS-compliant. These outputs may need to change again in the future, but that will happen in the next minor release (0.4.0) at the earliest. See the table below for a list of the changed filenames.

Description <0.3.0 0.3.0
CBF time series _cbf.nii.gz _desc-timeseries_cbf.nii.gz
Mean CBF _mean_cbf.nii.gz _cbf.nii.gz
CBF time series after SCORE denoising _desc-score_cbf.nii.gz _desc-scoreTimeseries_cbf.nii.gz
Mean CBF after SCORE denoising _desc-score_mean_cbf.nii.gz _desc-score_cbf.nii.gz
Bolus arrival time/arterial transit time _desc-bat_cbf.nii.gz _att.nii.gz

Additionally, we have changed the atlases that are used for the parcellated CBF files. We have brought the atlases in line with those used by XCP-D. However, in the near future, we plan to update these atlases again, so that they are synchronized across ASLPrep, XCP-D, and QSIPrep, so please be aware of that upcoming change.

🛠 Breaking Changes

  • Rename BIDS-noncompliant derivatives by @tsalo in #216
  • Use correct bolus values in CBF calculation and temporarily disable Q2TIPS, multi-PLD, and no-BolusCutOff processing by @tsalo in #235
  • Disable SCORE/SCRUB for GE/short runs and get GE workflow working by @tsalo in #248
  • Parallelize parcellation and replace atlases by @tsalo in #254
  • Remove "mean" from mean CBF filenames and add "timeseries" to 4D CBF filenames by @tsalo in #257

🎉 Exciting New Features

  • Hardcode T1blood for some field strengths and use Zhang 2013 formula for others by @tsalo in #243
  • Estimate labeling efficiency based on ASL type and number of background suppression pulses by @tsalo in #244

🐛 Bug Fixes

  • Pin looseversion by @tsalo in #211
  • Correct ordering of probseg maps by @josephmje in #192
  • Convert inversion times to a list for compatility with BASIL interface by @tsalo in #222
  • Pin networkx version by @tsalo in #227
  • Use LabelingEfficiency as BASIL --alpha parameter by @tsalo in #233
  • Remove BIDS-noncompliant m0z and cbf files by @tsalo in #236
  • Replace RepetitionTime with RepetitionTimePreparation by @tsalo in #245
  • Index aslcontext rows with "cbf", not "CBF" by @tsalo in #252

Other Changes

  • Use aslprep_build as base Docker image - attempt 2 by @tsalo in #204
  • Autoformat with black and isort by @tsalo in #205
  • Replace relative imports with absolute ones by @tsalo in #206
  • Remove unused functions and classes by @tsalo in #207
  • Rename PEP8-noncompliant classes by @tsalo in #208
  • Consistently use f-strings for string formatting by @tsalo in #209
  • Work on fixing docstrings and splitting modules by @tsalo in #210
  • Remove unused arguments throughout package by @tsalo in #212
  • Replace smriprep calls with dependency calls by @tsalo in #217
  • Replace pybids calls with dependency calls by @tsalo in #213
  • Use custom formatting for workflow connections by @tsalo in #220
  • Improve documentation by @tsalo in #218
  • Add step to run unit tests by @tsalo in #221
  • Collect associated files at beginning of workflow by @tsalo in #246
  • Refactor confounds and QC metrics by @tsalo in #256

New Contributors

  • @tsalo made their first contribution in #204
  • @josephmje made their first contribution in #192

Full Changelog: https://github.com/PennLINC/aslprep/compare/0.2.8...0.3.0

0.2.7

Bids validation

0.2.6

11/12/2020

ENH - Add GE SCAN processing with deltam or cbf

ENH - suppressed freesurfer processing, FSL FLIRT with BBR for registration

ENH - basil and scorescrub as options, cbf computation is only default