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