Skip to content

Commit 3f6596b

Browse files
committed
[FIX] Bad fsnative replacement in CIfTI workflow
The cifti workflow was picking up target names from the wrong source node because fsnative was being replaced by the subject's id. Fixes #1439
1 parent 84672ee commit 3f6596b

File tree

4 files changed

+12
-6
lines changed

4 files changed

+12
-6
lines changed

.circleci/config.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -415,7 +415,7 @@ jobs:
415415
/tmp/data/ds005 /tmp/ds005/derivatives participant \
416416
--sloppy --write-graph --use-syn-sdc --mem_mb 4096 \
417417
--ignore-aroma-denoising-errors --use-aroma \
418-
--output-space T1w template fsaverage5 \
418+
--output-space T1w template fsaverage5 fsnative \
419419
--template-resampling-grid native \
420420
--use-plugin /home/circleci/src/fmriprep/.circleci/legacy.yml \
421421
--nthreads 2 --cifti-output -vv
@@ -442,7 +442,7 @@ jobs:
442442
--config $PWD/nipype.cfg -w /tmp/ds005/work \
443443
/tmp/data/ds005 /tmp/ds005/derivatives_partial participant \
444444
--sloppy --write-graph --use-syn-sdc --mem_mb 4096 \
445-
--output-space T1w template fsaverage5 \
445+
--output-space T1w template fsaverage5 fsnative \
446446
--ignore-aroma-denoising-errors --use-aroma \
447447
--template-resampling-grid native \
448448
--nthreads 2 --cifti-output -vv

.circleci/ds005_outputs.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ fmriprep/sub-01/func/sub-01_task-mixedgamblestask_run-01_desc-confounds_regresso
4141
fmriprep/sub-01/func/sub-01_task-mixedgamblestask_run-01_desc-MELODIC_mixing.tsv
4242
fmriprep/sub-01/func/sub-01_task-mixedgamblestask_run-01_space-fsaverage5_hemi-L.func.gii
4343
fmriprep/sub-01/func/sub-01_task-mixedgamblestask_run-01_space-fsaverage5_hemi-R.func.gii
44+
fmriprep/sub-01/func/sub-01_task-mixedgamblestask_run-01_space-fsnative_hemi-L.func.gii
45+
fmriprep/sub-01/func/sub-01_task-mixedgamblestask_run-01_space-fsnative_hemi-R.func.gii
4446
fmriprep/sub-01/func/sub-01_task-mixedgamblestask_run-01_space-MNI152NLin2009cAsym_boldref.nii.gz
4547
fmriprep/sub-01/func/sub-01_task-mixedgamblestask_run-01_space-MNI152NLin2009cAsym_desc-aparcaseg_dseg.nii.gz
4648
fmriprep/sub-01/func/sub-01_task-mixedgamblestask_run-01_space-MNI152NLin2009cAsym_desc-aseg_dseg.nii.gz
@@ -59,6 +61,8 @@ fmriprep/sub-01/func/sub-01_task-mixedgamblestask_run-02_desc-confounds_regresso
5961
fmriprep/sub-01/func/sub-01_task-mixedgamblestask_run-02_desc-MELODIC_mixing.tsv
6062
fmriprep/sub-01/func/sub-01_task-mixedgamblestask_run-02_space-fsaverage5_hemi-L.func.gii
6163
fmriprep/sub-01/func/sub-01_task-mixedgamblestask_run-02_space-fsaverage5_hemi-R.func.gii
64+
fmriprep/sub-01/func/sub-01_task-mixedgamblestask_run-02_space-fsnative_hemi-L.func.gii
65+
fmriprep/sub-01/func/sub-01_task-mixedgamblestask_run-02_space-fsnative_hemi-R.func.gii
6266
fmriprep/sub-01/func/sub-01_task-mixedgamblestask_run-02_space-MNI152NLin2009cAsym_boldref.nii.gz
6367
fmriprep/sub-01/func/sub-01_task-mixedgamblestask_run-02_space-MNI152NLin2009cAsym_desc-aparcaseg_dseg.nii.gz
6468
fmriprep/sub-01/func/sub-01_task-mixedgamblestask_run-02_space-MNI152NLin2009cAsym_desc-aseg_dseg.nii.gz

fmriprep/workflows/bold/base.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -779,10 +779,11 @@ def init_func_preproc_wf(bold_file, ignore, freesurfer,
779779
])
780780

781781
# SURFACES ##################################################################################
782-
if freesurfer and any(space.startswith('fs') for space in output_spaces):
782+
surface_spaces = [space for space in output_spaces if space.startswith('fs')]
783+
if freesurfer and surface_spaces:
783784
LOGGER.log(25, 'Creating BOLD surface-sampling workflow.')
784785
bold_surf_wf = init_bold_surf_wf(mem_gb=mem_gb['resampled'],
785-
output_spaces=output_spaces,
786+
output_spaces=surface_spaces,
786787
medial_surface_nan=medial_surface_nan,
787788
name='bold_surf_wf')
788789
workflow.connect([
@@ -796,18 +797,18 @@ def init_func_preproc_wf(bold_file, ignore, freesurfer,
796797
])
797798

798799
# CIFTI output
799-
if cifti_output and 'template' in output_spaces:
800+
if cifti_output and surface_spaces:
800801
bold_surf_wf.__desc__ += """\
801802
*Grayordinates* files [@hcppipelines], which combine surface-sampled
802803
data and volume-sampled data, were also generated.
803804
"""
804805
gen_cifti = pe.MapNode(GenerateCifti(), iterfield=["surface_target", "gifti_files"],
805806
name="gen_cifti")
806807
gen_cifti.inputs.TR = metadata.get("RepetitionTime")
808+
gen_cifti.inputs.surface_target = surface_spaces
807809

808810
workflow.connect([
809811
(bold_surf_wf, gen_cifti, [
810-
('targets.out', 'surface_target'),
811812
('outputnode.surfaces', 'gifti_files')]),
812813
(inputnode, gen_cifti, [('subjects_dir', 'subjects_dir')]),
813814
(bold_mni_trans_wf, gen_cifti, [('outputnode.bold_mni', 'bold_file')]),

fmriprep/workflows/bold/resampling.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ def init_bold_surf_wf(mem_gb, output_spaces, medial_surface_nan, name='bold_surf
8484
BOLD series, resampled to FreeSurfer surfaces
8585
8686
"""
87+
# Ensure volumetric spaces do not sneak into this workflow
8788
spaces = [space for space in output_spaces if space.startswith('fs')]
8889

8990
workflow = Workflow(name=name)

0 commit comments

Comments
 (0)