changeset 31:063e1e847d95 draft

"planemo upload for repository https://github.com/rolfverberg/galaxytools commit bd7bbc4facb864b77e56b8c22bcbb497d1815e95"
author rv43
date Mon, 18 Apr 2022 21:54:56 +0000
parents c4a90d5b1ed2
children b1f92b63f84c
files tomo.py
diffstat 1 files changed, 10 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/tomo.py	Mon Apr 18 21:40:06 2022 +0000
+++ b/tomo.py	Mon Apr 18 21:54:56 2022 +0000
@@ -1183,7 +1183,6 @@
         center = sinogram.shape[1]/2
 
         # try automatic center finding routines for initial value
-        #num_core=1
         tomo_center = tomopy.find_center_vo(sinogram, ncore=num_core)
         center_offset_vo = tomo_center-center
         if self.test_mode:
@@ -1301,6 +1300,7 @@
         # RV should we remove rings?
         # https://tomopy.readthedocs.io/en/latest/api/tomopy.misc.corr.html
         # RV: Add an option to do (extra) secondary iterations later or to do some sort of convergence test?
+        print(f'OK AA row_bounds = {row_bounds}')
         if row_bounds is None:
             row_bounds = [0, tomo_stack.shape[0]]
         else:
@@ -1318,15 +1318,18 @@
                 raise ValueError('center_offsets dimension mismatch in reconstructOneTomoStack')
             centers = center_offsets
         centers += tomo_stack.shape[2]/2
+        print(f'num_core = {num_core}')
+        print(f'thetas = {thetas}')
+        print(f'centers = {centers}')
         if True:
             tomo_stack = tomopy.prep.stripe.remove_stripe_fw(
                     tomo_stack[row_bounds[0]:row_bounds[1]], sigma=sigma, ncore=num_core)
         else:
             tomo_stack = tomo_stack[row_bounds[0]:row_bounds[1]]
-        print('OK AA')
+        print('OK BB')
         tomo_recon_stack = tomopy.recon(tomo_stack, thetas, centers, sinogram_order=True,
                 algorithm=algorithm, ncore=num_core)
-        print('OK BB')
+        print('OK CC')
         if run_secondary_sirt and secondary_iter > 0:
             #options = {'method':'SIRT_CUDA', 'proj_type':'cuda', 'num_iter':secondary_iter}
             #RV: doesn't work for me: "Error: CUDA error 803: system has unsupported display driver /
@@ -1339,7 +1342,7 @@
             tomo_recon_stack  = tomopy.recon(tomo_stack, thetas, centers,
                     init_recon=tomo_recon_stack, options=options, sinogram_order=True,
                     algorithm=tomopy.astra, ncore=num_core)
-        print('OK CC')
+        print('OK DD')
         if True:
             tomopy.misc.corr.remove_ring(tomo_recon_stack, rwidth=rwidth, out=tomo_recon_stack,
                     ncore=num_core)
@@ -1456,6 +1459,7 @@
         """
         if num_core is None:
             num_core = self.num_core
+        logging.info(f'num_core = {self.num_core}')
         # Try loading any already preprocessed stacks (skip in Galaxy)
         # preprocessed stack order for each one in stack: row,theta,column
         stack_info = self.config['stack_info']
@@ -1539,6 +1543,7 @@
         """
         if num_core is None:
             num_core = self.num_core
+        logging.info(f'num_core = {self.num_core}')
         logging.debug('Find centers for tomography stacks')
         stacks = self.config['stack_info']['stacks']
         available_stacks = [stack['index'] for stack in stacks if stack.get('preprocessed', False)]
@@ -1890,6 +1895,7 @@
         """
         if num_core is None:
             num_core = self.num_core
+        logging.info(f'num_core = {self.num_core}')
         if self.galaxy_flag:
             assert(galaxy_param)
             if not os.path.exists('center_slice_pngs'):
@@ -1990,13 +1996,11 @@
             center_offsets = [lower_center_offset-lower_row*center_slope,
                     upper_center_offset+(self.tomo_stacks[i].shape[0]-1-upper_row)*center_slope]
             t0 = time()
-            num_core = 1
             print(f'OK4 {i} c')
             self.tomo_recon_stacks[i]= self._reconstructOneTomoStack(self.tomo_stacks[i],
                     thetas, center_offsets=center_offsets, sigma=0.1, num_core=num_core,
                     algorithm='gridrec', run_secondary_sirt=True, secondary_iter=25)
             print(f'OK4 {i} d')
-            exit('Done')
             logging.info(f'Reconstruction of stack {index} took {time()-t0:.2f} seconds!')
             if self.galaxy_flag:
                 x_slice = int(self.tomo_stacks[i].shape[0]/2)