From 1c4fc7f796924fce863fa2548d55c1916b130c6c Mon Sep 17 00:00:00 2001
From: Daniel Toyra <dtoyra@star.sr.bham.ac.uk>
Date: Thu, 14 Apr 2016 19:22:17 +0100
Subject: [PATCH] Fixed some Python2 --> Python3 related issues: range is a
 list in 2, while a range in 3.

---
 pykat/optics/maps.py | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/pykat/optics/maps.py b/pykat/optics/maps.py
index 3ea4b36..6cb55e8 100644
--- a/pykat/optics/maps.py
+++ b/pykat/optics/maps.py
@@ -594,7 +594,10 @@ class surfacemap(object):
             nVals = range(0,n+1)
             for k in nVals:
                 mVals.append(range(-k,k+1,2))
-        elif isinstance(m,list):
+        elif isinstance(m, list):
+            nVals = range(n,n+1)
+            mVals.append(m)
+        elif isinstance(m, range):
             nVals = range(n,n+1)
             mVals.append(m)
         elif isinstance(m,int):
@@ -1368,7 +1371,12 @@ class surfacemap(object):
         rho, phi= self.createPolarGrid()
         rho = rho/R
 
-        if isinstance(m,list):
+        if isinstance(m, list):
+            for k in range(len(m)):
+                Z = zernike(m[k], n, rho, phi)
+                self.data[self.notNan] = self.data[self.notNan]-A[k]*Z[self.notNan]
+                self.zernikeRemoved = (m[k], n, A[k])
+        elif isinstance(m, range):
             for k in range(len(m)):
                 Z = zernike(m[k], n, rho, phi)
                 self.data[self.notNan] = self.data[self.notNan]-A[k]*Z[self.notNan]
-- 
GitLab