Skip to content

Commit e8f8a7f

Browse files
author
bpinsard
committed
fixes, should be mostly working now
1 parent 106464f commit e8f8a7f

File tree

1 file changed

+54
-54
lines changed

1 file changed

+54
-54
lines changed

nipype/interfaces/spm/preprocess.py

Lines changed: 54 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1136,7 +1136,7 @@ class VBMSegmentInputSpec(SPMCommandInputSpec):
11361136
False,usedefault=True,field='estwrite.output.GM.native',)
11371137
gm_normalized = traits.Bool(
11381138
False,usedefault=True,field='estwrite.output.GM.warped',)
1139-
gm_modulated_normalize = traits.Int(
1139+
gm_modulated_normalized = traits.Int(
11401140
2,usedefault=True,field='estwrite.output.GM.modulated',
11411141
desc='0=none,1=affine+non-linear(SPM8 default),2=non-linear only')
11421142
gm_dartel = traits.Int(
@@ -1147,7 +1147,7 @@ class VBMSegmentInputSpec(SPMCommandInputSpec):
11471147
False,usedefault=True,field='estwrite.output.WM.native',)
11481148
wm_normalized = traits.Bool(
11491149
False,usedefault=True,field='estwrite.output.WM.warped',)
1150-
wm_modulated_normalize = traits.Int(
1150+
wm_modulated_normalized = traits.Int(
11511151
2,usedefault=True,field='estwrite.output.WM.modulated',
11521152
desc='0=none,1=affine+non-linear(SPM8 default),2=non-linear only')
11531153
wm_dartel = traits.Int(
@@ -1158,7 +1158,7 @@ class VBMSegmentInputSpec(SPMCommandInputSpec):
11581158
False,usedefault=True,field='estwrite.output.CSF.native',)
11591159
csf_normalized = traits.Bool(
11601160
False,usedefault=True,field='estwrite.output.CSF.warped',)
1161-
csf_modulated_normalize = traits.Int(
1161+
csf_modulated_normalized = traits.Int(
11621162
2,usedefault=True,field='estwrite.output.CSF.modulated',
11631163
desc='0=none,1=affine+non-linear(SPM8 default),2=non-linear only')
11641164
csf_dartel = traits.Int(
@@ -1190,11 +1190,16 @@ class VBMSegmentInputSpec(SPMCommandInputSpec):
11901190

11911191
class VBMSegmentOuputSpec(TraitedSpec):
11921192

1193-
native_class_images = traits.List(traits.List(File(exists=True)), desc='native space probability maps')
1194-
dartel_input_images = traits.List(traits.List(File(exists=True)), desc='dartel imported class images')
1195-
normalized_class_images = traits.List(traits.List(File(exists=True)), desc='normalized class images')
1196-
modulated_class_images = traits.List(traits.List(File(exists=True)), desc='modulated+normalized class images')
1197-
transformation_mat = OutputMultiPath(File(exists=True), desc='Normalization transformation')
1193+
native_class_images = traits.List(traits.List(File(exists=True)),
1194+
desc='native space probability maps')
1195+
dartel_input_images = traits.List(traits.List(File(exists=True)),
1196+
desc='dartel imported class images')
1197+
normalized_class_images = traits.List(traits.List(File(exists=True)),
1198+
desc='normalized class images')
1199+
modulated_class_images = traits.List(traits.List(File(exists=True)),
1200+
desc='modulated+normalized class images')
1201+
transformation_mat = OutputMultiPath(File(exists=True),
1202+
desc='Normalization transformation')
11981203

11991204
bias_corrected_images = OutputMultiPath(
12001205
File(exists=True),
@@ -1221,6 +1226,12 @@ class VBMSegment(SPMCommand):
12211226

12221227
def _list_outputs(self):
12231228
outputs = self._outputs().get()
1229+
1230+
do_dartel = self.inputs.spatial_normalization
1231+
dartel_px = ''
1232+
if do_dartel:
1233+
dartel_px = 'r'
1234+
12241235
outputs['native_class_images'] = [[],[],[]]
12251236
outputs['dartel_input_images'] = [[],[],[]]
12261237
outputs['normalized_class_images'] = [[],[],[]]
@@ -1231,72 +1242,61 @@ def _list_outputs(self):
12311242
outputs['bias_corrected_images'] = []
12321243
outputs['normalized_bias_corrected_images'] = []
12331244

1234-
outputs['native_bias_field_images'] = []
1235-
outputs['normalized_bias_field_images'] = []
1236-
12371245
outputs['inverse_deformation_field'] = []
12381246
outputs['forward_deformation_field'] = []
12391247
outputs['jacobian_determinant_images'] = []
12401248

12411249
outputs['pve_label_native_images'] = []
12421250
outputs['pve_label_normalized_images'] = []
1243-
outputs['pve_label_normalized_images'] = []
1244-
1251+
outputs['pve_label_registered_images'] = []
12451252

12461253
for filename in self.inputs.in_files:
12471254
pth, base, ext = split_filename(filename)
12481255

12491256
outputs['transformation_mat'].append(os.path.join(pth, "%s_seg8.mat" % base))
1250-
1251-
if self.inputs.gm_native:
1252-
outputs['native_class_images'][0].append(os.path.join(pth,"p%d%s.nii"%(1, base)))
1253-
if self.inputs.wm_native:
1254-
outputs['native_class_images'][1].append(os.path.join(pth,"p%d%s.nii"%(2, base)))
1255-
if self.inputs.csf_native:
1256-
outputs['native_class_images'][2].append(os.path.join(pth,"p%d%s.nii"%(3, base)))
1257-
1258-
if self.inputs.gm_normalized:
1259-
outputs['normalized_class_images'][0].append(os.path.join(pth,"wp%d%s.nii"%(1, base)))
1260-
if self.inputs.wm_normalized:
1261-
outputs['normalized_class_images'][1].append(os.path.join(pth,"wp%d%s.nii"%(2, base)))
1262-
if self.inputs.csf_normalized:
1263-
outputs['normalized_class_images'][2].append(os.path.join(pth,"wp%d%s.nii"%(3, base)))
1264-
1265-
if self.inputs.gm_modulated_normalize:
1266-
outputs['modulated_class_images'][0].append(os.path.join(pth,"mm0wp%d%s.nii"%(1, base)))
1267-
if self.inputs.wm_modulated_normalize:
1268-
outputs['modulated_class_images'][1].append(os.path.join(pth,"mm0wp%d%s.nii"%(2, base)))
1269-
if self.inputs.csf_modulated_normalize:
1270-
outputs['modulated_class_images'][2].append(os.path.join(pth,"mmwp%d%s.nii"%(3, base)))
1271-
1272-
if self.inputs.gm_dartel == 1:
1273-
outputs['dartel_input_images'][0].append(os.path.join(pth,"rp%d%s.nii"%(1, base)))
1274-
elif self.inputs.gm_dartel == 2:
1275-
outputs['dartel_input_images'][0].append(os.path.join(pth,"rp%d%s_affine.nii"%(1, base)))
1276-
if self.inputs.wm_dartel == 1:
1277-
outputs['dartel_input_images'][1].append(os.path.join(pth,"rp%d%s.nii"%(2, base)))
1278-
elif self.inputs.wm_dartel == 2:
1279-
outputs['dartel_input_images'][1].append(os.path.join(pth,"rp%d%s_affine.nii"%(2, base)))
1280-
if self.inputs.csf_dartel == 1:
1281-
outputs['dartel_input_images'][2].append(os.path.join(pth,"rp%d%s.nii"%(3, base)))
1282-
elif self.inputs.csf_dartel == 2:
1283-
outputs['dartel_input_images'][2].append(os.path.join(pth,"rp%d%s_affine.nii"%(3, base)))
1257+
1258+
for i,tis in enumerate(['gm','wm','csf']):
1259+
# native space
1260+
1261+
if getattr(self.inputs,'%s_native'%tis):
1262+
outputs['native_class_images'][i].append(os.path.join(pth,"p%d%s.nii"%(i+1, base)))
1263+
if getattr(self.inputs,'%s_dartel'%tis) == 1:
1264+
outputs['dartel_input_images'][i].append(os.path.join(pth,"rp%d%s.nii"%(i+1, base)))
1265+
elif getattr(self.inputs,'%s_dartel'%tis) == 2:
1266+
outputs['dartel_input_images'][i].append(os.path.join(pth,"rp%d%s_affine.nii"%(i+1, base)))
1267+
1268+
#normalized space
1269+
if getattr(self.inputs,'%s_normalized'%tis):
1270+
outputs['normalized_class_images'][i].append(os.path.join(pth,"w%sp%d%s.nii"%(dartel_px,i+1, base)))
1271+
1272+
if getattr(self.inputs,'%s_modulated_normalized'%tis)==1:
1273+
outputs['modulated_class_images'][i].append(os.path.join(pth,"mw%sp%d%s.nii"%(dartel_px, i+1, base)))
1274+
elif getattr(self.inputs,'%s_modulated_normalized'%tis)==2:
1275+
outputs['normalized_class_images'][i].append(os.path.join(pth,"m0w%sp%d%s.nii"%(dartel_px,i+1, base)))
1276+
1277+
1278+
1279+
if self.inputs.pve_label_native:
1280+
outputs['pve_label_native_images'].append(os.path.join(pth,"p0%s_affine.nii"%(base)))
1281+
if self.inputs.pve_label_normalized:
1282+
outputs['pve_label_normalized_images'].append(os.path.join(pth,"w%sp0%s_affine.nii"%(dartel_px,base)))
1283+
if self.inputs.pve_label_dartel==1:
1284+
outputs['pve_label_registered_images'].append(os.path.join(pth,"rp0%s.nii"%( base)))
1285+
elif self.inputs.pve_label_dartel==2:
1286+
outputs['pve_label_registered_images'].append(os.path.join(pth,"rp0%s_affine.nii"%( base)))
12841287

12851288

12861289
if self.inputs.bias_corrected_native:
12871290
outputs['bias_corrected_images'].append(os.path.join(pth,"m%s.nii"%(base)))
12881291
if self.inputs.bias_corrected_normalized:
1289-
if self.inputs.bias_corrected_affine:
1290-
outputs['normalized_bias_corrected_images'].append(os.path.join(pth,"wm%s_affine.nii"%(base)))
1291-
else:
1292-
outputs['normalized_bias_corrected_images'].append(os.path.join(pth,"wm%s.nii"%(base)))
1292+
outputs['normalized_bias_corrected_images'].append(os.path.join(pth,"wm%s%s_affine.nii"%(dartel_px, base)))
12931293

12941294
if self.inputs.deformation_field[0]:
1295-
outputs['forward_deformation_field'].append(os.path.join(pth,"y_r%s.nii"%(base)))
1295+
outputs['forward_deformation_field'].append(os.path.join(pth,"y_%s%s.nii"%(dartel_px,base)))
12961296
if self.inputs.deformation_field[1]:
1297-
outputs['inverse_deformation_field'].append(os.path.join(pth,"iy_r%s.nii"%(base)))
1297+
outputs['inverse_deformation_field'].append(os.path.join(pth,"iy_%s%s.nii"%(dartel_px,base)))
12981298

1299-
if self.inputs.jacobian_determinant:
1299+
if self.inputs.jacobian_determinant and do_dartel:
13001300
outputs['jacobian_determinant_images'].append(os.path.join(pth,"jac_wrp1%s.nii"%(base)))
13011301
return outputs
13021302

0 commit comments

Comments
 (0)