Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions aslprep/tests/data/expected_outputs_examples_pasl_multipld.txt
Original file line number Diff line number Diff line change
Expand Up @@ -78,11 +78,21 @@ logs/CITATION.tex
sub-01
sub-01.html
sub-01/anat
sub-01/anat/sub-01_desc-aparcaseg_dseg.nii.gz
sub-01/anat/sub-01_desc-aseg_dseg.nii.gz
sub-01/anat/sub-01_desc-preproc_T2w.json
sub-01/anat/sub-01_desc-preproc_T2w.nii.gz
sub-01/anat/sub-01_desc-ribbon_mask.json
sub-01/anat/sub-01_desc-ribbon_mask.nii.gz
sub-01/anat/sub-01_hemi-L_desc-cortex_mask.json
sub-01/anat/sub-01_hemi-L_desc-cortex_mask.label.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_curv.shape.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_inflated.surf.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_sphere.surf.gii
sub-01/anat/sub-01_hemi-R_desc-cortex_mask.json
sub-01/anat/sub-01_hemi-R_desc-cortex_mask.label.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_curv.shape.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_inflated.surf.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_sphere.surf.gii
sub-01/perf
sub-01/perf/sub-01_abat.json
Expand Down
10 changes: 10 additions & 0 deletions aslprep/tests/data/expected_outputs_examples_pcasl_multipld.txt
Original file line number Diff line number Diff line change
Expand Up @@ -78,11 +78,21 @@ logs/CITATION.tex
sub-01
sub-01.html
sub-01/anat
sub-01/anat/sub-01_desc-aparcaseg_dseg.nii.gz
sub-01/anat/sub-01_desc-aseg_dseg.nii.gz
sub-01/anat/sub-01_desc-preproc_T2w.json
sub-01/anat/sub-01_desc-preproc_T2w.nii.gz
sub-01/anat/sub-01_desc-ribbon_mask.json
sub-01/anat/sub-01_desc-ribbon_mask.nii.gz
sub-01/anat/sub-01_hemi-L_desc-cortex_mask.json
sub-01/anat/sub-01_hemi-L_desc-cortex_mask.label.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_curv.shape.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_inflated.surf.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_sphere.surf.gii
sub-01/anat/sub-01_hemi-R_desc-cortex_mask.json
sub-01/anat/sub-01_hemi-R_desc-cortex_mask.label.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_curv.shape.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_inflated.surf.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_sphere.surf.gii
sub-01/perf
sub-01/perf/sub-01_abat.json
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,19 @@ logs/CITATION.tex
sub-01
sub-01.html
sub-01/anat
sub-01/anat/sub-01_desc-aparcaseg_dseg.nii.gz
sub-01/anat/sub-01_desc-aseg_dseg.nii.gz
sub-01/anat/sub-01_desc-ribbon_mask.json
sub-01/anat/sub-01_desc-ribbon_mask.nii.gz
sub-01/anat/sub-01_hemi-L_desc-cortex_mask.json
sub-01/anat/sub-01_hemi-L_desc-cortex_mask.label.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_curv.shape.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_inflated.surf.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_sphere.surf.gii
sub-01/anat/sub-01_hemi-R_desc-cortex_mask.json
sub-01/anat/sub-01_hemi-R_desc-cortex_mask.label.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_curv.shape.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_inflated.surf.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_sphere.surf.gii
sub-01/ses-anat
sub-01/ses-anat/anat
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,19 @@ logs/CITATION.tex
sub-01
sub-01.html
sub-01/anat
sub-01/anat/sub-01_desc-aparcaseg_dseg.nii.gz
sub-01/anat/sub-01_desc-aseg_dseg.nii.gz
sub-01/anat/sub-01_desc-ribbon_mask.json
sub-01/anat/sub-01_desc-ribbon_mask.nii.gz
sub-01/anat/sub-01_hemi-L_desc-cortex_mask.json
sub-01/anat/sub-01_hemi-L_desc-cortex_mask.label.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_curv.shape.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_inflated.surf.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_sphere.surf.gii
sub-01/anat/sub-01_hemi-R_desc-cortex_mask.json
sub-01/anat/sub-01_hemi-R_desc-cortex_mask.label.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_curv.shape.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_inflated.surf.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_sphere.surf.gii
sub-01/ses-anat
sub-01/ses-anat/anat
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,19 @@ logs/CITATION.tex
sub-01
sub-01.html
sub-01/anat
sub-01/anat/sub-01_desc-aparcaseg_dseg.nii.gz
sub-01/anat/sub-01_desc-aseg_dseg.nii.gz
sub-01/anat/sub-01_desc-ribbon_mask.json
sub-01/anat/sub-01_desc-ribbon_mask.nii.gz
sub-01/anat/sub-01_hemi-L_desc-cortex_mask.json
sub-01/anat/sub-01_hemi-L_desc-cortex_mask.label.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_curv.shape.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_inflated.surf.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_sphere.surf.gii
sub-01/anat/sub-01_hemi-R_desc-cortex_mask.json
sub-01/anat/sub-01_hemi-R_desc-cortex_mask.label.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_curv.shape.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_inflated.surf.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_sphere.surf.gii
sub-01/anat/sub-01_space-MNI152NLin2009cAsym_desc-brain_mask.json
sub-01/anat/sub-01_space-MNI152NLin2009cAsym_desc-brain_mask.nii.gz
Expand Down
10 changes: 10 additions & 0 deletions aslprep/tests/data/expected_outputs_qtab.txt
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,19 @@ logs/CITATION.tex
sub-01
sub-01.html
sub-01/anat
sub-01/anat/sub-01_desc-aparcaseg_dseg.nii.gz
sub-01/anat/sub-01_desc-aseg_dseg.nii.gz
sub-01/anat/sub-01_desc-ribbon_mask.json
sub-01/anat/sub-01_desc-ribbon_mask.nii.gz
sub-01/anat/sub-01_hemi-L_desc-cortex_mask.json
sub-01/anat/sub-01_hemi-L_desc-cortex_mask.label.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_curv.shape.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_inflated.surf.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_sphere.surf.gii
sub-01/anat/sub-01_hemi-R_desc-cortex_mask.json
sub-01/anat/sub-01_hemi-R_desc-cortex_mask.label.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_curv.shape.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_inflated.surf.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_sphere.surf.gii
sub-01/anat/sub-01_space-MNI152NLin2009cAsym_desc-brain_mask.json
sub-01/anat/sub-01_space-MNI152NLin2009cAsym_desc-brain_mask.nii.gz
Expand Down
10 changes: 10 additions & 0 deletions aslprep/tests/data/expected_outputs_test_001.txt
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,19 @@ logs/CITATION.tex
sub-01
sub-01.html
sub-01/anat
sub-01/anat/sub-01_desc-aparcaseg_dseg.nii.gz
sub-01/anat/sub-01_desc-aseg_dseg.nii.gz
sub-01/anat/sub-01_desc-ribbon_mask.json
sub-01/anat/sub-01_desc-ribbon_mask.nii.gz
sub-01/anat/sub-01_hemi-L_desc-cortex_mask.json
sub-01/anat/sub-01_hemi-L_desc-cortex_mask.label.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_curv.shape.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_inflated.surf.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_sphere.surf.gii
sub-01/anat/sub-01_hemi-R_desc-cortex_mask.json
sub-01/anat/sub-01_hemi-R_desc-cortex_mask.label.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_curv.shape.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_inflated.surf.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_sphere.surf.gii
sub-01/anat/sub-01_space-MNI152NLin2009cAsym_desc-brain_mask.json
sub-01/anat/sub-01_space-MNI152NLin2009cAsym_desc-brain_mask.nii.gz
Expand Down
10 changes: 10 additions & 0 deletions aslprep/tests/data/expected_outputs_test_002.txt
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,19 @@ logs/CITATION.tex
sub-01
sub-01.html
sub-01/anat
sub-01/anat/sub-01_desc-aparcaseg_dseg.nii.gz
sub-01/anat/sub-01_desc-aseg_dseg.nii.gz
sub-01/anat/sub-01_desc-ribbon_mask.json
sub-01/anat/sub-01_desc-ribbon_mask.nii.gz
sub-01/anat/sub-01_hemi-L_desc-cortex_mask.json
sub-01/anat/sub-01_hemi-L_desc-cortex_mask.label.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_curv.shape.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_inflated.surf.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_sphere.surf.gii
sub-01/anat/sub-01_hemi-R_desc-cortex_mask.json
sub-01/anat/sub-01_hemi-R_desc-cortex_mask.label.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_curv.shape.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_inflated.surf.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_sphere.surf.gii
sub-01/anat/sub-01_space-MNI152NLin2009cAsym_desc-brain_mask.json
sub-01/anat/sub-01_space-MNI152NLin2009cAsym_desc-brain_mask.nii.gz
Expand Down
4 changes: 4 additions & 0 deletions aslprep/tests/data/expected_outputs_test_003.txt
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,11 @@ sub-01.html
sub-01/anat
sub-01/anat/sub-01_desc-ribbon_mask.json
sub-01/anat/sub-01_desc-ribbon_mask.nii.gz
sub-01/anat/sub-01_hemi-L_desc-cortex_mask.json
sub-01/anat/sub-01_hemi-L_desc-cortex_mask.label.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_sphere.surf.gii
sub-01/anat/sub-01_hemi-R_desc-cortex_mask.json
sub-01/anat/sub-01_hemi-R_desc-cortex_mask.label.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_sphere.surf.gii
sub-01/ses-1
sub-01/ses-1/perf
Expand Down
11 changes: 11 additions & 0 deletions aslprep/tests/data/expected_outputs_test_003_full.txt
Original file line number Diff line number Diff line change
Expand Up @@ -78,12 +78,22 @@ logs/CITATION.tex
sub-01
sub-01.html
sub-01/anat
sub-01/anat/sub-01_desc-aparcaseg_dseg.nii.gz
sub-01/anat/sub-01_desc-aseg_dseg.nii.gz
sub-01/anat/sub-01_desc-ribbon_mask.json
sub-01/anat/sub-01_desc-ribbon_mask.nii.gz
sub-01/anat/sub-01_hemi-L_desc-cortex_mask.json
sub-01/anat/sub-01_hemi-L_desc-cortex_mask.label.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_curv.shape.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_inflated.surf.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_sphere.surf.gii
sub-01/anat/sub-01_hemi-L_space-fsLR_den-32k_desc-preproc_midthickness.surf.gii
sub-01/anat/sub-01_hemi-L_space-fsLR_den-32k_desc-preproc_pial.surf.gii
sub-01/anat/sub-01_hemi-L_space-fsLR_den-32k_desc-preproc_white.surf.gii
sub-01/anat/sub-01_hemi-R_desc-cortex_mask.json
sub-01/anat/sub-01_hemi-R_desc-cortex_mask.label.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_curv.shape.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_inflated.surf.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_sphere.surf.gii
sub-01/anat/sub-01_hemi-R_space-fsLR_den-32k_desc-preproc_midthickness.surf.gii
sub-01/anat/sub-01_hemi-R_space-fsLR_den-32k_desc-preproc_pial.surf.gii
Expand Down Expand Up @@ -142,6 +152,7 @@ sub-01/ses-1/perf/sub-01_ses-1_from-aslref_to-T1w_mode-image_xfm.json
sub-01/ses-1/perf/sub-01_ses-1_from-aslref_to-T1w_mode-image_xfm.txt
sub-01/ses-1/perf/sub-01_ses-1_from-orig_to-aslref_mode-image_xfm.json
sub-01/ses-1/perf/sub-01_ses-1_from-orig_to-aslref_mode-image_xfm.txt
sub-01/ses-1/perf/sub-01_ses-1_space-T1w_desc-goodvoxels_mask.nii.gz
sub-01/ses-1/perf/sub-01_ses-1_space-fsLR_den-91k_asl.dtseries.nii
sub-01/ses-1/perf/sub-01_ses-1_space-fsLR_den-91k_cbf.dscalar.nii
sub-01/ses-1/perf/sub-01_ses-1_space-fsLR_den-91k_cbf.json
Expand Down
4 changes: 4 additions & 0 deletions aslprep/tests/data/expected_outputs_test_003_minimal.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,11 @@ sub-01.html
sub-01/anat
sub-01/anat/sub-01_desc-ribbon_mask.json
sub-01/anat/sub-01_desc-ribbon_mask.nii.gz
sub-01/anat/sub-01_hemi-L_desc-cortex_mask.json
sub-01/anat/sub-01_hemi-L_desc-cortex_mask.label.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_sphere.surf.gii
sub-01/anat/sub-01_hemi-R_desc-cortex_mask.json
sub-01/anat/sub-01_hemi-R_desc-cortex_mask.label.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_sphere.surf.gii
sub-01/ses-1
sub-01/ses-1/perf
Expand Down
4 changes: 4 additions & 0 deletions aslprep/tests/data/expected_outputs_test_003_resampling.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,11 @@ sub-01.html
sub-01/anat
sub-01/anat/sub-01_desc-ribbon_mask.json
sub-01/anat/sub-01_desc-ribbon_mask.nii.gz
sub-01/anat/sub-01_hemi-L_desc-cortex_mask.json
sub-01/anat/sub-01_hemi-L_desc-cortex_mask.label.gii
sub-01/anat/sub-01_hemi-L_desc-preproc_sphere.surf.gii
sub-01/anat/sub-01_hemi-R_desc-cortex_mask.json
sub-01/anat/sub-01_hemi-R_desc-cortex_mask.label.gii
sub-01/anat/sub-01_hemi-R_desc-preproc_sphere.surf.gii
sub-01/ses-1
sub-01/ses-1/perf
Expand Down
23 changes: 21 additions & 2 deletions aslprep/workflows/asl/apply.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

