@@ -69,6 +69,7 @@ def init_dwi_preproc_wf(dwi_file, has_fieldmap=False):
69
69
70
70
"""
71
71
from ...interfaces .vectors import CheckGradientTable
72
+ from niworkflows .interfaces import SimpleBeforeAfter
72
73
from .util import init_dwi_reference_wf
73
74
from .outputs import init_reportlets_wf
74
75
from .eddy import init_eddy_wf
@@ -205,6 +206,23 @@ def _bold_reg_suffix(fallback):
205
206
# Eddy distortion correction
206
207
eddy_wf = init_eddy_wf (debug = config .execution .debug )
207
208
eddy_wf .inputs .inputnode .metadata = layout .get_metadata (str (dwi_file ))
209
+
210
+ ds_report_eddy = pe .Node (
211
+ DerivativesDataSink (
212
+ base_directory = str (config .execution .output_dir ),
213
+ desc = "eddy_corrected" ,
214
+ datatype = "figures" ,
215
+ ),
216
+ name = "ds_report_eddy" ,
217
+ run_without_submitting = True ,
218
+ )
219
+
220
+ eddy_report = pe .Node (
221
+ SimpleBeforeAfter (before_label = "Distorted" , after_label = "Eddy Corrected" ,),
222
+ name = "eddy_report" ,
223
+ mem_gb = 0.1 ,
224
+ )
225
+
208
226
# fmt:off
209
227
workflow .connect ([
210
228
(dwi_reference_wf , eddy_wf , [
@@ -215,6 +233,10 @@ def _bold_reg_suffix(fallback):
215
233
("in_bvec" , "inputnode.in_bvec" ),
216
234
("in_bval" , "inputnode.in_bval" )
217
235
]),
236
+ (dwi_reference_wf , eddy_report , [("outputnode.dwi_file" , "before" )]),
237
+ (eddy_wf , eddy_report , [('outputnode.out_eddy' , 'after' )]),
238
+ (dwi_reference_wf , ds_report_eddy , [("outputnode.dwi_file" , "source_file" )]),
239
+ (eddy_report , ds_report_eddy , [("out_report" , "in_file" )]),
218
240
])
219
241
# fmt:on
220
242
0 commit comments