diff --git a/CHANGES b/CHANGES index c69b13e672..933b22cb25 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,7 @@ Upcoming release (0.14.1) -================ +========================= +* FIX: Robustly handled outputs of 3dFWHMx across different versions of AFNI (https://github.com/nipy/nipype/pull/2373) * FIX: Cluster threshold in randomise + change default prefix (https://github.com/nipy/nipype/pull/2369) * MAINT: Cleaning / simplify ``Node`` (https://github.com/nipy/nipype/pull/#2325) diff --git a/nipype/interfaces/afni/utils.py b/nipype/interfaces/afni/utils.py index 8ddc340858..5b5dc79d7f 100644 --- a/nipype/interfaces/afni/utils.py +++ b/nipype/interfaces/afni/utils.py @@ -1315,15 +1315,21 @@ def _list_outputs(self): outputs['out_detrend'] = Undefined sout = np.loadtxt(outputs['out_file']) #pylint: disable=E1101 + + # handle newer versions of AFNI + if sout.size == 8: + outputs['fwhm'] = tuple(sout[0, :]) + else: + outputs['fwhm'] = tuple(sout) + if self._acf: + assert sout.size == 8, "Wrong number of elements in %s" % str(sout) outputs['acf_param'] = tuple(sout[1]) - sout = tuple(sout[0]) outputs['out_acf'] = op.abspath('3dFWHMx.1D') if isinstance(self.inputs.acf, (str, bytes)): outputs['out_acf'] = op.abspath(self.inputs.acf) - outputs['fwhm'] = tuple(sout) return outputs