From 04cf152402647e0c45eb9f0a61e17daf322fe85a Mon Sep 17 00:00:00 2001 From: Elizabeth DuPre Date: Sun, 29 Sep 2019 16:56:17 -0400 Subject: [PATCH 1/3] fix: remove bold_mask generation from t2s --- fmriprep/workflows/bold/base.py | 21 +++++++++++---------- fmriprep/workflows/bold/t2s.py | 11 ++++------- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/fmriprep/workflows/bold/base.py b/fmriprep/workflows/bold/base.py index 7ea34f59f..7b09e3fce 100755 --- a/fmriprep/workflows/bold/base.py +++ b/fmriprep/workflows/bold/base.py @@ -646,10 +646,10 @@ def init_func_preproc_wf( (bold_sdc_wf if not t2s_coreg else bold_t2s_wf, bold_reg_wf, [ ('outputnode.bold_ref_brain', 'inputnode.ref_bold_brain')]), (bold_sdc_wf if not t2s_coreg else bold_t2s_wf, bold_t1_trans_wf, [ - ('outputnode.bold_ref_brain', 'inputnode.ref_bold_brain'), - ('outputnode.bold_mask', 'inputnode.ref_bold_mask')]), + ('outputnode.bold_ref_brain', 'inputnode.ref_bold_brain')]), (bold_sdc_wf, bold_t1_trans_wf, [ - ('outputnode.out_warp', 'inputnode.fieldwarp')]), + ('outputnode.out_warp', 'inputnode.fieldwarp'), + ('outputnode.bold_mask', 'inputnode.ref_bold_mask')]), (bold_sdc_wf, bold_bold_trans_wf, [ ('outputnode.out_warp', 'inputnode.fieldwarp'), ('outputnode.bold_mask', 'inputnode.bold_mask')]), @@ -659,6 +659,8 @@ def init_func_preproc_wf( ('t1_mask', 'inputnode.t1_mask')]), (bold_hmc_wf, bold_confounds_wf, [ ('outputnode.movpar_file', 'inputnode.movpar_file')]), + (bold_bold_trans_wf, bold_confounds_wf, [ + ('outputnode.bold_mask', 'inputnode.bold_mask')]), (bold_reg_wf, bold_confounds_wf, [ ('outputnode.itk_t1_to_bold', 'inputnode.t1_bold_xform')]), (bold_reference_wf, bold_confounds_wf, [ @@ -684,8 +686,7 @@ def init_func_preproc_wf( (inputnode, func_derivatives_wf, [ ('bold_file', 'inputnode.source_file')]), (bold_bold_trans_wf, bold_confounds_wf, [ - ('outputnode.bold', 'inputnode.bold'), - ('outputnode.bold_mask', 'inputnode.bold_mask')]), + ('outputnode.bold', 'inputnode.bold')]), (bold_split, bold_t1_trans_wf, [ ('out_files', 'inputnode.bold_split')]), ]) @@ -697,8 +698,7 @@ def init_func_preproc_wf( (bold_bold_trans_wf, skullstrip_bold_wf, [ ('outputnode.bold', 'inputnode.in_file')]), (bold_t2s_wf, bold_confounds_wf, [ - ('outputnode.bold', 'inputnode.bold'), - ('outputnode.bold_mask', 'inputnode.bold_mask')]), + ('outputnode.bold', 'inputnode.bold')]), (bold_t2s_wf, bold_t1_trans_wf, [ ('outputnode.bold', 'inputnode.bold_split')]), ]) @@ -757,7 +757,7 @@ def init_func_preproc_wf( ('outputnode.itk_bold_to_t1', 'transforms')]), (bold_t1_trans_wf, boldmask_to_t1w, [ ('outputnode.bold_mask_t1', 'reference_image')]), - (bold_bold_trans_wf if not multiecho else bold_t2s_wf, boldmask_to_t1w, [ + (bold_bold_trans_wf, boldmask_to_t1w, [ ('outputnode.bold_mask', 'input_image')]), (boldmask_to_t1w, outputnode, [ ('output_image', 'bold_mask_t1')]), @@ -795,7 +795,7 @@ def init_func_preproc_wf( ('outputnode.xforms', 'inputnode.hmc_xforms')]), (bold_reg_wf, bold_std_trans_wf, [ ('outputnode.itk_bold_to_t1', 'inputnode.itk_bold_to_t1')]), - (bold_bold_trans_wf if not multiecho else bold_t2s_wf, bold_std_trans_wf, [ + (bold_bold_trans_wf, bold_std_trans_wf, [ ('outputnode.bold_mask', 'inputnode.bold_mask')]), (bold_sdc_wf, bold_std_trans_wf, [ ('outputnode.out_warp', 'inputnode.fieldwarp')]), @@ -825,7 +825,8 @@ def init_func_preproc_wf( (inputnode, carpetplot_wf, [ ('joint_std2anat_xfm', 'inputnode.std2anat_xfm')]), (bold_bold_trans_wf if not multiecho else bold_t2s_wf, carpetplot_wf, [ - ('outputnode.bold', 'inputnode.bold'), + ('outputnode.bold', 'inputnode.bold')]), + (bold_bold_trans_wf, carpetplot_wf, [ ('outputnode.bold_mask', 'inputnode.bold_mask')]), (bold_reg_wf, carpetplot_wf, [ ('outputnode.itk_t1_to_bold', 'inputnode.t1_bold_xform')]), diff --git a/fmriprep/workflows/bold/t2s.py b/fmriprep/workflows/bold/t2s.py index a3f4d6ccb..764887550 100644 --- a/fmriprep/workflows/bold/t2s.py +++ b/fmriprep/workflows/bold/t2s.py @@ -79,21 +79,18 @@ def init_bold_t2s_wf(echo_times, mem_gb, omp_nthreads, inputnode = pe.Node(niu.IdentityInterface(fields=['bold_file']), name='inputnode') - outputnode = pe.Node(niu.IdentityInterface(fields=['bold', 'bold_mask', 'bold_ref_brain']), + outputnode = pe.Node(niu.IdentityInterface(fields=['bold', 'bold_ref_brain']), name='outputnode') LOGGER.log(25, 'Generating T2* map and optimally combined ME-EPI time series.') t2smap_node = pe.Node(T2SMap(echo_times=echo_times), name='t2smap_node') - skullstrip_t2smap_wf = init_skullstrip_bold_wf(name='skullstrip_t2smap_wf') workflow.connect([ (inputnode, t2smap_node, [('bold_file', 'in_files')]), - (t2smap_node, outputnode, [('optimal_comb', 'bold')]), - (t2smap_node, skullstrip_t2smap_wf, [('t2star_map', 'inputnode.in_file')]), - (skullstrip_t2smap_wf, outputnode, [ - ('outputnode.mask_file', 'bold_mask'), - ('outputnode.skull_stripped_file', 'bold_ref_brain')]), + (t2smap_node, outputnode, [ + ('optimal_comb', 'bold'), + ('t2star_map', 'bold_ref_brain')]), ]) return workflow From 267171e30b94d10b1ad1a3962059c27ab55f2d06 Mon Sep 17 00:00:00 2001 From: Elizabeth DuPre Date: Mon, 30 Sep 2019 14:20:52 -0400 Subject: [PATCH 2/3] sty: appease flake8, retrigger CI --- fmriprep/workflows/bold/t2s.py | 1 - 1 file changed, 1 deletion(-) diff --git a/fmriprep/workflows/bold/t2s.py b/fmriprep/workflows/bold/t2s.py index 764887550..f2f7643d3 100644 --- a/fmriprep/workflows/bold/t2s.py +++ b/fmriprep/workflows/bold/t2s.py @@ -15,7 +15,6 @@ from niworkflows.engine.workflows import LiterateWorkflow as Workflow from ...interfaces import T2SMap -from .util import init_skullstrip_bold_wf DEFAULT_MEMORY_MIN_GB = 0.01 LOGGER = logging.getLogger('nipype.workflow') From 40f1add966d73f0384351c2786e0d6cb79a01675 Mon Sep 17 00:00:00 2001 From: Elizabeth DuPre Date: Wed, 2 Oct 2019 15:47:26 -0400 Subject: [PATCH 3/3] fix: pin nipype requirement on @effigies rec --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index 5a282aab2..dd5f09db8 100644 --- a/setup.cfg +++ b/setup.cfg @@ -26,7 +26,7 @@ install_requires = nibabel >=2.2.1 indexed_gzip >=0.8.8 nilearn !=0.5.0, !=0.5.1 - nipype >=1.2.2 + nipype @ git+https://github.com/effigies/nipype.git@e206f3d53198c683e959fe1e73426ce5cf362b93 psutil >=5.4 pybids ~= 0.9.4 tedana >=0.0.5