Skip to content

Commit 39d73b1

Browse files
authored
Merge pull request #1476 from oesteban/fix/issue1439-fsnative
[FIX] Bad ``fsnative`` replacement in CIfTI workflow
2 parents 84672ee + 99a1b9b commit 39d73b1

File tree

6 files changed

+24
-6
lines changed

6 files changed

+24
-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

.circleci/ds005_partial_outputs.txt

Lines changed: 2 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

fmriprep/cli/run.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -581,6 +581,15 @@ def build_workflow(opts, retval):
581581
'spaces (option "--output-space").'
582582
)
583583

584+
if opts.cifti_output and (opts.template != 'MNI152NLin2009cAsym' or
585+
'template' not in output_spaces):
586+
output_spaces.append('template')
587+
logger.warning(
588+
'Option "--cifti-output" requires functional images to be resampled to MNI space. '
589+
'The argument "template" has been automatically added to the list of output '
590+
'spaces (option "--output-space").'
591+
)
592+
584593
# Check output_space
585594
if 'template' not in output_spaces and (opts.use_syn_sdc or opts.force_syn):
586595
msg = ['SyN SDC correction requires T1 to MNI registration, but '

fmriprep/workflows/bold/base.py

Lines changed: 6 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,19 @@ 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 = [s for s in surface_spaces
809+
if s.startswith('fsaverage')]
807810

808811
workflow.connect([
809812
(bold_surf_wf, gen_cifti, [
810-
('targets.out', 'surface_target'),
811813
('outputnode.surfaces', 'gifti_files')]),
812814
(inputnode, gen_cifti, [('subjects_dir', 'subjects_dir')]),
813815
(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)