@@ -64,16 +64,16 @@ def init_dwi_preproc_wf(dwi_file, has_fieldmap=False):
64
64
65
65
See Also
66
66
--------
67
- * :py:func:`~dmriprep.workflows.dwi.util.init_dwi_reference_wf`
68
67
* :py:func:`~dmriprep.workflows.dwi.outputs.init_dwi_derivatives_wf`
69
68
* :py:func:`~dmriprep.workflows.dwi.outputs.init_reportlets_wf`
70
69
71
70
"""
72
71
from niworkflows .interfaces .reportlets .registration import (
73
72
SimpleBeforeAfterRPT as SimpleBeforeAfter ,
74
73
)
74
+ from niworkflows .workflows .epi .refmap import init_epi_reference_wf
75
+
75
76
from ...interfaces .vectors import CheckGradientTable
76
- from .util import init_dwi_reference_wf
77
77
from .outputs import init_dwi_derivatives_wf , init_reportlets_wf
78
78
from .eddy import init_eddy_wf
79
79
@@ -143,21 +143,22 @@ def init_dwi_preproc_wf(dwi_file, has_fieldmap=False):
143
143
144
144
gradient_table = pe .Node (CheckGradientTable (), name = "gradient_table" )
145
145
146
- dwi_reference_wf = init_dwi_reference_wf (
147
- mem_gb = config .DEFAULT_MEMORY_MIN_GB , omp_nthreads = config .nipype .omp_nthreads
146
+ dwi_reference_wf = init_epi_reference_wf (
147
+ omp_nthreads = config .nipype .omp_nthreads ,
148
+ name = "dwi_reference_wf" ,
148
149
)
149
150
150
151
dwi_derivatives_wf = init_dwi_derivatives_wf (output_dir = str (config .execution .output_dir ))
151
152
152
153
# MAIN WORKFLOW STRUCTURE
153
154
# fmt: off
154
155
workflow .connect ([
156
+ (inputnode , dwi_derivatives_wf , [("dwi_file" , "inputnode.source_file" )]),
155
157
(inputnode , gradient_table , [("dwi_file" , "dwi_file" ),
156
158
("in_bvec" , "in_bvec" ),
157
159
("in_bval" , "in_bval" )]),
158
- (inputnode , dwi_reference_wf , [("dwi_file" , "inputnode.dwi_file" )]),
159
- (inputnode , dwi_derivatives_wf , [("dwi_file" , "inputnode.source_file" )]),
160
- (gradient_table , dwi_reference_wf , [("b0_ixs" , "inputnode.b0_ixs" )]),
160
+ (inputnode , dwi_reference_wf , [(("dwi_file" , _aslist ), "inputnode.in_files" )]),
161
+ (gradient_table , dwi_reference_wf , [(("b0_mask" , _aslist ), "inputnode.t_masks" )]),
161
162
(gradient_table , outputnode , [("out_rasb" , "gradients_rasb" )]),
162
163
(outputnode , dwi_derivatives_wf , [
163
164
("dwi_reference" , "inputnode.dwi_ref" ),
@@ -205,7 +206,7 @@ def _bold_reg_suffix(fallback):
205
206
(inputnode , ds_report_reg , [("dwi_file" , "source_file" )]),
206
207
# BBRegister
207
208
(dwi_reference_wf , bbr_wf , [
208
- ("outputnode.ref_image " , "inputnode.in_file" )
209
+ ("outputnode.epi_ref_file " , "inputnode.in_file" )
209
210
]),
210
211
(bbr_wf , ds_report_reg , [
211
212
('outputnode.out_report' , 'in_file' ),
@@ -247,7 +248,7 @@ def _bold_reg_suffix(fallback):
247
248
("in_bvec" , "inputnode.in_bvec" ),
248
249
("in_bval" , "inputnode.in_bval" )
249
250
]),
250
- (dwi_reference_wf , eddy_report , [("outputnode.ref_image " , "before" )]),
251
+ (dwi_reference_wf , eddy_report , [("outputnode.epi_ref_file " , "before" )]),
251
252
(eddy_wf , eddy_report , [('outputnode.eddy_ref_image' , 'after' )]),
252
253
(dwi_reference_wf , ds_report_eddy , [("outputnode.dwi_file" , "source_file" )]),
253
254
(eddy_report , ds_report_eddy , [("out_report" , "in_file" )]),
@@ -275,8 +276,7 @@ def _bold_reg_suffix(fallback):
275
276
if not has_fieldmap :
276
277
# fmt: off
277
278
workflow .connect ([
278
- (dwi_reference_wf , outputnode , [("outputnode.ref_image" , "dwi_reference" ),
279
- ("outputnode.dwi_mask" , "dwi_mask" )]),
279
+ (dwi_reference_wf , outputnode , [("outputnode.epi_ref_file" , "dwi_reference" )]),
280
280
])
281
281
# fmt: on
282
282
return workflow
@@ -328,12 +328,11 @@ def _bold_reg_suffix(fallback):
328
328
("fmap_coeff" , "inputnode.fmap_coeff" ),
329
329
("fmap_mask" , "inputnode.fmap_mask" )]),
330
330
(dwi_reference_wf , coeff2epi_wf , [
331
- ("outputnode.ref_image" , "inputnode.target_ref" ),
332
- ("outputnode.dwi_mask" , "inputnode.target_mask" )]),
333
- (dwi_reference_wf , unwarp_wf , [("outputnode.ref_image" , "inputnode.distorted" )]),
331
+ ("outputnode.epi_ref_file" , "inputnode.target_ref" )]),
332
+ (dwi_reference_wf , unwarp_wf , [("outputnode.epi_ref_file" , "inputnode.distorted" )]),
334
333
(coeff2epi_wf , unwarp_wf , [
335
334
("outputnode.fmap_coeff" , "inputnode.fmap_coeff" )]),
336
- (dwi_reference_wf , sdc_report , [("outputnode.ref_image " , "before" )]),
335
+ (dwi_reference_wf , sdc_report , [("outputnode.epi_ref_file " , "before" )]),
337
336
(unwarp_wf , sdc_report , [("outputnode.corrected" , "after" ),
338
337
("outputnode.corrected_mask" , "wm_seg" )]),
339
338
(sdc_report , reportlets_wf , [("out_report" , "inputnode.sdc_report" )]),
@@ -363,3 +362,7 @@ def _get_wf_name(filename):
363
362
fname = Path (filename ).name .rpartition (".nii" )[0 ].replace ("_dwi" , "_wf" )
364
363
fname_nosub = "_" .join (fname .split ("_" )[1 :])
365
364
return f"dwi_preproc_{ fname_nosub .replace ('.' , '_' ).replace (' ' , '' ).replace ('-' , '_' )} "
365
+
366
+
367
+ def _aslist (value ):
368
+ return [value ]
0 commit comments