DAQ: updated when b_factor and best res are calculated and better error handling during auto center
This commit is contained in:
+12
-8
@@ -475,16 +475,12 @@ class AareDAQ:
|
||||
print('before centre_of_mass')
|
||||
print("COM by low res spots")
|
||||
|
||||
|
||||
result_array = create_quality_filtered_array(images, 'spots_low_res', min_spots=None,
|
||||
min_efficiency=1.0, min_background=None)
|
||||
min_efficiency=1.0, min_background=None, min_low_res_spots=10.0)
|
||||
self.crystal_size = get_xtal_size(self.crystal_size, result_array, r)
|
||||
grid_mm_x, grid_mm_y, com = raster_centre_of_mass(result_array, r)
|
||||
|
||||
result_list = get_result_list_from_com(images, com)
|
||||
|
||||
self.last_best_b_factor = get_best_b_factor(result_list)
|
||||
self.last_best_res = get_best_res(result_list)
|
||||
|
||||
if grid_mm_x is None or grid_mm_y is None:
|
||||
print(f"using old method as COM is none or nan")
|
||||
grid_mm_x, grid_mm_y = identify_crystal_raster(result, r)
|
||||
@@ -492,6 +488,11 @@ class AareDAQ:
|
||||
if r.n_x == 1:
|
||||
new_delta_mm = self.sample_geometry.smargon_nudge(Coordinate(x=0, y=grid_mm_y))
|
||||
else:
|
||||
result_list = get_result_list_from_com(images, com)
|
||||
print(result_list)
|
||||
self.last_best_b_factor = get_best_b_factor(result_list)
|
||||
self.last_best_res = get_best_res(result_list)
|
||||
print("b_factor: ", self.last_best_b_factor, " best_res: ", self.last_best_res)
|
||||
new_delta_mm = self.sample_geometry.smargon_nudge(Coordinate(x=grid_mm_x, y=grid_mm_y))
|
||||
|
||||
print('after centre_of_mass')
|
||||
@@ -990,7 +991,6 @@ class AareDAQ:
|
||||
|
||||
def measure(self, sample: SampleShortInfo) -> float:
|
||||
start = time.perf_counter()
|
||||
|
||||
formatted_date = datetime.now().strftime('%Y%m%d')
|
||||
sample_prefix = "{}/{}/{:02d}/{}".format(
|
||||
formatted_date,
|
||||
@@ -1033,6 +1033,8 @@ class AareDAQ:
|
||||
grid_size_mm=Coordinate(x=geom.beam_size_mm.x * 0.5, y=geom.beam_size_mm.y * 0.5),
|
||||
omega_deg=0
|
||||
)):
|
||||
params = self.smart_params
|
||||
print(params)
|
||||
self.__cfg.zoom_mode = ZoomModeEnum.User
|
||||
self.__devs.samcam_settings = self.__cfg.zoom_settings.get_camera_settings(self.zoom)
|
||||
self.__rotation( RotationScanRequest(start_omega_deg=0,
|
||||
@@ -1042,12 +1044,14 @@ class AareDAQ:
|
||||
incr_omega_deg=0.2,
|
||||
steps=900,))
|
||||
else:
|
||||
print("auto center failed")
|
||||
self.__aare.axc_failed(sample)
|
||||
self.zoom = 1
|
||||
self.__cfg.zoom_mode = ZoomModeEnum.User
|
||||
self.__devs.samcam_settings = self.__cfg.zoom_settings.get_camera_settings(self.zoom)
|
||||
self.__cfg.state_busy = False
|
||||
except Exception:
|
||||
except Exception as e:
|
||||
print(f"Error in measure: {e}")
|
||||
self.__aare.sample_failed(sample)
|
||||
self.__cfg.state_busy = False
|
||||
end = time.perf_counter()
|
||||
|
||||
Reference in New Issue
Block a user