@@ -323,17 +323,20 @@ def _list_outputs(self):
323323 nclasses = self .inputs .number_classes
324324 # when using multichannel, results basename is based on last
325325 # input filename
326+ _gen_fname_opts = {}
326327 if isdefined (self .inputs .out_basename ):
327- basefile = self .inputs .out_basename
328+ _gen_fname_opts ['basename' ] = self .inputs .out_basename
329+ _gen_fname_opts ['cwd' ] = os .getcwd ()
328330 else :
329- basefile = self .inputs .in_files [- 1 ]
331+ _gen_fname_opts ['basename' ] = self .inputs .in_files [- 1 ]
332+ _gen_fname_opts ['cwd' ], _ , _ = split_filename (_gen_fname_opts ['basename' ])
330333
331- outputs ['tissue_class_map' ] = self ._gen_fname (basefile , suffix = '_seg' )
334+ outputs ['tissue_class_map' ] = self ._gen_fname (suffix = '_seg' , ** _gen_fname_opts )
332335 if self .inputs .segments :
333336 outputs ['tissue_class_files' ] = []
334337 for i in range (nclasses ):
335338 outputs ['tissue_class_files' ].append (
336- self ._gen_fname (basefile , suffix = '_seg_%d' % i ))
339+ self ._gen_fname (suffix = '_seg_%d' % i , ** _gen_fname_opts ))
337340 if isdefined (self .inputs .output_biascorrected ):
338341 outputs ['restored_image' ] = []
339342 if len (self .inputs .in_files ) > 1 :
@@ -342,22 +345,21 @@ def _list_outputs(self):
342345 for val , f in enumerate (self .inputs .in_files ):
343346 # image numbering is 1-based
344347 outputs ['restored_image' ].append (
345- self ._gen_fname (basefile ,
346- suffix = '_restore_%d' % (val + 1 )))
348+ self ._gen_fname (suffix = '_restore_%d' % (val + 1 ), ** _gen_fname_opts ))
347349 else :
348350 # single image segmentation has unnumbered output image
349351 outputs ['restored_image' ].append (
350- self ._gen_fname (basefile , suffix = '_restore' ))
352+ self ._gen_fname (suffix = '_restore' , ** _gen_fname_opts ))
351353
352- outputs ['mixeltype' ] = self ._gen_fname (basefile , suffix = '_mixeltype' )
354+ outputs ['mixeltype' ] = self ._gen_fname (suffix = '_mixeltype' , ** _gen_fname_opts )
353355 if not self .inputs .no_pve :
354356 outputs ['partial_volume_map' ] = self ._gen_fname (
355- basefile , suffix = '_pveseg' )
357+ suffix = '_pveseg' , ** _gen_fname_opts )
356358 outputs ['partial_volume_files' ] = []
357359 for i in range (nclasses ):
358360 outputs [
359361 'partial_volume_files' ].append (
360- self ._gen_fname (basefile , suffix = '_pve_%d' % i ))
362+ self ._gen_fname (suffix = '_pve_%d' % i , ** _gen_fname_opts ))
361363 if self .inputs .output_biasfield :
362364 outputs ['bias_field' ] = []
363365 if len (self .inputs .in_files ) > 1 :
@@ -366,18 +368,17 @@ def _list_outputs(self):
366368 for val , f in enumerate (self .inputs .in_files ):
367369 # image numbering is 1-based
368370 outputs ['bias_field' ].append (
369- self ._gen_fname (basefile ,
370- suffix = '_bias_%d' % (val + 1 )))
371+ self ._gen_fname (suffix = '_bias_%d' % (val + 1 ), ** _gen_fname_opts ))
371372 else :
372373 # single image segmentation has unnumbered output image
373374 outputs ['bias_field' ].append (
374- self ._gen_fname (basefile , suffix = '_bias' ))
375+ self ._gen_fname (suffix = '_bias' , ** _gen_fname_opts ))
375376
376377 if self .inputs .probability_maps :
377378 outputs ['probability_maps' ] = []
378379 for i in range (nclasses ):
379380 outputs ['probability_maps' ].append (
380- self ._gen_fname (basefile , suffix = '_prob_%d' % i ))
381+ self ._gen_fname (suffix = '_prob_%d' % i , ** _gen_fname_opts ))
381382 return outputs
382383
383384
0 commit comments