Skip to content

Commit dfcc338

Browse files
authored
Merge pull request #2547 from jdkent/chg_dwi_flirt
[FIX] return non-enhanced volumes from dwi_flirt
2 parents 615964c + 692b6ae commit dfcc338

File tree

1 file changed

+32
-19
lines changed

1 file changed

+32
-19
lines changed

nipype/workflows/dmri/fsl/utils.py

+32-19
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)