diff --git a/.versions.json b/.versions.json index 36ef1708a..fccdbf60c 100644 --- a/.versions.json +++ b/.versions.json @@ -9,6 +9,8 @@ "0.2.6": "Ordering of probseg maps was incorrect.", "0.2.7": "Ordering of probseg maps was incorrect.", "0.2.8": "Ordering of probseg maps was incorrect.", - "0.7.0": "Broken entrypoint for Docker/Apptainer." + "0.6.0": "GIFTI outputs not separated by hemisphere.", + "0.7.0": "Broken entrypoint for Docker/Apptainer. GIFTI outputs not separated by hemisphere.", + "0.7.1": "GIFTI outputs not separated by hemisphere." } } diff --git a/CHANGES.md b/CHANGES.md index 3b7706c49..a42c7aeb2 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,25 @@ +## 0.7.2 + +A patch release to fix GIFTI outputs. + +### 🐛 Bug Fixes + +* Split giftis by hemisphere by @tsalo in https://github.com/PennLINC/aslprep/pull/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 https://github.com/PennLINC/aslprep/pull/413 + +**Full Changelog**: https://github.com/PennLINC/aslprep/compare/0.7.0...0.7.1 + + ## 0.7.0 ### 🛠 Breaking Changes diff --git a/CITATION.cff b/CITATION.cff index 8affe7c5b..3ad3d35f4 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -124,5 +124,5 @@ keywords: - BIDS-App - Neuroimaging license: BSD-3-Clause -version: 0.7.0 -date-released: '2024-05-09' +version: 0.7.2 +date-released: '2024-06-03' diff --git a/aslprep/data/aslprep_bids_config.json b/aslprep/data/aslprep_bids_config.json index 755620537..28871aaae 100755 --- a/aslprep/data/aslprep_bids_config.json +++ b/aslprep/data/aslprep_bids_config.json @@ -38,7 +38,8 @@ "sub-{subject}[/ses-{session}]/{datatype|func}/sub-{subject}[_ses-{session}][_task-{task}][_acq-{acquisition}][_ce-{ceagent}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_echo-{echo}][_space-{space}][_atlas-{atlas}][_cohort-{cohort}][_desc-{desc}]_{suffix|timeseries}{extension<.json|.tsv|.csv|>|.tsv}", "sub-{subject}[/ses-{session}]/{datatype|perf}/sub-{subject}[_ses-{session}][_task-{task}][_acq-{acquisition}][_ce-{ceagent}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_echo-{echo}][_desc-{desc}]_{suffix}{extension<.tsv|.json>|.tsv}", "sub-{subject}[/ses-{session}]/{datatype|perf}/sub-{subject}[_ses-{session}][_task-{task}][_acq-{acquisition}][_ce-{ceagent}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_echo-{echo}][_space-{space}][_res-{res}][_atlas-{atlas}][_cohort-{cohort}][_desc-{desc}]_{suffix}{extension<.nii|.nii.gz|.json|.csv|.tsv>|.nii.gz}", - "sub-{subject}[/ses-{session}]/{datatype|perf}/sub-{subject}[_ses-{session}][_task-{task}][_acq-{acquisition}][_ce-{ceagent}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_echo-{echo}][_space-{space}][_res-{res}][_den-{den}][_cohort-{cohort}][_desc-{desc}]_{suffix}{extension<.dtseries.nii|.dscalar.nii|.json|.dscalar.json|.dtseries.json|.func.gii|.func.json>|.dtseries.nii}", + "sub-{subject}[/ses-{session}]/{datatype|perf}/sub-{subject}[_ses-{session}][_task-{task}][_acq-{acquisition}][_ce-{ceagent}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_echo-{echo}][_space-{space}][_res-{res}][_den-{den}][_cohort-{cohort}][_desc-{desc}]_{suffix}{extension<.dtseries.nii|.dscalar.nii|.json|.dscalar.json|.dtseries.json>|.dtseries.nii}", + "sub-{subject}[/ses-{session}]/{datatype|perf}/sub-{subject}[_ses-{session}][_task-{task}][_acq-{acquisition}][_ce-{ceagent}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_echo-{echo}][_hemi-{hemi}][_space-{space}][_res-{res}][_den-{den}][_cohort-{cohort}][_desc-{desc}]_{suffix}{extension|.func.gii}", "sub-{subject}[/ses-{session}]/{datatype|figures}/sub-{subject}[_ses-{session}][_task-{task}][_acq-{acquisition}][_ce-{ceagent}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_echo-{echo}][_space-{space}][_res-{res}][_den-{den}][_cohort-{cohort}][_desc-{desc}]_{suffix}{extension<.svg|.png|.html>|.svg}", "sub-{subject}/{datatype}/sub-{subject}[_ses-{session}][_acq-{acquisition}][_ce-{ceagent}][_rec-{reconstruction}][_run-{run}][_space-{space}][_atlas-{atlas}][_cohort-{cohort}][_desc-{desc}]_{suffix}{extension<.html|.svg|.png>}", "sub-{subject}/{datatype}/sub-{subject}[_ses-{session}][_acq-{acquisition}][_ce-{ceagent}][_rec-{reconstruction}][_run-{run}][_space-{space}][_atlas-{atlas}][_cohort-{cohort}][_desc-{desc}]_{suffix}{extension<.html|.svg|.png>}", diff --git a/aslprep/tests/data/expected_outputs_examples_pcasl_singlepld_philips.txt b/aslprep/tests/data/expected_outputs_examples_pcasl_singlepld_philips.txt index 7d61ec8c4..c24d1a861 100644 --- a/aslprep/tests/data/expected_outputs_examples_pcasl_singlepld_philips.txt +++ b/aslprep/tests/data/expected_outputs_examples_pcasl_singlepld_philips.txt @@ -232,21 +232,39 @@ sub-01/ses-philips2d/perf/sub-01_ses-philips2d_from-aslref_to-T1w_mode-image_xfm sub-01/ses-philips2d/perf/sub-01_ses-philips2d_from-aslref_to-T1w_mode-image_xfm.txt sub-01/ses-philips2d/perf/sub-01_ses-philips2d_from-orig_to-aslref_mode-image_xfm.json sub-01/ses-philips2d/perf/sub-01_ses-philips2d_from-orig_to-aslref_mode-image_xfm.txt -sub-01/ses-philips2d/perf/sub-01_ses-philips2d_space-fsaverage5_cbf.func.gii -sub-01/ses-philips2d/perf/sub-01_ses-philips2d_space-fsaverage5_cbf.json -sub-01/ses-philips2d/perf/sub-01_ses-philips2d_space-fsaverage5_desc-basilGM_cbf.func.gii -sub-01/ses-philips2d/perf/sub-01_ses-philips2d_space-fsaverage5_desc-basilGM_cbf.json -sub-01/ses-philips2d/perf/sub-01_ses-philips2d_space-fsaverage5_desc-basilWM_cbf.func.gii -sub-01/ses-philips2d/perf/sub-01_ses-philips2d_space-fsaverage5_desc-basilWM_cbf.json -sub-01/ses-philips2d/perf/sub-01_ses-philips2d_space-fsaverage5_desc-basil_att.func.gii -sub-01/ses-philips2d/perf/sub-01_ses-philips2d_space-fsaverage5_desc-basil_att.json -sub-01/ses-philips2d/perf/sub-01_ses-philips2d_space-fsaverage5_desc-basil_cbf.func.gii -sub-01/ses-philips2d/perf/sub-01_ses-philips2d_space-fsaverage5_desc-basil_cbf.json -sub-01/ses-philips2d/perf/sub-01_ses-philips2d_space-fsaverage5_desc-scoreTimeseries_cbf.func.gii -sub-01/ses-philips2d/perf/sub-01_ses-philips2d_space-fsaverage5_desc-scoreTimeseries_cbf.json -sub-01/ses-philips2d/perf/sub-01_ses-philips2d_space-fsaverage5_desc-score_cbf.func.gii -sub-01/ses-philips2d/perf/sub-01_ses-philips2d_space-fsaverage5_desc-score_cbf.json -sub-01/ses-philips2d/perf/sub-01_ses-philips2d_space-fsaverage5_desc-scrub_cbf.func.gii -sub-01/ses-philips2d/perf/sub-01_ses-philips2d_space-fsaverage5_desc-scrub_cbf.json -sub-01/ses-philips2d/perf/sub-01_ses-philips2d_space-fsaverage5_desc-timeseries_cbf.func.gii -sub-01/ses-philips2d/perf/sub-01_ses-philips2d_space-fsaverage5_desc-timeseries_cbf.json +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-L_space-fsaverage5_cbf.func.gii +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-L_space-fsaverage5_cbf.json +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-L_space-fsaverage5_desc-basilGM_cbf.func.gii +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-L_space-fsaverage5_desc-basilGM_cbf.json +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-L_space-fsaverage5_desc-basilWM_cbf.func.gii +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-L_space-fsaverage5_desc-basilWM_cbf.json +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-L_space-fsaverage5_desc-basil_att.func.gii +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-L_space-fsaverage5_desc-basil_att.json +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-L_space-fsaverage5_desc-basil_cbf.func.gii +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-L_space-fsaverage5_desc-basil_cbf.json +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-L_space-fsaverage5_desc-scoreTimeseries_cbf.func.gii +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-L_space-fsaverage5_desc-scoreTimeseries_cbf.json +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-L_space-fsaverage5_desc-score_cbf.func.gii +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-L_space-fsaverage5_desc-score_cbf.json +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-L_space-fsaverage5_desc-scrub_cbf.func.gii +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-L_space-fsaverage5_desc-scrub_cbf.json +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-L_space-fsaverage5_desc-timeseries_cbf.func.gii +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-L_space-fsaverage5_desc-timeseries_cbf.json +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-R_space-fsaverage5_cbf.func.gii +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-R_space-fsaverage5_cbf.json +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-R_space-fsaverage5_desc-basilGM_cbf.func.gii +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-R_space-fsaverage5_desc-basilGM_cbf.json +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-R_space-fsaverage5_desc-basilWM_cbf.func.gii +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-R_space-fsaverage5_desc-basilWM_cbf.json +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-R_space-fsaverage5_desc-basil_att.func.gii +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-R_space-fsaverage5_desc-basil_att.json +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-R_space-fsaverage5_desc-basil_cbf.func.gii +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-R_space-fsaverage5_desc-basil_cbf.json +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-R_space-fsaverage5_desc-scoreTimeseries_cbf.func.gii +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-R_space-fsaverage5_desc-scoreTimeseries_cbf.json +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-R_space-fsaverage5_desc-score_cbf.func.gii +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-R_space-fsaverage5_desc-score_cbf.json +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-R_space-fsaverage5_desc-scrub_cbf.func.gii +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-R_space-fsaverage5_desc-scrub_cbf.json +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-R_space-fsaverage5_desc-timeseries_cbf.func.gii +sub-01/ses-philips2d/perf/sub-01_ses-philips2d_hemi-R_space-fsaverage5_desc-timeseries_cbf.json diff --git a/pyproject.toml b/pyproject.toml index 44425bb44..748260165 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,24 +18,24 @@ license = {file = "LICENSE.md"} requires-python = ">=3.11" dependencies = [ 'importlib_resources; python_version < "3.12"', - "fmriprep @ git+https://github.com/nipreps/fmriprep.git@master", + "fmriprep ~= 24.0", "indexed_gzip <= 1.8.7", "looseversion", "networkx ~= 3.3", # nipype needs networkx, but 3+ isn"t compatible with nipype 1.8.5 "nibabel <= 5.2.1", "nilearn ~= 0.10.3", "nipype >= 1.8.5", - "nitransforms @ git+https://github.com/nipreps/niworkflows.git@master", + "nitransforms >= 21.0.0", "niworkflows ~= 1.10.0", "numpy >= 1.26", "packaging", "pandas", "psutil <= 5.9.8", - "pybids <= 0.16.4", + "pybids <= 0.16.5", "requests", - "sdcflows @ git+https://github.com/nipreps/sdcflows.git@master", - "sentry-sdk <= 2.2.0", - "smriprep @ git+https://github.com/nipreps/smriprep.git@master", + "sdcflows <= 2.8.1", + "sentry-sdk <= 2.7.1", + "smriprep <= 0.15", "templateflow <= 24.2.0", "toml",