Skip to content

Commit b9ff1ba

Browse files
committed
Merge pull request #1144 from annepark/qa
added nodes to create mask of median functional image in structural s…
2 parents 3ba3172 + 7ad86d2 commit b9ff1ba

File tree

1 file changed

+22
-2
lines changed

1 file changed

+22
-2
lines changed

examples/fmri_ants_openfmri.py

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ def create_reg_workflow(name='registration'):
124124
'transformed_files',
125125
'transformed_mean',
126126
'anat2target',
127+
'mean2anat_mask'
127128
]),
128129
name='outputspec')
129130

@@ -171,6 +172,13 @@ def create_reg_workflow(name='registration'):
171172
register.connect(mean2anat, 'out_matrix_file',
172173
mean2anatbbr, 'in_matrix_file')
173174

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+
174182
"""
175183
Convert the BBRegister transformation to ANTS ITK format
176184
"""
@@ -276,6 +284,8 @@ def create_reg_workflow(name='registration'):
276284
register.connect(warpall, 'output_image', outputnode, 'transformed_files')
277285
register.connect(mean2anatbbr, 'out_matrix_file',
278286
outputnode, 'func2anat_transform')
287+
register.connect(mean2anat_mask, 'mask_file',
288+
outputnode, 'mean2anat_mask')
279289
register.connect(reg, 'composite_transform',
280290
outputnode, 'anat2target_transform')
281291

@@ -333,7 +343,8 @@ def create_fs_reg_workflow(name='registration'):
333343
'transformed_files',
334344
'min_cost_file',
335345
'anat2target',
336-
'aparc'
346+
'aparc',
347+
'mean2anat_mask'
337348
]),
338349
name='outputspec')
339350

@@ -349,7 +360,7 @@ def create_fs_reg_workflow(name='registration'):
349360
register.connect(fssource, 'T1', convert, 'in_file')
350361

351362
# Coregister the median to the surface
352-
bbregister = Node(freesurfer.BBRegister(),
363+
bbregister = Node(freesurfer.BBRegister(registered_file=True),
353364
name='bbregister')
354365
bbregister.inputs.init = 'fsl'
355366
bbregister.inputs.contrast_type = 't2'
@@ -359,6 +370,10 @@ def create_fs_reg_workflow(name='registration'):
359370
register.connect(inputnode, 'mean_image', bbregister, 'source_file')
360371
register.connect(inputnode, 'subjects_dir', bbregister, 'subjects_dir')
361372

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+
362377
"""
363378
use aparc+aseg's brain mask
364379
"""
@@ -500,6 +515,8 @@ def create_fs_reg_workflow(name='registration'):
500515
outputnode, 'out_reg_file')
501516
register.connect(bbregister, 'min_cost_file',
502517
outputnode, 'min_cost_file')
518+
register.connect(mean2anat_mask, 'mask_file',
519+
outputnode, 'mean2anat_mask')
503520
register.connect(reg, 'composite_transform',
504521
outputnode, 'anat2target_transform')
505522
register.connect(merge, 'out', outputnode, 'transforms')
@@ -964,6 +981,8 @@ def get_subs(subject_id, conds, run_id, model_id, task_id):
964981
subs.append(('/model%03d/task%03d_' % (model_id, task_id), '/'))
965982
subs.append(('_bold_dtype_mcf_bet_thresh_dil', '_mask'))
966983
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'))
967986
return subs
968987

969988
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):
9981017
('outputspec.motion_plots',
9991018
'qa.motion.plots'),
10001019
('outputspec.mask', 'qa.mask')])])
1020+
wf.connect(registration, 'outputspec.mean2anat_mask', datasink, 'qa.mask.mean2anat')
10011021
wf.connect(art, 'norm_files', datasink, 'qa.art.@norm')
10021022
wf.connect(art, 'intensity_files', datasink, 'qa.art.@intensity')
10031023
wf.connect(art, 'outlier_files', datasink, 'qa.art.@outlier_files')

0 commit comments

Comments
 (0)