From 493d4fe58d74c8027213ec1f409bc853d90a3282 Mon Sep 17 00:00:00 2001
From: "Jakob Jorgensen, WS at HMXIF" <jakob.jorgensen@manchester.ac.uk>
Date: Fri, 26 Apr 2019 16:50:39 +0100
Subject: Add/remove new/old methods in operators

---
 .../ccpi/astra/operators/AstraProjector3DSimple.py | 26 +++++---------
 .../ccpi/astra/operators/AstraProjectorMC.py       | 41 +---------------------
 .../ccpi/astra/operators/AstraProjectorSimple.py   |  1 -
 3 files changed, 10 insertions(+), 58 deletions(-)

(limited to 'Wrappers')

diff --git a/Wrappers/Python/ccpi/astra/operators/AstraProjector3DSimple.py b/Wrappers/Python/ccpi/astra/operators/AstraProjector3DSimple.py
index 3240ee4..606bce6 100644
--- a/Wrappers/Python/ccpi/astra/operators/AstraProjector3DSimple.py
+++ b/Wrappers/Python/ccpi/astra/operators/AstraProjector3DSimple.py
@@ -16,7 +16,6 @@
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 from ccpi.optimisation.operators import Operator, LinearOperator
-import numpy
 from ccpi.framework import AcquisitionData, ImageData, DataContainer
 from ccpi.optimisation.ops import PowerMethodNonsquare
 from ccpi.astra.processors import AstraForwardProjector, AstraBackProjector, \
@@ -52,24 +51,17 @@ class AstraProjector3DSimple(LinearOperator):
         out = self.bp.get_output()
         return out
     
-    #def delete(self):
-    #    astra.data2d.delete(self.proj_id)
-    
     def get_max_sing_val(self):
         self.s1, sall, svec = PowerMethodNonsquare(self,10)
         return self.s1
     
-    def size(self):
-        # Only implemented for 2D
-        return ( (self.sinogram_geometry.angles.size, \
-                  self.sinogram_geometry.pixel_num_h, \
-                  self.sinogram_geometry.pixel_num_v,), \
-                 (self.volume_geometry.voxel_num_x, \
-                  self.volume_geometry.voxel_num_y, \
-                  self.volume_geometry.voxel_num_z) )
+    def domain_geometry(self):
+        return self.volume_geometry
+    
+    def range_geometry(self):
+        return self.sinogram_geometry  
     
-    def create_image_data(self):
-        inputsize = self.size()[1]
-        return DataContainer(numpy.random.randn(inputsize[2],
-                                                inputsize[1],
-                                                inputsize[0]))
\ No newline at end of file
+    def norm(self):
+        x0 = self.volume_geometry.allocate('random')
+        self.s1, sall, svec = PowerMethodNonsquare(self, 50, x0)
+        return self.s1
\ No newline at end of file
diff --git a/Wrappers/Python/ccpi/astra/operators/AstraProjectorMC.py b/Wrappers/Python/ccpi/astra/operators/AstraProjectorMC.py
index 51f51ca..a6993ba 100644
--- a/Wrappers/Python/ccpi/astra/operators/AstraProjectorMC.py
+++ b/Wrappers/Python/ccpi/astra/operators/AstraProjectorMC.py
@@ -42,18 +42,7 @@ class AstraProjectorMC(LinearOperator):
                                         device=device)
                 
         # Initialise empty for singular value.
-        self.s1 = None
-    
-#    def direct(self, IM):
-#        self.fp.set_input(IM)
-#        out = self.fp.get_output()
-#        return out
-#    
-#    def adjoint(self, DATA):
-#        self.bp.set_input(DATA)
-#        out = self.bp.get_output()
-#        return out
-    
+        self.s1 = None    
     
     def direct(self, IM, out=None):
         self.fp.set_input(IM)
@@ -71,33 +60,6 @@ class AstraProjectorMC(LinearOperator):
         else:
             out.fill(self.bp.get_output())    
     
-    #def delete(self):
-    #    astra.data2d.delete(self.proj_id)
-    
-#    def get_max_sing_val(self):
-#        if self.s1 is None:
-#            self.s1, sall, svec = PowerMethodNonsquare(self,10)
-#            return self.s1
-#        else:
-#            return self.s1
-#    
-#    def size(self):
-#        # Only implemented for 2D
-#        return ( (self.sinogram_geometry.angles.size, \
-#                  self.sinogram_geometry.pixel_num_h), \
-#                 (self.volume_geometry.voxel_num_x, \
-#                  self.volume_geometry.voxel_num_y) )
-#    
-#    def create_image_data(self):
-#        inputsize = self.size()[1]
-#        return DataContainer(numpy.random.randn(self.volume_geometry.channels,
-#                                                inputsize[0],
-#                                                inputsize[1]))
-        
-#    def allocate_direct(self):
-#        return self.create_image_data()def domain_geometry(self):
-#        return self.volume_geometry
-    
     def domain_geometry(self):
         return self.volume_geometry
     
@@ -105,7 +67,6 @@ class AstraProjectorMC(LinearOperator):
         return self.sinogram_geometry    
     
     def norm(self):
-
         x0 = self.volume_geometry.allocate('random')
         self.s1, sall, svec = PowerMethodNonsquare(self, 50, x0)
         return self.s1
diff --git a/Wrappers/Python/ccpi/astra/operators/AstraProjectorSimple.py b/Wrappers/Python/ccpi/astra/operators/AstraProjectorSimple.py
index b459e82..71bc3c6 100644
--- a/Wrappers/Python/ccpi/astra/operators/AstraProjectorSimple.py
+++ b/Wrappers/Python/ccpi/astra/operators/AstraProjectorSimple.py
@@ -65,7 +65,6 @@ class AstraProjectorSimple(LinearOperator):
         return self.sinogram_geometry    
     
     def norm(self):
-
         x0 = self.volume_geometry.allocate('random')
         self.s1, sall, svec = PowerMethodNonsquare(self, 50, x0)
         return self.s1
\ No newline at end of file
-- 
cgit v1.2.3