From b7773ded56466ebf6f20c76db601e0a1e7b430bb Mon Sep 17 00:00:00 2001 From: "Christopher J. Markiewicz" Date: Wed, 19 Sep 2018 11:02:58 -0400 Subject: [PATCH] FIX: Return afni.Qwarp outputs as absolute paths --- nipype/interfaces/afni/preprocess.py | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/nipype/interfaces/afni/preprocess.py b/nipype/interfaces/afni/preprocess.py index e5528ec102..edb3e01c1a 100644 --- a/nipype/interfaces/afni/preprocess.py +++ b/nipype/interfaces/afni/preprocess.py @@ -3596,31 +3596,41 @@ def _list_outputs(self): else: ext = prefix[ext_ind:] suffix = '' + + # All outputs should be in the same directory as the prefix + out_dir = os.path.dirname(os.path.abspath(prefix)) + outputs['warped_source'] = fname_presuffix( - prefix, suffix=suffix, use_ext=False) + ext + prefix, suffix=suffix, use_ext=False, newpath=out_dir) + ext if not self.inputs.nowarp: outputs['source_warp'] = fname_presuffix( - prefix, suffix='_WARP' + suffix, use_ext=False) + ext + prefix, suffix='_WARP' + suffix, use_ext=False, + newpath=out_dir) + ext if self.inputs.iwarp: outputs['base_warp'] = fname_presuffix( - prefix, suffix='_WARPINV' + suffix, use_ext=False) + ext + prefix, suffix='_WARPINV' + suffix, use_ext=False, + newpath=out_dir) + ext if isdefined(self.inputs.out_weight_file): outputs['weights'] = os.path.abspath(self.inputs.out_weight_file) if self.inputs.plusminus: outputs['warped_source'] = fname_presuffix( - prefix, suffix='_PLUS' + suffix, use_ext=False) + ext + prefix, suffix='_PLUS' + suffix, use_ext=False, + newpath=out_dir) + ext outputs['warped_base'] = fname_presuffix( - prefix, suffix='_MINUS' + suffix, use_ext=False) + ext + prefix, suffix='_MINUS' + suffix, use_ext=False, + newpath=out_dir) + ext outputs['source_warp'] = fname_presuffix( - prefix, suffix='_PLUS_WARP' + suffix, use_ext=False) + ext + prefix, suffix='_PLUS_WARP' + suffix, use_ext=False, + newpath=out_dir) + ext outputs['base_warp'] = fname_presuffix( - prefix, suffix='_MINUS_WARP' + suffix, use_ext=False) + ext + prefix, suffix='_MINUS_WARP' + suffix, use_ext=False, + newpath=out_dir) + ext return outputs def _gen_filename(self, name): if name == 'out_file': - return self._gen_fname(self.inputs.source_file, suffix='_QW') + return self._gen_fname(self.inputs.in_file, suffix='_QW') class QwarpPlusMinusInputSpec(QwarpInputSpec):