@@ -125,6 +125,14 @@ def dwi_flirt(name='DWICoregistration', excl_nodiff=False, flirt_param={}):
125
125
fsl .FLIRT (** flirt_param ),
126
126
name = 'CoRegistration' ,
127
127
iterfield = ['in_file' , 'in_matrix_file' ])
128
+ apply_xfms = pe .MapNode (
129
+ fsl .ApplyXFM (
130
+ apply_xfm = True ,
131
+ interp = 'spline' ,
132
+ bgvalue = 0 ),
133
+ name = 'ApplyXFMs' ,
134
+ iterfield = ['in_file' , 'in_matrix_file' ]
135
+ )
128
136
thres = pe .MapNode (
129
137
fsl .Threshold (thresh = 0.0 ),
130
138
iterfield = ['in_file' ],
@@ -134,25 +142,30 @@ def dwi_flirt(name='DWICoregistration', excl_nodiff=False, flirt_param={}):
134
142
niu .IdentityInterface (fields = ['out_file' , 'out_xfms' ]),
135
143
name = 'outputnode' )
136
144
wf = pe .Workflow (name = name )
137
- wf .connect (
138
- [(inputnode , split , [('in_file' , 'in_file' )]),
139
- (inputnode , dilate , [('ref_mask' , 'in_file' )]),
140
- (inputnode , enhb0 , [('ref_mask' , 'in_mask' )]), (inputnode , initmat , [
141
- ('in_xfms' , 'in_xfms' ), ('in_bval' , 'in_bval' )
142
- ]), (inputnode , n4 ,
143
- [('reference' , 'input_image' ),
144
- ('ref_mask' , 'mask_image' )]), (dilate , flirt , [
145
- ('out_file' , 'ref_weight' ), ('out_file' , 'in_weight' )
146
- ]), (n4 , enhb0 , [('output_image' , 'in_file' )]), (split , enhdw , [
147
- ('out_files' , 'in_file' )
148
- ]), (dilate , enhdw , [('out_file' , 'in_mask' )]), (enhb0 , flirt , [
149
- ('out_file' , 'reference' )
150
- ]), (enhdw , flirt , [('out_file' , 'in_file' )]),
151
- (initmat , flirt , [('init_xfms' , 'in_matrix_file' )]), (flirt , thres , [
152
- ('out_file' , 'in_file' )
153
- ]), (thres , merge , [('out_file' , 'in_files' )]), (merge , outputnode , [
154
- ('merged_file' , 'out_file' )
155
- ]), (flirt , outputnode , [('out_matrix_file' , 'out_xfms' )])])
145
+ wf .connect ([
146
+ (inputnode , split , [('in_file' , 'in_file' )]),
147
+ (inputnode , dilate , [('ref_mask' , 'in_file' )]),
148
+ (inputnode , enhb0 , [('ref_mask' , 'in_mask' )]),
149
+ (inputnode , initmat , [('in_xfms' , 'in_xfms' ),
150
+ ('in_bval' , 'in_bval' )]),
151
+ (inputnode , n4 , [('reference' , 'input_image' ),
152
+ ('ref_mask' , 'mask_image' )]),
153
+ (dilate , flirt , [('out_file' , 'ref_weight' ),
154
+ ('out_file' , 'in_weight' )]),
155
+ (n4 , enhb0 , [('output_image' , 'in_file' )]),
156
+ (split , enhdw , [('out_files' , 'in_file' )]),
157
+ (split , apply_xfms , [('out_files' , 'in_file' )]),
158
+ (dilate , enhdw , [('out_file' , 'in_mask' )]),
159
+ (enhb0 , flirt , [('out_file' , 'reference' )]),
160
+ (enhb0 , apply_xfms , [('out_file' , 'reference' )]),
161
+ (enhdw , flirt , [('out_file' , 'in_file' )]),
162
+ (initmat , flirt , [('init_xfms' , 'in_matrix_file' )]),
163
+ (flirt , apply_xfms , [('out_matrix_file' , 'in_matrix_file' )]),
164
+ (apply_xfms , thres , [('out_file' , 'in_file' )]),
165
+ (thres , merge , [('out_file' , 'in_files' )]),
166
+ (merge , outputnode , [('merged_file' , 'out_file' )]),
167
+ (flirt , outputnode , [('out_matrix_file' , 'out_xfms' )])
168
+ ])
156
169
return wf
157
170
158
171
0 commit comments