Skip to content

Commit

Permalink
Merge pull request #2133 from oesteban/fix/2127-figure-naming
Browse files Browse the repository at this point in the history
FIX: Dismiss ``echo`` entity on several derivatives and figures outputs
  • Loading branch information
oesteban authored May 23, 2020
2 parents 3701780 + 715ad35 commit e3d3bc5
Show file tree
Hide file tree
Showing 5 changed files with 56 additions and 44 deletions.
6 changes: 4 additions & 2 deletions fmriprep/workflows/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -207,11 +207,13 @@ def init_single_subject_wf(subject_id):
name='about', run_without_submitting=True)

ds_report_summary = pe.Node(
DerivativesDataSink(base_directory=output_dir, desc='summary', datatype="figures"),
DerivativesDataSink(base_directory=output_dir, desc='summary', datatype="figures",
dismiss_entities=("echo",)),
name='ds_report_summary', run_without_submitting=True)

ds_report_about = pe.Node(
DerivativesDataSink(base_directory=output_dir, desc='about', datatype="figures"),
DerivativesDataSink(base_directory=output_dir, desc='about', datatype="figures",
dismiss_entities=("echo",)),
name='ds_report_about', run_without_submitting=True)

anat_derivatives = config.execution.anat_derivatives
Expand Down
6 changes: 3 additions & 3 deletions fmriprep/workflows/bold/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -809,13 +809,13 @@ def init_func_preproc_wf(bold_file):

# REPORTING ############################################################
ds_report_summary = pe.Node(
DerivativesDataSink(desc='summary', datatype="figures"),
DerivativesDataSink(desc='summary', datatype="figures", dismiss_entities=("echo",)),
name='ds_report_summary', run_without_submitting=True,
mem_gb=config.DEFAULT_MEMORY_MIN_GB)

ds_report_validation = pe.Node(
DerivativesDataSink(base_directory=output_dir,
desc='validation', datatype="figures"),
DerivativesDataSink(base_directory=output_dir, desc='validation', datatype="figures",
dismiss_entities=("echo",)),
name='ds_report_validation', run_without_submitting=True,
mem_gb=config.DEFAULT_MEMORY_MIN_GB)

Expand Down
11 changes: 6 additions & 5 deletions fmriprep/workflows/bold/confounds.py
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ def init_bold_confs_wf(
name='rois_plot', mem_gb=mem_gb)

ds_report_bold_rois = pe.Node(
DerivativesDataSink(desc='rois', datatype="figures"),
DerivativesDataSink(desc='rois', datatype="figures", dismiss_entities=("echo",)),
name='ds_report_bold_rois', run_without_submitting=True,
mem_gb=DEFAULT_MEMORY_MIN_GB)

Expand All @@ -314,7 +314,7 @@ def init_bold_confs_wf(
metadata_sources=['tCompCor', 'aCompCor']),
name='compcor_plot')
ds_report_compcor = pe.Node(
DerivativesDataSink(desc='compcorvar', datatype="figures"),
DerivativesDataSink(desc='compcorvar', datatype="figures", dismiss_entities=("echo",)),
name='ds_report_compcor', run_without_submitting=True,
mem_gb=DEFAULT_MEMORY_MIN_GB)

Expand All @@ -323,7 +323,7 @@ def init_bold_confs_wf(
ConfoundsCorrelationPlot(reference_column='global_signal', max_dim=70),
name='conf_corr_plot')
ds_report_conf_corr = pe.Node(
DerivativesDataSink(desc='confoundcorr', datatype="figures"),
DerivativesDataSink(desc='confoundcorr', datatype="figures", dismiss_entities=("echo",)),
name='ds_report_conf_corr', run_without_submitting=True,
mem_gb=DEFAULT_MEMORY_MIN_GB)

