@@ -125,34 +125,42 @@ 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
- thres = pe .MapNode (
129
- fsl .Threshold (thresh = 0.0 ),
130
- iterfield = ['in_file' ],
131
- name = 'RemoveNegative' )
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
+ )
132
136
merge = pe .Node (fsl .Merge (dimension = 't' ), name = 'MergeDWIs' )
133
137
outputnode = pe .Node (
134
138
niu .IdentityInterface (fields = ['out_file' , 'out_xfms' ]),
135
139
name = 'outputnode' )
136
140
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' )])])
141
+ wf .connect ([
142
+ (inputnode , split , [('in_file' , 'in_file' )]),
143
+ (inputnode , dilate , [('ref_mask' , 'in_file' )]),
144
+ (inputnode , enhb0 , [('ref_mask' , 'in_mask' )]),
145
+ (inputnode , initmat , [('in_xfms' , 'in_xfms' ),
146
+ ('in_bval' , 'in_bval' )]),
147
+ (inputnode , n4 , [('reference' , 'input_image' ),
148
+ ('ref_mask' , 'mask_image' )]),
149
+ (dilate , flirt , [('out_file' , 'ref_weight' ),
150
+ ('out_file' , 'in_weight' )]),
151
+ (n4 , enhb0 , [('output_image' , 'in_file' )]),
152
+ (split , enhdw , [('out_files' , 'in_file' )]),
153
+ (split , apply_xfms , [('out_files' , 'in_file' )]),
154
+ (dilate , enhdw , [('out_file' , 'in_mask' )]),
155
+ (enhb0 , flirt , [('out_file' , 'reference' )]),
156
+ (enhb0 , apply_xfms , [('out_file' , 'reference' )]),
157
+ (enhdw , flirt , [('out_file' , 'in_file' )]),
158
+ (initmat , flirt , [('init_xfms' , 'in_matrix_file' )]),
159
+ (flirt , apply_xfms , [('out_matrix_file' , 'in_matrix_file' )]),
160
+ (apply_xfms , merge , [('out_file' , 'in_files' )]),
161
+ (merge , outputnode , [('merged_file' , 'out_file' )]),
162
+ (flirt , outputnode , [('out_matrix_file' , 'out_xfms' )])
163
+ ])
156
164
return wf
157
165
158
166
0 commit comments