|
21 | 21 | import localize_psf.rois as roi_fns
|
22 | 22 | import localize_psf.localize as localize
|
23 | 23 |
|
24 |
| - |
| 24 | +use_gpu = False |
25 | 25 | tstamp = datetime.datetime.now().strftime("%Y_%m_%d_%H;%M;%S")
|
26 | 26 |
|
27 | 27 | # data files
|
28 |
| -data_dirs = [Path(r"G:\2022_07_07\07_sim_calibration_0.2um_beads")] |
| 28 | +data_dirs = [Path(r"I:\2022_07_07\07_sim_calibration_0.2um_beads")] |
29 | 29 |
|
30 | 30 | # color channel information
|
31 | 31 | ignore_color = [False, False, False]
|
|
138 | 138 |
|
139 | 139 | # identify beads in first image
|
140 | 140 | coords, fit_results, imgs_filtered = \
|
141 |
| - localize.localize_beads(img_middle_wf, dxy, dz, min_fit_amp[ic], roi_size=roi_size, |
142 |
| - filter_sigma_small=filters_small_sigma, filter_sigma_large=filters_large_sigma, |
| 141 | + localize.localize_beads(img_middle_wf, |
| 142 | + dxy, |
| 143 | + dz, |
| 144 | + min_fit_amp[ic], |
| 145 | + roi_size=roi_size, |
| 146 | + filter_sigma_small=filters_small_sigma, |
| 147 | + filter_sigma_large=filters_large_sigma, |
143 | 148 | min_spot_sep=min_spot_sep,
|
144 |
| - dist_boundary_min=min_boundary_distance, sigma_bounds=sigma_bounds, |
145 |
| - fit_amp_min=min_fit_amp[ic]) |
| 149 | + dist_boundary_min=min_boundary_distance, |
| 150 | + sigma_bounds=sigma_bounds, |
| 151 | + fit_amp_min=min_fit_amp[ic], |
| 152 | + use_gpu_fit=use_gpu) |
146 | 153 |
|
147 | 154 | fps_temp = fit_results["fit_params"]
|
148 | 155 | ips_temp = fit_results["init_params"]
|
|
237 | 244 |
|
238 | 245 | # do fitting
|
239 | 246 | # todo: fitting on gpu not working ... not sure if the problem is the fixed parameters or something else
|
240 |
| - fps[ic][:, it, iz, ia, ip, :], fit_states, chi_sqrs, niters, fit_t = \ |
241 |
| - localize.fit_rois(img_rois, coords_rois, fps_start[ic], fixed_params=fixed_params, use_gpu=False) #, use_gpu=False #, debug=True) |
| 247 | + fit_results = localize.fit_rois(img_rois, |
| 248 | + coords_rois, |
| 249 | + fps_start[ic], |
| 250 | + fixed_params=fixed_params, |
| 251 | + use_gpu=use_gpu) |
| 252 | + |
| 253 | + fps[ic][:, it, iz, ia, ip, :] = fit_results["fit_params"] |
| 254 | + chi_sqrs = fit_results["chi_sqrs"] |
| 255 | + niters = fit_results["niters"] |
| 256 | + fit_states = fit_results["fit_states"] |
| 257 | + fit_states_key = fit_results["fit_states_key"] |
| 258 | + |
| 259 | + def get_key(code): |
| 260 | + msg = "message not found" |
| 261 | + for k, v in fit_states_key.items(): |
| 262 | + if code == v: |
| 263 | + msg = k |
| 264 | + break |
| 265 | + return msg |
242 | 266 |
|
243 | 267 | for aaa in range(np.min([nrois_to_plot, len(fps_start[ic])])):
|
244 |
| - localize.plot_gauss_roi(fps[ic][aaa, it, iz, ia, ip], rois[ic][aaa], imgs_now, |
| 268 | + str = f"fit iters={niters[aaa]:d}" \ |
| 269 | + f" with result '{get_key(fit_states[aaa]):s}', and " \ |
| 270 | + f"chi squared = {chi_sqrs[aaa]:.1g}" |
| 271 | + |
| 272 | + localize.plot_gauss_roi(fps[ic][aaa, it, iz, ia, ip], |
| 273 | + rois[ic][aaa], |
| 274 | + imgs_now, |
245 | 275 | coords,
|
246 | 276 | init_params=fps_start[ic][aaa],
|
| 277 | + string=str, |
247 | 278 | prefix=f"roi={aaa:d}_ic={ic:d}_iz={iz:d}_it={it:d}_ia={ia:d}_ip={ip:d}_",
|
248 | 279 | save_dir=roi_save_dir)
|
249 | 280 |
|
|
0 commit comments