@@ -124,6 +124,7 @@ def create_reg_workflow(name='registration'):
124
124
'transformed_files' ,
125
125
'transformed_mean' ,
126
126
'anat2target' ,
127
+ 'mean2anat_mask'
127
128
]),
128
129
name = 'outputspec' )
129
130
@@ -171,6 +172,13 @@ def create_reg_workflow(name='registration'):
171
172
register .connect (mean2anat , 'out_matrix_file' ,
172
173
mean2anatbbr , 'in_matrix_file' )
173
174
175
+ """
176
+ Create a mask of the median image coregistered to the anatomical image
177
+ """
178
+
179
+ mean2anat_mask = Node (fsl .BET (mask = True ), name = 'mean2anat_mask' )
180
+ register .connect (mean2anatbbr , 'out_file' , mean2anat_mask , 'in_file' )
181
+
174
182
"""
175
183
Convert the BBRegister transformation to ANTS ITK format
176
184
"""
@@ -276,6 +284,8 @@ def create_reg_workflow(name='registration'):
276
284
register .connect (warpall , 'output_image' , outputnode , 'transformed_files' )
277
285
register .connect (mean2anatbbr , 'out_matrix_file' ,
278
286
outputnode , 'func2anat_transform' )
287
+ register .connect (mean2anat_mask , 'mask_file' ,
288
+ outputnode , 'mean2anat_mask' )
279
289
register .connect (reg , 'composite_transform' ,
280
290
outputnode , 'anat2target_transform' )
281
291
@@ -333,7 +343,8 @@ def create_fs_reg_workflow(name='registration'):
333
343
'transformed_files' ,
334
344
'min_cost_file' ,
335
345
'anat2target' ,
336
- 'aparc'
346
+ 'aparc' ,
347
+ 'mean2anat_mask'
337
348
]),
338
349
name = 'outputspec' )
339
350
@@ -349,7 +360,7 @@ def create_fs_reg_workflow(name='registration'):
349
360
register .connect (fssource , 'T1' , convert , 'in_file' )
350
361
351
362
# Coregister the median to the surface
352
- bbregister = Node (freesurfer .BBRegister (),
363
+ bbregister = Node (freesurfer .BBRegister (registered_file = True ),
353
364
name = 'bbregister' )
354
365
bbregister .inputs .init = 'fsl'
355
366
bbregister .inputs .contrast_type = 't2'
@@ -359,6 +370,10 @@ def create_fs_reg_workflow(name='registration'):
359
370
register .connect (inputnode , 'mean_image' , bbregister , 'source_file' )
360
371
register .connect (inputnode , 'subjects_dir' , bbregister , 'subjects_dir' )
361
372
373
+ # Create a mask of the median coregistered to the anatomical image
374
+ mean2anat_mask = Node (fsl .BET (mask = True ), name = 'mean2anat_mask' )
375
+ register .connect (bbregister , 'registered_file' , mean2anat_mask , 'in_file' )
376
+
362
377
"""
363
378
use aparc+aseg's brain mask
364
379
"""
@@ -500,6 +515,8 @@ def create_fs_reg_workflow(name='registration'):
500
515
outputnode , 'out_reg_file' )
501
516
register .connect (bbregister , 'min_cost_file' ,
502
517
outputnode , 'min_cost_file' )
518
+ register .connect (mean2anat_mask , 'mask_file' ,
519
+ outputnode , 'mean2anat_mask' )
503
520
register .connect (reg , 'composite_transform' ,
504
521
outputnode , 'anat2target_transform' )
505
522
register .connect (merge , 'out' , outputnode , 'transforms' )
@@ -964,6 +981,8 @@ def get_subs(subject_id, conds, run_id, model_id, task_id):
964
981
subs .append (('/model%03d/task%03d_' % (model_id , task_id ), '/' ))
965
982
subs .append (('_bold_dtype_mcf_bet_thresh_dil' , '_mask' ))
966
983
subs .append (('_output_warped_image' , '_anat2target' ))
984
+ subs .append (('median_flirt_brain_mask' , 'median_brain_mask' ))
985
+ subs .append (('median_bbreg_brain_mask' , 'median_brain_mask' ))
967
986
return subs
968
987
969
988
subsgen = pe .Node (niu .Function (input_names = ['subject_id' , 'conds' , 'run_id' ,
@@ -998,6 +1017,7 @@ def get_subs(subject_id, conds, run_id, model_id, task_id):
998
1017
('outputspec.motion_plots' ,
999
1018
'qa.motion.plots' ),
1000
1019
('outputspec.mask' , 'qa.mask' )])])
1020
+ wf .connect (registration , 'outputspec.mean2anat_mask' , datasink , 'qa.mask.mean2anat' )
1001
1021
wf .connect (art , 'norm_files' , datasink , 'qa.art.@norm' )
1002
1022
wf .connect (art , 'intensity_files' , datasink , 'qa.art.@intensity' )
1003
1023
wf .connect (art , 'outlier_files' , datasink , 'qa.art.@outlier_files' )
0 commit comments