changeset 27:9d631a5e118f draft

"planemo upload for repository https://github.com/rolfverberg/galaxytools commit aa8c5847f708ec917089859955382dfe3e82567e"
author rv43
date Mon, 18 Apr 2022 21:18:05 +0000
parents 7791b6e7d4e6
children c7211931fc99
files tomo.py
diffstat 1 files changed, 14 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/tomo.py	Mon Apr 18 20:54:59 2022 +0000
+++ b/tomo.py	Mon Apr 18 21:18:05 2022 +0000
@@ -1184,10 +1184,9 @@
 
         # try automatic center finding routines for initial value
         num_core=1
-        print(f'OK2 numcore = {num_core}')
+        #tomo_center = tomopy.find_center_vo(sinogram, ncore=1)
         tomo_center = tomopy.find_center_vo(sinogram, ncore=num_core)
         center_offset_vo = tomo_center-center
-        print(f'center_offset_vo = {center_offset_vo}')
         if self.test_mode:
             logging.info(f'Center at row {row} using Nghia Vo’s method = {center_offset_vo:.2f}')
             del sinogram_T
@@ -1199,7 +1198,6 @@
             title = f'edges row{row} center offset{center_offset_vo:.2f} Vo'
             self._plotEdgesOnePlane(recon_plane, title, path='find_center_pngs')
             del recon_plane
-            print(f'center_type_selector = {galaxy_param["center_type_selector"]}')
             if not galaxy_param['center_type_selector']:
                 del sinogram_T
                 return float(center_offset_vo)
@@ -1267,7 +1265,6 @@
                             min=1, max=center_offset_upp-center_offset_low)
             num_center_offset = 1+int((center_offset_upp-center_offset_low)/center_offset_step)
             center_offsets = np.linspace(center_offset_low, center_offset_upp, num_center_offset)
-            print(f'center_offsets = {center_offsets}')
             for center_offset in center_offsets:
                 if center_offset == center_offset_vo:
                     continue
@@ -1279,7 +1276,6 @@
                     self._plotEdgesOnePlane(recon_plane, title, path='find_center_pngs')
                 else:
                     self._plotEdgesOnePlane(recon_plane, title)
-            print('OK3')
             if self.galaxy_flag or pyip.inputInt('\nContinue (0) or end the search (1): ',
                     min=0, max=1):
                 break
@@ -1740,8 +1736,8 @@
                     if msnc.is_num(center_offset):
                         use_center = pyip.inputYesNo('Current lower center offset = '+
                                 f'{center_offset}, use this value ([y]/n)? ', blank=True)
-        logging.info(f'use_center = {use_center}')
-        logging.info(f'use_row = {use_row}')
+        #logging.info(f'use_center = {use_center}')
+        #logging.info(f'use_row = {use_row}')
         if use_center == 'no':
             if use_row == 'no':
                 if not self.test_mode:
@@ -1787,8 +1783,8 @@
                     if msnc.is_num(center_offset):
                         use_center = pyip.inputYesNo('Current upper center offset = '+
                                 f'{center_offset}, use this value ([y]/n)? ', blank=True)
-        logging.info(f'use_center = {use_center}')
-        logging.info(f'use_row = {use_row}')
+        #logging.info(f'use_center = {use_center}')
+        #logging.info(f'use_row = {use_row}')
         if use_center == 'no':
             if use_row == 'no':
                 if not self.test_mode:
@@ -1901,6 +1897,7 @@
         assert(len(self.tomo_stacks) == self.config['stack_info']['num'])
         assert(len(self.tomo_stacks) == len(stacks))
         assert(len(self.tomo_recon_stacks) == len(stacks))
+        print('OK1')
         if self.galaxy_flag:
             assert(isinstance(galaxy_param, dict))
             # Get rotation axis centers
@@ -1918,6 +1915,7 @@
             upper_center_offset = None
 
         # Get rotation axis rows and centers
+        print('OK2')
         find_center = self.config['find_center']
         lower_row = find_center.get('lower_row')
         if lower_row is None:
@@ -1951,6 +1949,7 @@
                 int(num_theta/(num_theta_skip+1)), endpoint=False))
 
         # Reconstruct tomo stacks
+        print('OK3')
         zoom_perc = self.config['preprocess'].get('zoom_perc', 100)
         if zoom_perc == 100:
             basetitle = 'recon stack fullres'
@@ -1963,6 +1962,7 @@
             # reconstructed stack order for each one in stack : row/z,x,y
             # preprocessed stack order for each one in stack: row,theta,column
             index = stack['index']
+            print(f'OK4 {i} a')
             if not self.galaxy_flag:
                 available = False
                 if stack.get('reconstructed', False):
@@ -1973,6 +1973,7 @@
                     assert(stack.get('preprocessed', False) == True)
                     assert(stack.get('reconstructed', False) == True)
                     continue
+            print(f'OK4 {i} b')
             stack['reconstructed'] = False
             if not self.tomo_stacks[i].size:
                 self.tomo_stacks[i], available = self._loadTomo('red stack', index,
@@ -1990,6 +1991,7 @@
                     thetas, center_offsets=center_offsets, sigma=0.1, num_core=num_core,
                     algorithm='gridrec', run_secondary_sirt=True, secondary_iter=25)
             logging.info(f'Reconstruction of stack {index} took {time()-t0:.2f} seconds!')
+            print(f'OK4 {i} c')
             if self.galaxy_flag:
                 x_slice = int(self.tomo_stacks[i].shape[0]/2) 
                 title = f'{basetitle} {index} xslice{x_slice}'
@@ -2023,8 +2025,10 @@
             if combine_stacks and index in combine_stacks.get('stacks', []):
                 combine_stacks['stacks'].remove(index)
             self.cf.saveFile(self.config_out)
+            print(f'OK4 {i} d')
 
         # Save reconstructed tomography stack to file
+        print('OK5')
         if self.galaxy_flag:
             t0 = time()
             output_name = galaxy_param['output_name']
@@ -2033,6 +2037,7 @@
                     for stack,tomo_stack in zip(stacks,self.tomo_recon_stacks)}
             np.savez(output_name, **save_stacks)
             logging.info(f'... done in {time()-t0:.2f} seconds!')
+        print('OK6')
 
     def combineTomoStacks(self):
         """Combine the reconstructed tomography stacks.