Skip to content

Commit 8b55527

Browse files
committed
ENH: Output compcor masks if --debug compcor passed
1 parent 0d6bea7 commit 8b55527

File tree

3 files changed

+27
-6
lines changed

3 files changed

+27
-6
lines changed

fmriprep/workflows/bold/base.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,8 @@ def init_func_preproc_wf(bold_file):
303303
('cifti_metadata', 'inputnode.cifti_metadata'),
304304
('cifti_density', 'inputnode.cifti_density'),
305305
('confounds_metadata', 'inputnode.confounds_metadata'),
306+
('acompcor_masks', 'inputnode.acompcor_masks'),
307+
('tcompcor_mask', 'inputnode.tcompcor_mask'),
306308
]),
307309
])
308310

@@ -496,9 +498,9 @@ def init_func_preproc_wf(bold_file):
496498
('outputnode.bold_mask', 'inputnode.bold_mask')]),
497499
(bold_confounds_wf, outputnode, [
498500
('outputnode.confounds_file', 'confounds'),
499-
]),
500-
(bold_confounds_wf, outputnode, [
501501
('outputnode.confounds_metadata', 'confounds_metadata'),
502+
('outputnode.acompcor_masks', 'acompcor_masks'),
503+
('outputnode.tcompcor_mask', 'tcompcor_mask'),
502504
]),
503505
# Connect bold_bold_trans_wf
504506
(bold_split, bold_bold_trans_wf, [

fmriprep/workflows/bold/confounds.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ def init_bold_confs_wf(
193193
'skip_vols', 't1w_mask', 't1w_tpms', 't1_bold_xform']),
194194
name='inputnode')
195195
outputnode = pe.Node(niu.IdentityInterface(
196-
fields=['confounds_file', 'confounds_metadata']),
196+
fields=['confounds_file', 'confounds_metadata', 'acompcor_masks', 'tcompcor_mask']),
197197
name='outputnode')
198198

199199
# DVARS
@@ -392,6 +392,8 @@ def _select_cols(table):
392392
# Set outputs
393393
(spike_regress, outputnode, [('confounds_file', 'confounds_file')]),
394394
(mrg_conf_metadata2, outputnode, [('out_dict', 'confounds_metadata')]),
395+
(tcompcor, outputnode, [("high_variance_masks", "tcompcor_mask")]),
396+
(acc_msk_bin, outputnode, [("out_file", "acompcor_masks")]),
395397
(inputnode, rois_plot, [('bold', 'in_file'),
396398
('bold_mask', 'in_mask')]),
397399
(tcompcor, mrg_compcor, [('high_variance_masks', 'in1')]),

fmriprep/workflows/bold/outputs.py

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44
from nipype.pipeline import engine as pe
55
from nipype.interfaces import utility as niu
66

7-
from ...config import DEFAULT_MEMORY_MIN_GB
8-
from ...interfaces import DerivativesDataSink
7+
from fmriprep import config
8+
from fmriprep.config import DEFAULT_MEMORY_MIN_GB
9+
from fmriprep.interfaces import DerivativesDataSink
910

1011

1112
def init_func_derivatives_wf(
@@ -62,7 +63,7 @@ def init_func_derivatives_wf(
6263
'bold_mask_native', 'cifti_variant', 'cifti_metadata', 'cifti_density',
6364
'confounds', 'confounds_metadata', 'melodic_mix', 'nonaggr_denoised_file',
6465
'source_file', 'surf_files', 'surf_refs', 'template', 'spatial_reference',
65-
'bold2anat_xfm', 'anat2bold_xfm']),
66+
'bold2anat_xfm', 'anat2bold_xfm', 'acompcor_masks', 'tcompcor_mask']),
6667
name='inputnode')
6768

6869
raw_sources = pe.Node(niu.Function(function=_bids_relative), name='raw_sources')
@@ -338,6 +339,22 @@ def init_func_derivatives_wf(
338339
(('cifti_metadata', _read_json), 'meta_dict')])
339340
])
340341

342+
if "compcor" in config.execution.debug:
343+
ds_acompcor_masks = pe.Node(
344+
DerivativesDataSink(
345+
base_directory=output_dir, desc=[f"CompCor{_}" for _ in "CWA"], suffix="mask"),
346+
name="ds_acompcor_masks", run_without_submitting=True)
347+
ds_tcompcor_mask = pe.Node(
348+
DerivativesDataSink(
349+
base_directory=output_dir, desc="CompCorT", suffix="mask"),
350+
name="ds_tcompcor_mask", run_without_submitting=True)
351+
workflow.connect([
352+
(inputnode, ds_acompcor_masks, [("acompcor_masks", "in_file"),
353+
("source_file", "source_file")]),
354+
(inputnode, ds_tcompcor_mask, [("tcompcor_mask", "in_file"),
355+
("source_file", "source_file")]),
356+
])
357+
341358
return workflow
342359

343360

0 commit comments

Comments
 (0)