Mercurial > repos > rv43 > tomo
comparison tomo.py @ 43:0b9ce9489ecc draft
"planemo upload for repository https://github.com/rolfverberg/galaxytools commit 006ce85b82c2f8eb386cb1648803d7768016c067"
| author | rv43 |
|---|---|
| date | Thu, 21 Apr 2022 16:12:21 +0000 |
| parents | ef5c2f7b49ec |
| children | 0ac719053d6f |
comparison
equal
deleted
inserted
replaced
| 42:009d2d45ac79 | 43:0b9ce9489ecc |
|---|---|
| 834 if img_x_bounds[0] is not None and img_x_bounds[1] is not None: | 834 if img_x_bounds[0] is not None and img_x_bounds[1] is not None: |
| 835 tmp = np.copy(tomo_stack[0,:,:]) | 835 tmp = np.copy(tomo_stack[0,:,:]) |
| 836 tmp_max = tmp.max() | 836 tmp_max = tmp.max() |
| 837 tmp[img_x_bounds[0],:] = tmp_max | 837 tmp[img_x_bounds[0],:] = tmp_max |
| 838 tmp[img_x_bounds[1]-1,:] = tmp_max | 838 tmp[img_x_bounds[1]-1,:] = tmp_max |
| 839 title = f'tomography image at theta={self.config["theta_range"]["start"]}' | |
| 839 msnc.quickImshow(tmp, title=title) | 840 msnc.quickImshow(tmp, title=title) |
| 840 del tmp | 841 del tmp |
| 841 x_sum_min = x_sum.min() | 842 x_sum_min = x_sum.min() |
| 842 x_sum_max = x_sum.max() | 843 x_sum_max = x_sum.max() |
| 843 msnc.quickPlot((range(x_sum.size), x_sum), | 844 msnc.quickPlot((range(x_sum.size), x_sum), |
| 868 if img_x_bounds[0] is not None and img_x_bounds[1] is not None: | 869 if img_x_bounds[0] is not None and img_x_bounds[1] is not None: |
| 869 tmp = np.copy(self.tbf) | 870 tmp = np.copy(self.tbf) |
| 870 tmp_max = tmp.max() | 871 tmp_max = tmp.max() |
| 871 tmp[img_x_bounds[0],:] = tmp_max | 872 tmp[img_x_bounds[0],:] = tmp_max |
| 872 tmp[img_x_bounds[1]-1,:] = tmp_max | 873 tmp[img_x_bounds[1]-1,:] = tmp_max |
| 873 title = 'Bright field' | 874 title = 'bright field' |
| 874 msnc.quickImshow(tmp, title=title) | 875 msnc.quickImshow(tmp, title=title) |
| 875 del tmp | 876 del tmp |
| 876 msnc.quickPlot((range(x_sum.size), x_sum), | 877 msnc.quickPlot((range(x_sum.size), x_sum), |
| 877 ([img_x_bounds[0], img_x_bounds[0]], [x_sum_min, x_sum_max], 'r-'), | 878 ([img_x_bounds[0], img_x_bounds[0]], [x_sum_min, x_sum_max], 'r-'), |
| 878 ([img_x_bounds[1]-1, img_x_bounds[1]-1], [x_sum_min, x_sum_max], 'r-'), | 879 ([img_x_bounds[1]-1, img_x_bounds[1]-1], [x_sum_min, x_sum_max], 'r-'), |
| 902 x_upp = x_sum.size | 903 x_upp = x_sum.size |
| 903 tmp = np.copy(self.tbf) | 904 tmp = np.copy(self.tbf) |
| 904 tmp_max = tmp.max() | 905 tmp_max = tmp.max() |
| 905 tmp[x_low,:] = tmp_max | 906 tmp[x_low,:] = tmp_max |
| 906 tmp[x_upp-1,:] = tmp_max | 907 tmp[x_upp-1,:] = tmp_max |
| 907 title = 'Bright field' | 908 title = 'bright field' |
| 908 msnc.quickImshow(tmp, title=title) | 909 msnc.quickImshow(tmp, title=title) |
| 909 del tmp | 910 del tmp |
| 910 msnc.quickPlot((range(x_sum.size), x_sum), | 911 msnc.quickPlot((range(x_sum.size), x_sum), |
| 911 ([x_low, x_low], [x_sum_min, x_sum_max], 'r-'), | 912 ([x_low, x_low], [x_sum_min, x_sum_max], 'r-'), |
| 912 ([x_upp, x_upp], [x_sum_min, x_sum_max], 'r-'), | 913 ([x_upp, x_upp], [x_sum_min, x_sum_max], 'r-'), |
| 938 if num_x_min is not None: | 939 if num_x_min is not None: |
| 939 tomo_stack_max = tomo_stack.max() | 940 tomo_stack_max = tomo_stack.max() |
| 940 tomo_stack[img_x_bounds[0],:] = tomo_stack_max | 941 tomo_stack[img_x_bounds[0],:] = tomo_stack_max |
| 941 tomo_stack[img_x_bounds[1]-1,:] = tomo_stack_max | 942 tomo_stack[img_x_bounds[1]-1,:] = tomo_stack_max |
| 942 title = f'tomography image at theta={self.config["theta_range"]["start"]}' | 943 title = f'tomography image at theta={self.config["theta_range"]["start"]}' |
| 943 msnc.quickImshow(tomo_stack, title=title, path='setup_pngs', | 944 if self.galaxy_flag: |
| 944 name=f'tomo_{stack["index"]}.png', save_fig=self.save_plots, save_only=True, | 945 msnc.quickImshow(tomo_stack, title=title, path='setup_pngs', |
| 945 show_grid=True) | 946 name=f'tomo_{stack["index"]}.png', save_fig=True, save_only=True, |
| 947 show_grid=True) | |
| 948 else: | |
| 949 msnc.quickImshow(tomo_stack, title=title, path=self.output_folder, | |
| 950 name=f'tomo_{stack["index"]}.png', save_fig=self.save_plots, | |
| 951 save_only=True, show_grid=True) | |
| 946 del tomo_stack | 952 del tomo_stack |
| 947 logging.debug(f'img_x_bounds: {img_x_bounds}') | 953 logging.debug(f'img_x_bounds: {img_x_bounds}') |
| 948 | 954 |
| 949 if self.save_plots_only: | 955 if self.save_plots_only: |
| 950 msnc.clearFig('bright field') | 956 msnc.clearFig('bright field') |
| 1846 | 1852 |
| 1847 # Lower row center | 1853 # Lower row center |
| 1848 use_row = 'no' | 1854 use_row = 'no' |
| 1849 use_center = 'no' | 1855 use_center = 'no' |
| 1850 row = center_rows[0] | 1856 row = center_rows[0] |
| 1857 print('Ok1') | |
| 1851 if self.test_mode or self.galaxy_flag: | 1858 if self.test_mode or self.galaxy_flag: |
| 1852 assert(msnc.is_int(row, n1, n2-2)) | 1859 assert(msnc.is_int(row, n1, n2-2)) |
| 1860 print('Ok2') | |
| 1853 if msnc.is_int(row, n1, n2-2): | 1861 if msnc.is_int(row, n1, n2-2): |
| 1854 if self.test_mode or self.galaxy_flag: | 1862 if self.test_mode or self.galaxy_flag: |
| 1855 use_row = 'yes' | 1863 use_row = 'yes' |
| 1856 else: | 1864 else: |
| 1857 msnc.quickImshow(center_stack[:,0,:], title=f'theta={theta_start}', aspect='auto') | 1865 msnc.quickImshow(center_stack[:,0,:], title=f'theta={theta_start}', aspect='auto') |
| 1862 if use_row != 'no': | 1870 if use_row != 'no': |
| 1863 center_offset = find_center.get('lower_center_offset') | 1871 center_offset = find_center.get('lower_center_offset') |
| 1864 if msnc.is_num(center_offset): | 1872 if msnc.is_num(center_offset): |
| 1865 use_center = pyip.inputYesNo('Current lower center offset = '+ | 1873 use_center = pyip.inputYesNo('Current lower center offset = '+ |
| 1866 f'{center_offset}, use this value ([y]/n)? ', blank=True) | 1874 f'{center_offset}, use this value ([y]/n)? ', blank=True) |
| 1875 print(f'Ok3 {use_center} {use_row}') | |
| 1867 if use_center == 'no': | 1876 if use_center == 'no': |
| 1868 if use_row == 'no': | 1877 if use_row == 'no': |
| 1869 if not self.test_mode: | 1878 if not self.test_mode: |
| 1870 msnc.quickImshow(center_stack[:,0,:], title=f'theta={theta_start}', | 1879 msnc.quickImshow(center_stack[:,0,:], title=f'theta={theta_start}', |
| 1871 aspect='auto') | 1880 aspect='auto') |
| 1874 if row == '': | 1883 if row == '': |
| 1875 row = n1 | 1884 row = n1 |
| 1876 if self.save_plots_only: | 1885 if self.save_plots_only: |
| 1877 msnc.clearFig(f'theta={theta_start}') | 1886 msnc.clearFig(f'theta={theta_start}') |
| 1878 # center_stack order: row,theta,column | 1887 # center_stack order: row,theta,column |
| 1888 print('Ok4') | |
| 1879 center_offset = self._findCenterOnePlane(center_stack[row,:,:], row, thetas_deg, | 1889 center_offset = self._findCenterOnePlane(center_stack[row,:,:], row, thetas_deg, |
| 1880 eff_pixel_size, cross_sectional_dim, num_core=num_core, | 1890 eff_pixel_size, cross_sectional_dim, num_core=num_core, |
| 1881 galaxy_param=galaxy_param) | 1891 galaxy_param=galaxy_param) |
| 1892 print('Ok5') | |
| 1882 logging.info(f'lower_center_offset = {center_offset:.2f} {type(center_offset)}') | 1893 logging.info(f'lower_center_offset = {center_offset:.2f} {type(center_offset)}') |
| 1894 print('Ok6') | |
| 1883 | 1895 |
| 1884 # Update config and save to file | 1896 # Update config and save to file |
| 1885 find_center['row_bounds'] = [n1, n2] | 1897 find_center['row_bounds'] = [n1, n2] |
| 1886 find_center['lower_row'] = row | 1898 find_center['lower_row'] = row |
| 1887 find_center['lower_center_offset'] = center_offset | 1899 find_center['lower_center_offset'] = center_offset |
