From 12b5e7830834c85dd61b5f3361d666bf7dce5d13 Mon Sep 17 00:00:00 2001 From: Daniel Brown <ddb@star.sr.bham.ac.uk> Date: Wed, 26 Nov 2014 17:04:46 +0000 Subject: [PATCH] fixing squeezing of output arrays --- pykat/finesse.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/pykat/finesse.py b/pykat/finesse.py index 877eaba..2036863 100644 --- a/pykat/finesse.py +++ b/pykat/finesse.py @@ -182,21 +182,24 @@ class katRun(object): def __getitem__(self, value): idx = [i for i in range(len(self.ylabels)) if self.ylabels[i].split()[0] == str(value)] - if len(idx) > 0: out = self.y[:, idx] - if self.yaxis == "abs:deg": - out = self.y[:, idx[0]] * np.exp(1j*math.pi*self.y[:, idx[1]]/180.0) - elif self.yaxis == "re:im": - out = self.y[:, idx[0]] + 1j*self.y[:, idx[1]] - - out.squeeze() + if len(idx) == 1: + if self.yaxis == "abs:deg": + out = self.y[:, idx[0]] + elif self.yaxis == "re:im": + out = self.y[:, idx[0]] + else: + if self.yaxis == "abs:deg": + out = self.y[:, idx[0]] * np.exp(1j*math.pi*self.y[:, idx[1]]/180.0) + elif self.yaxis == "re:im": + out = self.y[:, idx[0]] + 1j*self.y[:, idx[1]] if out.size == 1: - return out[0] + return out[0].squeeze() else: - return out + return out.squeeze() else: raise pkex.BasePyKatException("No output by the name '{0}' found in the output".format(str(value))) -- GitLab