This release fixes a bug in multi-PLD PCASL CBF calculation. Thanks to @xu-boyan for identifying the problem!
- 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
A patch release to fix GIFTI outputs.
- Split giftis by hemisphere by @tsalo in #419
Full Changelog: https://github.com/PennLINC/aslprep/compare/0.7.1...0.7.2
A hotfix release following 0.7.0.
- 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
- Rename QC metrics and output QC files as TSVs by @tsalo in #375
- Move atlases into a subfolder by @tsalo in #377
- Add --ignore fmap-jacobian option by @tsalo in #385
- Support lists in filter file with
*
ornull
by @tsalo in #388
- Flip order of transforms in
init_ds_volumes_wf
by @tsalo in #392
- 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
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 intodesc-hmc
anddesc-coreg
versions. desc-pvGM_cbf
is renamed todesc-basilGM_cbf
.desc-pvWM_cbf
is renamed todesc-basilWM_cbf
.desc-confounds_regressors.tsv
is renamed todesc-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 intofrom-orig_to-aslref_mode-image_xfm.txt
andfrom-aslref_to-T1w_mode-image_xfm.txt
files.
- 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
- Write out GIFTI and CIFTI CBF maps by @tsalo in #361
- 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
Full Changelog: https://github.com/PennLINC/aslprep/compare/0.5.0...0.5.1
- 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
- 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
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.
- Use same TPM threshold for GE and non-GE data by @tsalo in #263
- Remove slice-timing correction by @tsalo in #269
- 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
- Support runs with SCORE/SCRUB disabled by @tsalo in #279
- Reorganize atlases and add them to the package data by @tsalo in #282
- 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 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.
- 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
- 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
- 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
- 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
Full Changelog: https://github.com/PennLINC/aslprep/compare/0.2.8...0.3.0
Bids validation
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