Expand Down Expand Up @@ -510,7 +510,8 @@ def init_carpetplot_wf(mem_gb, metadata, cifti_output, name="bold_carpet_wf"):
('framewise_displacement', 'mm', 'FD')]),
name='conf_plot', mem_gb=mem_gb)
ds_report_bold_conf = pe.Node(
DerivativesDataSink(desc='carpetplot', datatype="figures", extension="svg"),
DerivativesDataSink(desc='carpetplot', datatype="figures", extension="svg",
dismiss_entities=("echo",)),
name='ds_report_bold_conf', run_without_submitting=True,
mem_gb=DEFAULT_MEMORY_MIN_GB)

Expand Down Expand Up @@ -720,7 +721,7 @@ def _getusans_func(image, thresh):
name='ica_aroma_metadata_fmt')

ds_report_ica_aroma = pe.Node(
DerivativesDataSink(desc='aroma', datatype="figures"),
DerivativesDataSink(desc='aroma', datatype="figures", dismiss_entities=("echo",)),
name='ds_report_ica_aroma', run_without_submitting=True,
mem_gb=DEFAULT_MEMORY_MIN_GB)

Expand Down
75 changes: 42 additions & 33 deletions fmriprep/workflows/bold/outputs.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,8 @@ def init_func_derivatives_wf(
raw_sources.inputs.bids_root = bids_root

ds_confounds = pe.Node(DerivativesDataSink(
base_directory=output_dir, desc='confounds', suffix='regressors'),
base_directory=output_dir, desc='confounds', suffix='regressors',
dismiss_entities=("echo",)),
name="ds_confounds", run_without_submitting=True,
mem_gb=DEFAULT_MEMORY_MIN_GB)
workflow.connect([
Expand All @@ -80,19 +81,20 @@ def init_func_derivatives_wf(

if nonstd_spaces.intersection(('func', 'run', 'bold', 'boldref', 'sbref')):
ds_bold_native = pe.Node(
DerivativesDataSink(base_directory=output_dir, desc='preproc',
compress=True, SkullStripped=False,
RepetitionTime=metadata.get('RepetitionTime'),
TaskName=metadata.get('TaskName')),
DerivativesDataSink(
base_directory=output_dir, desc='preproc', compress=True, SkullStripped=False,
RepetitionTime=metadata.get('RepetitionTime'), TaskName=metadata.get('TaskName'),
dismiss_entities=("echo",)),
name='ds_bold_native', run_without_submitting=True,
mem_gb=DEFAULT_MEMORY_MIN_GB)
ds_bold_native_ref = pe.Node(
DerivativesDataSink(base_directory=output_dir, suffix='boldref', compress=True),
DerivativesDataSink(base_directory=output_dir, suffix='boldref', compress=True,
dismiss_entities=("echo",)),
name='ds_bold_native_ref', run_without_submitting=True,
mem_gb=DEFAULT_MEMORY_MIN_GB)
ds_bold_mask_native = pe.Node(
DerivativesDataSink(base_directory=output_dir, desc='brain',
suffix='mask', compress=True),
DerivativesDataSink(base_directory=output_dir, desc='brain', suffix='mask',
compress=True, dismiss_entities=("echo",)),
name='ds_bold_mask_native', run_without_submitting=True,
mem_gb=DEFAULT_MEMORY_MIN_GB)

Expand All @@ -109,21 +111,21 @@ def init_func_derivatives_wf(
# Resample to T1w space
if nonstd_spaces.intersection(('T1w', 'anat')):
ds_bold_t1 = pe.Node(
DerivativesDataSink(base_directory=output_dir, space='T1w', desc='preproc',
compress=True, SkullStripped=False,
RepetitionTime=metadata.get('RepetitionTime'),
TaskName=metadata.get('TaskName')),
DerivativesDataSink(
base_directory=output_dir, space='T1w', desc='preproc', compress=True,
SkullStripped=False, RepetitionTime=metadata.get('RepetitionTime'),
TaskName=metadata.get('TaskName'), dismiss_entities=("echo",)),
name='ds_bold_t1', run_without_submitting=True,
mem_gb=DEFAULT_MEMORY_MIN_GB)
ds_bold_t1_ref = pe.Node(
DerivativesDataSink(base_directory=output_dir, space='T1w',
suffix='boldref', compress=True),
DerivativesDataSink(base_directory=output_dir, space='T1w', suffix='boldref',
compress=True, dismiss_entities=("echo",)),
name='ds_bold_t1_ref', run_without_submitting=True,
mem_gb=DEFAULT_MEMORY_MIN_GB)

ds_bold_mask_t1 = pe.Node(
DerivativesDataSink(base_directory=output_dir, space='T1w', desc='brain',
suffix='mask', compress=True),
suffix='mask', compress=True, dismiss_entities=("echo",)),
name='ds_bold_mask_t1', run_without_submitting=True,
mem_gb=DEFAULT_MEMORY_MIN_GB)
workflow.connect([
Expand All @@ -138,11 +140,13 @@ def init_func_derivatives_wf(
if freesurfer:
ds_bold_aseg_t1 = pe.Node(DerivativesDataSink(
base_directory=output_dir, space='T1w', desc='aseg', suffix='dseg',
compress=True), name='ds_bold_aseg_t1', run_without_submitting=True,
compress=True, dismiss_entities=("echo",)),
name='ds_bold_aseg_t1', run_without_submitting=True,
mem_gb=DEFAULT_MEMORY_MIN_GB)
ds_bold_aparc_t1 = pe.Node(DerivativesDataSink(
base_directory=output_dir, space='T1w', desc='aparcaseg', suffix='dseg',
compress=True), name='ds_bold_aparc_t1', run_without_submitting=True,
compress=True, dismiss_entities=("echo",)),
name='ds_bold_aparc_t1', run_without_submitting=True,
mem_gb=DEFAULT_MEMORY_MIN_GB)
workflow.connect([
(inputnode, ds_bold_aseg_t1, [('source_file', 'source_file'),
Expand All @@ -153,16 +157,18 @@ def init_func_derivatives_wf(

if use_aroma:
ds_aroma_noise_ics = pe.Node(DerivativesDataSink(
base_directory=output_dir, suffix='AROMAnoiseICs'),
base_directory=output_dir, suffix='AROMAnoiseICs', dismiss_entities=("echo",)),
name="ds_aroma_noise_ics", run_without_submitting=True,
mem_gb=DEFAULT_MEMORY_MIN_GB)
ds_melodic_mix = pe.Node(DerivativesDataSink(
base_directory=output_dir, desc='MELODIC', suffix='mixing'),
base_directory=output_dir, desc='MELODIC', suffix='mixing',
dismiss_entities=("echo",)),
name="ds_melodic_mix", run_without_submitting=True,
mem_gb=DEFAULT_MEMORY_MIN_GB)
ds_aroma_std = pe.Node(
DerivativesDataSink(base_directory=output_dir, space='MNI152NLin6Asym',
desc='smoothAROMAnonaggr', compress=True),
DerivativesDataSink(
base_directory=output_dir, space='MNI152NLin6Asym', desc='smoothAROMAnonaggr',
compress=True),
name='ds_aroma_std', run_without_submitting=True,
mem_gb=DEFAULT_MEMORY_MIN_GB)

Expand Down Expand Up @@ -193,17 +199,18 @@ def init_func_derivatives_wf(
name='select_std', run_without_submitting=True, mem_gb=DEFAULT_MEMORY_MIN_GB)

ds_bold_std = pe.Node(
DerivativesDataSink(base_directory=output_dir, desc='preproc',
compress=True, SkullStripped=False,
RepetitionTime=metadata.get('RepetitionTime'),
TaskName=metadata.get('TaskName')),
DerivativesDataSink(
base_directory=output_dir, desc='preproc', compress=True, SkullStripped=False,
RepetitionTime=metadata.get('RepetitionTime'), TaskName=metadata.get('TaskName'),
dismiss_entities=("echo",)),
name='ds_bold_std', run_without_submitting=True, mem_gb=DEFAULT_MEMORY_MIN_GB)
ds_bold_std_ref = pe.Node(
DerivativesDataSink(base_directory=output_dir, suffix='boldref', compress=True),
DerivativesDataSink(base_directory=output_dir, suffix='boldref', compress=True,
dismiss_entities=("echo",)),
name='ds_bold_std_ref', run_without_submitting=True, mem_gb=DEFAULT_MEMORY_MIN_GB)
ds_bold_mask_std = pe.Node(
DerivativesDataSink(base_directory=output_dir, desc='brain', suffix='mask',
compress=True),
compress=True, dismiss_entities=("echo",)),
name='ds_bold_mask_std', run_without_submitting=True, mem_gb=DEFAULT_MEMORY_MIN_GB)

workflow.connect([
Expand Down Expand Up @@ -239,11 +246,13 @@ def init_func_derivatives_wf(
fields=['bold_aseg_std', 'bold_aparc_std', 'template']),
name='select_fs_std', run_without_submitting=True, mem_gb=DEFAULT_MEMORY_MIN_GB)
ds_bold_aseg_std = pe.Node(DerivativesDataSink(
base_directory=output_dir, desc='aseg', suffix='dseg', compress=True),
base_directory=output_dir, desc='aseg', suffix='dseg', compress=True,
dismiss_entities=("echo",)),
name='ds_bold_aseg_std', run_without_submitting=True,
mem_gb=DEFAULT_MEMORY_MIN_GB)
ds_bold_aparc_std = pe.Node(DerivativesDataSink(
base_directory=output_dir, desc='aparcaseg', suffix='dseg', compress=True),
base_directory=output_dir, desc='aparcaseg', suffix='dseg', compress=True,
dismiss_entities=("echo",)),
name='ds_bold_aparc_std', run_without_submitting=True,
mem_gb=DEFAULT_MEMORY_MIN_GB)
workflow.connect([
Expand Down Expand Up @@ -281,7 +290,7 @@ def init_func_derivatives_wf(
run_without_submitting=True)

ds_bold_surfs = pe.MapNode(DerivativesDataSink(
base_directory=output_dir, extension="func.gii"),
base_directory=output_dir, extension="func.gii", dismiss_entities=("echo",)),
iterfield=['in_file', 'hemi'], name='ds_bold_surfs',
run_without_submitting=True, mem_gb=DEFAULT_MEMORY_MIN_GB)

Expand All @@ -299,7 +308,7 @@ def init_func_derivatives_wf(
# CIFTI output
if cifti_output:
ds_bold_cifti = pe.Node(DerivativesDataSink(
base_directory=output_dir, suffix='bold', compress=False),
base_directory=output_dir, suffix='bold', compress=False, dismiss_entities=("echo",)),
name='ds_bold_cifti', run_without_submitting=True,
mem_gb=DEFAULT_MEMORY_MIN_GB)
workflow.connect([
Expand Down Expand Up @@ -365,8 +374,8 @@ def init_bold_preproc_report_wf(mem_gb, reportlets_dir, name='bold_preproc_repor
mem_gb=0.1)
ds_report_bold = pe.Node(
DerivativesDataSink(base_directory=reportlets_dir, desc='preproc',
datatype="figures"), name='ds_report_bold',
mem_gb=DEFAULT_MEMORY_MIN_GB,
datatype="figures", dismiss_entities=("echo",)),
name='ds_report_bold', mem_gb=DEFAULT_MEMORY_MIN_GB,
run_without_submitting=True
)

Expand Down
2 changes: 1 addition & 1 deletion fmriprep/workflows/bold/registration.py
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ def init_bold_reg_wf(

if write_report:
ds_report_reg = pe.Node(
DerivativesDataSink(datatype="figures"),
DerivativesDataSink(datatype="figures", dismiss_entities=("echo",)),
name='ds_report_reg', run_without_submitting=True,
mem_gb=DEFAULT_MEMORY_MIN_GB)

Expand Down

0 comments on commit e3d3bc5

Please sign in to comment.