@@ -292,6 +292,7 @@ def init_bold_wf(
292292 ]) # fmt:skip
293293
294294 boldref_out = bool (nonstd_spaces .intersection (('func' , 'run' , 'bold' , 'boldref' , 'sbref' )))
295+ boldref_out |= config .workflow .level == 'full'
295296 echos_out = multiecho and config .execution .me_output_echos
296297
297298 if boldref_out or echos_out :
@@ -316,30 +317,6 @@ def init_bold_wf(
316317 ]),
317318 ]) # fmt:skip
318319
319- if nonstd_spaces .intersection (('anat' , 'T1w' )):
320- ds_bold_t1_wf = init_ds_volumes_wf (
321- bids_root = str (config .execution .bids_dir ),
322- output_dir = fmriprep_dir ,
323- multiecho = multiecho ,
324- metadata = all_metadata [0 ],
325- name = 'ds_bold_t1_wf' ,
326- )
327- ds_bold_t1_wf .inputs .inputnode .source_files = bold_series
328- ds_bold_t1_wf .inputs .inputnode .space = 'T1w'
329-
330- workflow .connect ([
331- (inputnode , ds_bold_t1_wf , [
332- ('t1w_preproc' , 'inputnode.ref_file' ),
333- ]),
334- (bold_fit_wf , ds_bold_t1_wf , [
335- ('outputnode.bold_mask' , 'inputnode.bold_mask' ),
336- ('outputnode.coreg_boldref' , 'inputnode.bold_ref' ),
337- ('outputnode.boldref2anat_xfm' , 'inputnode.boldref2anat_xfm' ),
338- ]),
339- (bold_native_wf , ds_bold_t1_wf , [('outputnode.t2star_map' , 'inputnode.t2star' )]),
340- (bold_anat_wf , ds_bold_t1_wf , [('outputnode.bold_file' , 'inputnode.bold' )]),
341- ]) # fmt:skip
342-
343320 if multiecho :
344321 t2s_reporting_wf = init_t2s_reporting_wf ()
345322
@@ -379,6 +356,31 @@ def init_bold_wf(
379356 if config .workflow .level == "resampling" :
380357 return workflow
381358
359+ # Full derivatives, including resampled BOLD series
360+ if nonstd_spaces .intersection (('anat' , 'T1w' )):
361+ ds_bold_t1_wf = init_ds_volumes_wf (
362+ bids_root = str (config .execution .bids_dir ),
363+ output_dir = fmriprep_dir ,
364+ multiecho = multiecho ,
365+ metadata = all_metadata [0 ],
366+ name = 'ds_bold_t1_wf' ,
367+ )
368+ ds_bold_t1_wf .inputs .inputnode .source_files = bold_series
369+ ds_bold_t1_wf .inputs .inputnode .space = 'T1w'
370+
371+ workflow .connect ([
372+ (inputnode , ds_bold_t1_wf , [
373+ ('t1w_preproc' , 'inputnode.ref_file' ),
374+ ]),
375+ (bold_fit_wf , ds_bold_t1_wf , [
376+ ('outputnode.bold_mask' , 'inputnode.bold_mask' ),
377+ ('outputnode.coreg_boldref' , 'inputnode.bold_ref' ),
378+ ('outputnode.boldref2anat_xfm' , 'inputnode.boldref2anat_xfm' ),
379+ ]),
380+ (bold_native_wf , ds_bold_t1_wf , [('outputnode.t2star_map' , 'inputnode.t2star' )]),
381+ (bold_anat_wf , ds_bold_t1_wf , [('outputnode.bold_file' , 'inputnode.bold' )]),
382+ ]) # fmt:skip
383+
382384 # Fill-in datasinks of reportlets seen so far
383385 for node in workflow .list_node_names ():
384386 if node .split ("." )[- 1 ].startswith ("ds_report" ):
0 commit comments