comparison tomo.py @ 11:ec7c3e84d611 draft

"planemo upload for repository https://github.com/rolfverberg/galaxytools commit 6d01e142af3a0daad7ab37d4ff02d0f1797057a7"
author rv43
date Fri, 08 Apr 2022 16:39:07 +0000
parents 845270a96464
children 40395e60d2be
comparison
equal deleted inserted replaced
10:e3c8a96d2f67 11:ec7c3e84d611
1147 del recon_sinogram 1147 del recon_sinogram
1148 recon_clean = tomopy.misc.corr.remove_ring(recon_clean, rwidth=17, ncore=num_core) 1148 recon_clean = tomopy.misc.corr.remove_ring(recon_clean, rwidth=17, ncore=num_core)
1149 logging.debug(f'filtering and removing ring artifact took {time()-t0:.2f} seconds!') 1149 logging.debug(f'filtering and removing ring artifact took {time()-t0:.2f} seconds!')
1150 return recon_clean 1150 return recon_clean
1151 1151
1152 def _plotEdgesOnePlane(self, recon_plane, title, name=None, weight=0.001): 1152 def _plotEdgesOnePlane(self, recon_plane, title, path=None, name=None, weight=0.001):
1153 # RV parameters for the denoise, gaussian, and ring removal will be different for different feature sizes 1153 # RV parameters for the denoise, gaussian, and ring removal will be different for different feature sizes
1154 edges = denoise_tv_chambolle(recon_plane, weight = weight) 1154 edges = denoise_tv_chambolle(recon_plane, weight = weight)
1155 vmax = np.max(edges[0,:,:]) 1155 vmax = np.max(edges[0,:,:])
1156 vmin = -vmax 1156 vmin = -vmax
1157 if self.galaxy_flag: 1157 if self.galaxy_flag:
1158 msnc.quickImshow(edges[0,:,:], title, name=name, save_fig=True, save_only=True, 1158 msnc.quickImshow(edges[0,:,:], title, path=path, name=name, save_fig=True,
1159 cmap='gray', vmin=vmin, vmax=vmax) 1159 save_only=True, cmap='gray', vmin=vmin, vmax=vmax)
1160 else: 1160 else:
1161 msnc.quickImshow(edges[0,:,:], f'{title} coolwarm', path=self.output_folder, 1161 if path is None:
1162 path=self.output_folder
1163 msnc.quickImshow(edges[0,:,:], f'{title} coolwarm', path=path,
1162 save_fig=self.save_plots, save_only=self.save_plots_only, cmap='coolwarm') 1164 save_fig=self.save_plots, save_only=self.save_plots_only, cmap='coolwarm')
1163 msnc.quickImshow(edges[0,:,:], f'{title} gray', path=self.output_folder, 1165 msnc.quickImshow(edges[0,:,:], f'{title} gray', path=path,
1164 save_fig=self.save_plots, save_only=self.save_plots_only, cmap='gray', 1166 save_fig=self.save_plots, save_only=self.save_plots_only, cmap='gray',
1165 vmin=vmin, vmax=vmax) 1167 vmin=vmin, vmax=vmax)
1166 del edges 1168 del edges
1167 1169
1168 def _findCenterOnePlane(self, sinogram, row, thetas_deg, eff_pixel_size, cross_sectional_dim, 1170 def _findCenterOnePlane(self, sinogram, row, thetas_deg, eff_pixel_size, cross_sectional_dim,
1228 del sinogram_T 1230 del sinogram_T
1229 del recon_plane 1231 del recon_plane
1230 return float(center_offset) 1232 return float(center_offset)
1231 1233
1232 # perform center finding search 1234 # perform center finding search
1235 if self.galaxy_flag and not os.path.exists('png_files'):
1236 os.mkdir('png_files')
1233 while True: 1237 while True:
1234 if self.galaxy_flag and galaxy_param and galaxy_param['center_type_selector']: 1238 if self.galaxy_flag and galaxy_param and galaxy_param['center_type_selector']:
1235 set_center = center_offset_vo 1239 set_center = center_offset_vo
1236 if galaxy_param['center_type_selector'] == 'user': 1240 if galaxy_param['center_type_selector'] == 'user':
1237 set_center = galaxy_param['set_center'] 1241 set_center = galaxy_param['set_center']
1264 continue 1268 continue
1265 logging.info(f'center_offset = {center_offset:.2f}') 1269 logging.info(f'center_offset = {center_offset:.2f}')
1266 recon_plane = self._reconstructOnePlane(sinogram_T, center_offset+center, 1270 recon_plane = self._reconstructOnePlane(sinogram_T, center_offset+center,
1267 thetas_deg, eff_pixel_size, cross_sectional_dim, False, num_core) 1271 thetas_deg, eff_pixel_size, cross_sectional_dim, False, num_core)
1268 title = f'edges row{row} center_offset{center_offset:.2f}' 1272 title = f'edges row{row} center_offset{center_offset:.2f}'
1269 self._plotEdgesOnePlane(recon_plane, title) 1273 if self.galaxy_flag:
1274 self._plotEdgesOnePlane(recon_plane, title, path='png_files')
1275 else:
1276 self._plotEdgesOnePlane(recon_plane, title)
1270 if self.galaxy_flag or pyip.inputInt('\nContinue (0) or end the search (1): ', 1277 if self.galaxy_flag or pyip.inputInt('\nContinue (0) or end the search (1): ',
1271 min=0, max=1): 1278 min=0, max=1):
1272 break 1279 break
1273 1280
1274 del sinogram_T 1281 del sinogram_T