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 PennLINC#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 PennLINC#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 PennLINC#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 PennLINC#375
- Move atlases into a subfolder by @tsalo in PennLINC#377
- Add --ignore fmap-jacobian option by @tsalo in PennLINC#385
- Support lists in filter file with
*
ornull
by @tsalo in PennLINC#388
- Flip order of transforms in
init_ds_volumes_wf
by @tsalo in PennLINC#392
- Use space definitions from niworkflows by @tsalo in PennLINC#378
- Use niworkflows enhance-and-skullstrip workflow by @tsalo in PennLINC#371
- Update Nilearn requirement to 0.10.3 by @tsalo in PennLINC#396
- [ENH] Update docker image by @mattcieslak in PennLINC#409
- [FIX] update to newer docker by @mattcieslak in PennLINC#412
- Update codecov orb version by @tsalo in PennLINC#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 PennLINC#330
- Replace AtlasPack 0.0.5 atlases with AtlasPack 0.1.0 atlases by @tsalo in PennLINC#334
- Remove sdcflows and model ASLPrep on fMRIPrep/next by @tsalo in PennLINC#338
- Write out GIFTI and CIFTI CBF maps by @tsalo in PennLINC#361
- Pin scipy version to 1.10.1 by @tsalo in PennLINC#333
- Raise error if no M0 volume(s)/estimate available and background suppression is enabled by @tsalo in PennLINC#337
- Limit BASIL
--slicedt
argument to ascending slice orders by @tsalo in PennLINC#348
Full Changelog: https://github.com/PennLINC/aslprep/compare/0.5.1...0.6.0
- Make M0 TR optional for BASIL by @tsalo in PennLINC#323
- Fix
BolusCutOffTechnique
typo by @tsalo in PennLINC#328
- Remove unnecessary dependencies by @tsalo in PennLINC#325
- Document M0 use in reports by @tsalo in PennLINC#329
Full Changelog: https://github.com/PennLINC/aslprep/compare/0.5.0...0.5.1
- Add force-ge and force-no-ge parameters by @tsalo in PennLINC#313
- Write out QC metadata by @tsalo in PennLINC#317
- Fix nibabel import by @tsalo in PennLINC#301
- Fix the Docker image by @tsalo in PennLINC#312
- Remove M0 metadata from multi-PLD GE metadata dictionary by @tsalo in PennLINC#315
- Fix CombineMotionParameters to support single-volume volume types by @tsalo in PennLINC#316
- Patch regmotoasl by @tsalo in PennLINC#320
- Patch regmotoasl again by @tsalo in PennLINC#321
- Replace niworkflows calls with dependency calls (second attempt) by @tsalo in PennLINC#299
- Adopt Nipreps configuration and maintenance docs by @tsalo in PennLINC#231
- Fix Docker build steps by @tsalo in PennLINC#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 PennLINC#263
- Remove slice-timing correction by @tsalo in PennLINC#269
- Shift PostLabelingDelay(s) by slice times by @tsalo in PennLINC#280
- Perform motion correction separately for each image type by @tsalo in PennLINC#275
- Support single-PLD Q2TIPS PASL and multi-PLD PCASL by @tsalo in PennLINC#268
- Support runs with SCORE/SCRUB disabled by @tsalo in PennLINC#279
- Reorganize atlases and add them to the package data by @tsalo in PennLINC#282
- Refactor workflow connections by @tsalo in PennLINC#261
- Refactor more by @tsalo in PennLINC#264
- Remove unused workflows by @tsalo in PennLINC#271
- Remove test-made nifti files before storing artifacts by @tsalo in PennLINC#274
- Improve plots by @tsalo in PennLINC#286
- Remove multi-echo elements by @tsalo in PennLINC#294
- Document M0 scaling by @tsalo in PennLINC#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 PennLINC#216
- Use correct bolus values in CBF calculation and temporarily disable Q2TIPS, multi-PLD, and no-BolusCutOff processing by @tsalo in PennLINC#235
- Disable SCORE/SCRUB for GE/short runs and get GE workflow working by @tsalo in PennLINC#248
- Parallelize parcellation and replace atlases by @tsalo in PennLINC#254
- Remove "mean" from mean CBF filenames and add "timeseries" to 4D CBF filenames by @tsalo in PennLINC#257
- Hardcode T1blood for some field strengths and use Zhang 2013 formula for others by @tsalo in PennLINC#243
- Estimate labeling efficiency based on ASL type and number of background suppression pulses by @tsalo in PennLINC#244
- Pin looseversion by @tsalo in PennLINC#211
- Correct ordering of probseg maps by @josephmje in PennLINC#192
- Convert inversion times to a list for compatility with BASIL interface by @tsalo in PennLINC#222
- Pin networkx version by @tsalo in PennLINC#227
- Use LabelingEfficiency as BASIL
--alpha
parameter by @tsalo in PennLINC#233 - Remove BIDS-noncompliant m0z and cbf files by @tsalo in PennLINC#236
- Replace RepetitionTime with RepetitionTimePreparation by @tsalo in PennLINC#245
- Index aslcontext rows with "cbf", not "CBF" by @tsalo in PennLINC#252
- Use aslprep_build as base Docker image - attempt 2 by @tsalo in PennLINC#204
- Autoformat with black and isort by @tsalo in PennLINC#205
- Replace relative imports with absolute ones by @tsalo in PennLINC#206
- Remove unused functions and classes by @tsalo in PennLINC#207
- Rename PEP8-noncompliant classes by @tsalo in PennLINC#208
- Consistently use f-strings for string formatting by @tsalo in PennLINC#209
- Work on fixing docstrings and splitting modules by @tsalo in PennLINC#210
- Remove unused arguments throughout package by @tsalo in PennLINC#212
- Replace smriprep calls with dependency calls by @tsalo in PennLINC#217
- Replace pybids calls with dependency calls by @tsalo in PennLINC#213
- Use custom formatting for workflow connections by @tsalo in PennLINC#220
- Improve documentation by @tsalo in PennLINC#218
- Add step to run unit tests by @tsalo in PennLINC#221
- Collect associated files at beginning of workflow by @tsalo in PennLINC#246
- Refactor confounds and QC metrics by @tsalo in PennLINC#256
- @tsalo made their first contribution in PennLINC#204
- @josephmje made their first contribution in PennLINC#192
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