summaryrefslogtreecommitdiffstats
path: root/python/astra/optomo.py
diff options
context:
space:
mode:
authorWillem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>2015-09-16 15:52:30 +0200
committerWillem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>2015-09-16 15:52:40 +0200
commit8144bf0397ee1913b830d82058ccd40df741f1b3 (patch)
tree7f707615c104621226fd8bdd868f86aee8e5bd73 /python/astra/optomo.py
parent47b520d51fc4fc49db992b9117f6c0abfa8152b5 (diff)
parentc1713c00c4aeae594913667d868106e8591dd1d1 (diff)
downloadastra-8144bf0397ee1913b830d82058ccd40df741f1b3.tar.gz
astra-8144bf0397ee1913b830d82058ccd40df741f1b3.tar.bz2
astra-8144bf0397ee1913b830d82058ccd40df741f1b3.tar.xz
astra-8144bf0397ee1913b830d82058ccd40df741f1b3.zip
Merge branch 'master'
Diffstat (limited to 'python/astra/optomo.py')
-rw-r--r--python/astra/optomo.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/python/astra/optomo.py b/python/astra/optomo.py
index 0108674..4a64150 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:
@@ -189,6 +197,11 @@ class OpTomoTranspose(scipy.sparse.linalg.LinearOperator):
self.parent = parent
self.dtype = np.float32
self.shape = (parent.shape[1], parent.shape[0])
+ try:
+ self.T = self.parent
+ except AttributeError:
+ # Scipy >= 0.16 defines self.T using self._transpose()
+ pass
def _matvec(self, s):
return self.parent.rmatvec(s)
@@ -196,6 +209,9 @@ class OpTomoTranspose(scipy.sparse.linalg.LinearOperator):
def rmatvec(self, v):
return self.parent.matvec(v)
+ def _transpose(self):
+ return self.parent
+
def __mul__(self,s):
# Catch the case of a backprojection of 2D/3D data
if isinstance(s, np.ndarray) and s.shape==self.parent.sshape: