@@ -1104,7 +1104,9 @@ def create_reg_workflow(name='registration'):
1104
1104
inputnode = pe .Node (interface = util .IdentityInterface (fields = ['source_files' ,
1105
1105
'mean_image' ,
1106
1106
'anatomical_image' ,
1107
- 'target_image' ]),
1107
+ 'target_image' ,
1108
+ 'target_image_brain' ,
1109
+ 'config_file' ]),
1108
1110
name = 'inputspec' )
1109
1111
outputnode = pe .Node (interface = util .IdentityInterface (fields = ['func2anat_transform' ,
1110
1112
'anat2target_transform' ,
@@ -1154,15 +1156,20 @@ def create_reg_workflow(name='registration'):
1154
1156
register .connect (inputnode , 'mean_image' , mean2anatbbr , 'in_file' )
1155
1157
register .connect (binarize , 'out_file' , mean2anatbbr , 'wm_seg' )
1156
1158
register .connect (inputnode , 'anatomical_image' , mean2anatbbr , 'reference' )
1157
- register .connect (mean2anat , 'out_matrix_file' , mean2anatbbr , 'in_matrix_file' )
1159
+ register .connect (mean2anat , 'out_matrix_file' ,
1160
+ mean2anatbbr , 'in_matrix_file' )
1158
1161
1159
1162
"""
1160
1163
Calculate affine transform from anatomical to target
1161
1164
"""
1162
1165
1163
1166
anat2target_affine = pe .Node (fsl .FLIRT (), name = 'anat2target_linear' )
1164
- register .connect (inputnode , 'anatomical_image' , anat2target_affine , 'in_file' )
1165
- register .connect (inputnode , 'target_image' , anat2target_affine , 'reference' )
1167
+ anat2target_affine .inputs .searchr_x = [- 180 , 180 ]
1168
+ anat2target_affine .inputs .searchr_y = [- 180 , 180 ]
1169
+ anat2target_affine .inputs .searchr_z = [- 180 , 180 ]
1170
+ register .connect (stripper , 'out_file' , anat2target_affine , 'in_file' )
1171
+ register .connect (inputnode , 'target_image_brain' ,
1172
+ anat2target_affine , 'reference' )
1166
1173
1167
1174
"""
1168
1175
Calculate nonlinear transform from anatomical to target
@@ -1172,22 +1179,20 @@ def create_reg_workflow(name='registration'):
1172
1179
anat2target_nonlinear .inputs .fieldcoeff_file = True
1173
1180
register .connect (anat2target_affine , 'out_matrix_file' ,
1174
1181
anat2target_nonlinear , 'affine_file' )
1175
- anat2target_nonlinear .inputs .warp_resolution = (8 , 8 , 8 )
1176
- register .connect (inputnode , 'anatomical_image' , anat2target_nonlinear , 'in_file' )
1182
+ register .connect (inputnode , 'anatomical_image' ,
1183
+ anat2target_nonlinear , 'in_file' )
1184
+ register .connect (inputnode , 'config_file' ,
1185
+ anat2target_nonlinear , 'config_file' )
1177
1186
register .connect (inputnode , 'target_image' ,
1178
1187
anat2target_nonlinear , 'ref_file' )
1179
1188
1180
1189
"""
1181
1190
Transform the mean image. First to anatomical and then to target
1182
1191
"""
1183
1192
1184
- warp2anat = pe .Node (fsl .ApplyWarp (interp = 'spline' ), name = 'warp2anat' )
1185
- register .connect (inputnode , 'mean_image' , warp2anat , 'in_file' )
1186
- register .connect (inputnode , 'anatomical_image' , warp2anat , 'ref_file' )
1187
- register .connect (mean2anatbbr , 'out_matrix_file' , warp2anat , 'premat' )
1188
-
1189
- warpmean = warp2anat .clone (name = 'warpmean' )
1190
- register .connect (warp2anat , 'out_file' , warpmean , 'in_file' )
1193
+ warpmean = pe .Node (fsl .ApplyWarp (interp = 'spline' ), name = 'warpmean' )
1194
+ register .connect (inputnode , 'mean_image' , warpmean , 'in_file' )
1195
+ register .connect (mean2anatbbr , 'out_matrix_file' , warpmean , 'premat' )
1191
1196
register .connect (inputnode , 'target_image' , warpmean , 'ref_file' )
1192
1197
register .connect (anat2target_nonlinear , 'fieldcoeff_file' ,
1193
1198
warpmean , 'field_file' )
@@ -1196,15 +1201,11 @@ def create_reg_workflow(name='registration'):
1196
1201
Transform the remaining images. First to anatomical and then to target
1197
1202
"""
1198
1203
1199
- warpall2anat = pe .MapNode (fsl .ApplyWarp (interp = 'spline' ),
1200
- iterfield = ['in_file' ],
1201
- name = 'warpall2anat' )
1202
- register .connect (inputnode , 'source_files' , warpall2anat , 'in_file' )
1203
- register .connect (inputnode , 'anatomical_image' , warpall2anat , 'ref_file' )
1204
- register .connect (mean2anatbbr , 'out_matrix_file' , warpall2anat , 'premat' )
1205
-
1206
- warpall = warpall2anat .clone (name = 'warpall' )
1207
- register .connect (warpall2anat , 'out_file' , warpall , 'in_file' )
1204
+ warpall = pe .MapNode (fsl .ApplyWarp (interp = 'spline' ),
1205
+ iterfield = ['in_file' ],
1206
+ name = 'warpall' )
1207
+ register .connect (inputnode , 'source_files' , warpall , 'in_file' )
1208
+ register .connect (mean2anatbbr , 'out_matrix_file' , warpall , 'premat' )
1208
1209
register .connect (inputnode , 'target_image' , warpall , 'ref_file' )
1209
1210
register .connect (anat2target_nonlinear , 'fieldcoeff_file' ,
1210
1211
warpall , 'field_file' )
0 commit comments