From 375ce6e9d85ae8be4a9c74771062471b310abe1d Mon Sep 17 00:00:00 2001 From: Taylor Salo Date: Sun, 12 Jan 2025 09:51:24 -0500 Subject: [PATCH] Start addressing review. --- src/fmripost_aroma/workflows/base.py | 15 --------------- src/fmripost_aroma/workflows/resample.py | 23 +++++++++++++++++------ 2 files changed, 17 insertions(+), 21 deletions(-) diff --git a/src/fmripost_aroma/workflows/base.py b/src/fmripost_aroma/workflows/base.py index ad50b19..828b664 100644 --- a/src/fmripost_aroma/workflows/base.py +++ b/src/fmripost_aroma/workflows/base.py @@ -486,20 +486,6 @@ def init_single_run_wf(bold_file): bold_MNI6_wf.inputs.inputnode.target_mask = mni6_mask bold_MNI6_wf.inputs.inputnode.target_ref_file = mni6_mask - # Warp desc-preproc_fieldmap to boldref space - # Warp the mask as well - fieldmap_to_boldref = pe.Node( - ApplyTransforms(), - name='fieldmap_to_boldref', - ) - workflow.connect([ - (inputnode, fieldmap_to_boldref, [ - ('fmap', 'input_image'), # XXX: not right - ('fmap2boldref', 'transforms'), - ('bold_mask_native', 'reference_image'), - ]), - ]) # fmt:skip - # Pass transforms and warped fieldmap to bold_MNI6_wf workflow.connect([ (inputnode, bold_MNI6_wf, [ @@ -510,7 +496,6 @@ def init_single_run_wf(bold_file): # use mask as boldref? ('bold_mask_native', 'inputnode.bold_ref_file'), ]), - (fieldmap_to_boldref, bold_MNI6_wf, [('output_image', 'fmap')]), # Resample BOLD to MNI152NLin6Asym, may duplicate bold_std_wf above (stc_buffer, bold_MNI6_wf, [('bold_file', 'inputnode.bold_file')]), (bold_MNI6_wf, mni6_buffer, [('outputnode.bold_file', 'bold')]), diff --git a/src/fmripost_aroma/workflows/resample.py b/src/fmripost_aroma/workflows/resample.py index 43d6d59..0f2279d 100644 --- a/src/fmripost_aroma/workflows/resample.py +++ b/src/fmripost_aroma/workflows/resample.py @@ -4,7 +4,6 @@ import nipype.pipeline.engine as pe from fmriprep.interfaces.resampling import DistortionParameters, ResampleSeries from niworkflows.interfaces.nibabel import GenerateSamplingReference -from niworkflows.interfaces.utility import KeySelect def init_bold_volumetric_resample_wf( @@ -81,6 +80,8 @@ def init_bold_volumetric_resample_wf( further images into the BOLD series' space. """ + from fmripost_aroma.interfaces.misc import ApplyTransforms + workflow = pe.Workflow(name=name) inputnode = pe.Node( @@ -145,19 +146,29 @@ def init_bold_volumetric_resample_wf( if not fieldmap_id: return workflow + # Warp desc-preproc_fieldmap to boldref space + # Warp the mask as well + fieldmap_to_boldref = pe.Node( + ApplyTransforms(), + name='fieldmap_to_boldref', + ) + workflow.connect([ + (inputnode, fieldmap_to_boldref, [ + ('fmap', 'input_image'), # XXX: not right + ('fmap2boldref', 'transforms'), + ('bold_mask_native', 'reference_image'), + ]), + ]) # fmt:skip + distortion_params = pe.Node( DistortionParameters(metadata=metadata), name='distortion_params', run_without_submitting=True, ) workflow.connect([ - (inputnode, fmap_select, [ - ('fmap', 'fmap_ref'), - ('fmap_id', 'keys'), - ]), (inputnode, distortion_params, [('bold_file', 'in_file')]), # Inject fieldmap correction into resample node - (fmap_select, resample, [('fmap', 'fieldmap')]), + (fieldmap_to_boldref, resample, [('fmap', 'fieldmap')]), (distortion_params, resample, [ ('readout_time', 'ro_time'), ('pe_direction', 'pe_dir'),