@@ -125,6 +125,14 @@ def dwi_flirt(name='DWICoregistration', excl_nodiff=False, flirt_param={}):
125125 fsl .FLIRT (** flirt_param ),
126126 name = 'CoRegistration' ,
127127 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+ )
128136 thres = pe .MapNode (
129137 fsl .Threshold (thresh = 0.0 ),
130138 iterfield = ['in_file' ],
@@ -134,25 +142,30 @@ def dwi_flirt(name='DWICoregistration', excl_nodiff=False, flirt_param={}):
134142 niu .IdentityInterface (fields = ['out_file' , 'out_xfms' ]),
135143 name = 'outputnode' )
136144 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+ ])
156169 return wf
157170
158171
0 commit comments