From 43155c03488ca98c24f8f369e5c8699efa20cca3 Mon Sep 17 00:00:00 2001
From: "Daniel M. Pelt" <D.M.Pelt@cwi.nl>
Date: Thu, 30 Jul 2015 15:28:16 +0200
Subject: Fix Python OpTomo for scipy 0.16

scipy 0.16 also uses .T to define a transpose, which conflicts
with the old OpTomo implementation. OpTomo now also defines the
_transpose() method, which .T will call in scipy 0.16.
---
 python/astra/optomo.py | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

(limited to 'python/astra')

diff --git a/python/astra/optomo.py b/python/astra/optomo.py
index 0108674..19b07e3 100644
--- a/python/astra/optomo.py
+++ b/python/astra/optomo.py
@@ -86,7 +86,15 @@ class OpTomo(scipy.sparse.linalg.LinearOperator):
 
         self.proj_id = proj_id
 
-        self.T = OpTomoTranspose(self)
+        self.transposeOpTomo = OpTomoTranspose(self)
+        try:
+            self.T = self.transposeOpTomo
+        except AttributeError:
+            # Scipy >= 0.16 defines self.T using self._transpose()
+            pass
+
+    def _transpose(self):
+        return self.transposeOpTomo
 
     def __checkArray(self, arr, shp):
         if len(arr.shape)==1:
-- 
cgit v1.2.3