def init_asl_cifti_resample_wf(
*,
asl_file: str,
metadata: dict,
mem_gb: dict,
fieldmap_id: str | None = None,
Expand Down Expand Up @@ -96,6 +97,8 @@ def init_asl_cifti_resample_wf(
init_goodvoxels_bold_mask_wf,
)

from aslprep.interfaces.bids import DerivativesDataSink

workflow = pe.Workflow(name=name)

inputnode = pe.Node(
Expand Down Expand Up @@ -159,9 +162,25 @@ def init_asl_cifti_resample_wf(
(goodvoxels_bold_mask_wf, asl_fsLR_resampling_wf, [
('outputnode.goodvoxels_mask', 'inputnode.volume_roi'),
]),
(goodvoxels_bold_mask_wf, outputnode, [
('outputnode.goodvoxels_mask', 'goodvoxels_mask'),
]) # fmt:skip

ds_goodvoxels_mask = pe.Node(
DerivativesDataSink(
base_directory=config.execution.aslprep_dir,
compress=True,
space='T1w',
desc='goodvoxels',
suffix='mask',
),
name='ds_goodvoxels_mask',
run_without_submitting=True,
)
ds_goodvoxels_mask.inputs.source_file = asl_file
workflow.connect([
(goodvoxels_bold_mask_wf, ds_goodvoxels_mask, [
('outputnode.goodvoxels_mask', 'in_file'),
]),
(ds_goodvoxels_mask, outputnode, [('out_file', 'goodvoxels_mask')]),
]) # fmt:skip

asl_fsLR_resampling_wf.__desc__ += """\
Expand Down
1 change: 1 addition & 0 deletions aslprep/workflows/asl/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -716,6 +716,7 @@ def init_asl_wf(

if config.workflow.cifti_output:
asl_cifti_resample_wf = init_asl_cifti_resample_wf(
asl_file=asl_file,
metadata=metadata,
mem_gb=mem_gb,
fieldmap_id=fieldmap_id,
Expand Down
45 changes: 43 additions & 2 deletions aslprep/workflows/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,7 @@ def init_single_subject_wf(subject_id: str):
if 't2w' in config.workflow.ignore:
subject_data['t2w'] = []

freesurfer = config.workflow.run_reconall
anat_only = config.workflow.anat_only
# Make sure we always go through these two checks
if not anat_only and not subject_data['asl']:
Expand Down Expand Up @@ -392,6 +393,46 @@ def init_single_subject_wf(subject_id: str):
]),
]) # fmt:skip

if freesurfer:
from smriprep.workflows.outputs import init_ds_fs_segs_wf, init_ds_surface_metrics_wf
from smriprep.workflows.surfaces import init_surface_derivatives_wf

ds_fs_segs_wf = init_ds_fs_segs_wf(bids_root=bids_root, output_dir=aslprep_dir)
surface_derivatives_wf = init_surface_derivatives_wf()
ds_surfaces_wf = init_ds_surfaces_wf(output_dir=aslprep_dir, surfaces=['inflated'])
ds_curv_wf = init_ds_surface_metrics_wf(
bids_root=bids_root,
output_dir=aslprep_dir,
metrics=['curv'],
name='ds_curv_wf',
)

workflow.connect([
(anat_fit_wf, surface_derivatives_wf, [
('outputnode.t1w_preproc', 'inputnode.reference'),
('outputnode.subjects_dir', 'inputnode.subjects_dir'),
('outputnode.subject_id', 'inputnode.subject_id'),
('outputnode.fsnative2t1w_xfm', 'inputnode.fsnative2anat_xfm'),
]),
(anat_fit_wf, ds_surfaces_wf, [
('outputnode.t1w_valid_list', 'inputnode.source_files'),
]),
(surface_derivatives_wf, ds_surfaces_wf, [
('outputnode.inflated', 'inputnode.inflated'),
]),
(anat_fit_wf, ds_curv_wf, [
('outputnode.t1w_valid_list', 'inputnode.source_files'),
]),
(surface_derivatives_wf, ds_curv_wf, [('outputnode.curv', 'inputnode.curv')]),
(anat_fit_wf, ds_fs_segs_wf, [
('outputnode.t1w_valid_list', 'inputnode.source_files'),
]),
(surface_derivatives_wf, ds_fs_segs_wf, [
('outputnode.out_aseg', 'inputnode.anat_fs_aseg'),
('outputnode.out_aparc', 'inputnode.anat_fs_aparc'),
]),
]) # fmt:skip

# Thread MNI152NLin6Asym standard outputs to CIFTI subworkflow, skipping
# the iterator, which targets only output spaces.
# This can lead to duplication in the working directory if people actually
Expand Down Expand Up @@ -476,12 +517,12 @@ def init_single_subject_wf(subject_id: str):
f'outputnode.sphere_reg_{"msm" if msm_sulc else "fsLR"}',
'inputnode.sphere_reg_fsLR',
),
('outputnode.cortex_mask', 'inputnode.roi'),
]),
(hcp_morphometrics_wf, morph_grayords_wf, [
('outputnode.curv', 'inputnode.curv'),
('outputnode.thickness', 'inputnode.thickness'),
('outputnode.sulc', 'inputnode.sulc'),
('outputnode.roi', 'inputnode.roi'),
]),
(resample_surfaces_wf, morph_grayords_wf, [
('outputnode.midthickness_fsLR', 'inputnode.midthickness_fsLR'),
Expand Down Expand Up @@ -822,7 +863,7 @@ def init_single_subject_wf(subject_id: str):
workflow.connect([
(select_MNI6_xfm, asl_wf, [('anat2std_xfm', 'inputnode.anat2mni6_xfm')]),
(select_MNI6_tpl, asl_wf, [('brain_mask', 'inputnode.mni6_mask')]),
(hcp_morphometrics_wf, asl_wf, [('outputnode.roi', 'inputnode.cortex_mask')]),
(anat_fit_wf, asl_wf, [('outputnode.cortex_mask', 'inputnode.cortex_mask')]),
(resample_surfaces_wf, asl_wf, [
('outputnode.midthickness_fsLR', 'inputnode.midthickness_fsLR'),
]),
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ dependencies = [
"requests",
"sdcflows ~= 2.13.0",
"sentry-sdk",
"smriprep ~= 0.18.0",
"smriprep ~= 0.19.1",
"templateflow",
"toml",
"transforms3d ~= 0.4",
Expand Down