DAQ: renabled automation workflow, WIP
This commit is contained in:
+45
-40
@@ -437,6 +437,7 @@ class AareDAQ:
|
||||
self.__devs.tell.set_in_mount_position(True)
|
||||
if target is None:
|
||||
self.__devs.tell.unmount(wait=True, timeout=60.0)
|
||||
self.__aare.sample_unmounted(self.__cfg.current_sample)
|
||||
self.__cfg.current_sample = None
|
||||
else:
|
||||
value = self.__devs.tell.mount(address=target.tell_address(), force=True, auto_unmount=True, read_dm=False,
|
||||
@@ -1578,8 +1579,9 @@ class AareDAQ:
|
||||
print("alc failed")
|
||||
self.__cfg.state_busy = False
|
||||
end = time.perf_counter()
|
||||
|
||||
return end - start
|
||||
#raise LoopCenteringFailed
|
||||
|
||||
logger.info(f"alc done at {time.perf_counter() - start}")
|
||||
|
||||
result = self.__face_detection_sequence(steps=7, step_size=30)
|
||||
@@ -1590,44 +1592,47 @@ class AareDAQ:
|
||||
hex_string = secrets.token_hex(3) # 3 bytes = 6 hex characters
|
||||
print(hex_string.upper())
|
||||
|
||||
# raster_params = self.get_auto_raster_params()
|
||||
# if self.__auto_center(RasterGridRequest(
|
||||
# exp_time_s=raster_params.exp_time_s,
|
||||
# file_prefix=sample_prefix + f"_{hex_string}",
|
||||
# smargon_top_left= SmargonCoordinate(),
|
||||
# n_x=1,
|
||||
# n_y=1,
|
||||
# dtz=raster_params.dtz,
|
||||
# grid_size_mm=Coordinate(x=geom.beam_size_mm.x * 0.5, y=geom.beam_size_mm.y * 0.5),
|
||||
# omega_deg=self.omega,
|
||||
# transmission = raster_params.transmission,
|
||||
# )):
|
||||
# logger.info(f"raster scans done at {time.perf_counter() - start}")
|
||||
# params, source = self.get_collection_params(prefer_smart=False)
|
||||
# logger.info(f"Using {source} for data collection: {params}")
|
||||
#
|
||||
# self.__cfg.zoom_mode = ZoomModeEnum.User
|
||||
# self.__devs.samcam_settings = self.__cfg.zoom_settings.get_camera_settings(self.zoom)
|
||||
# self.__devs.dtz = params.dtz
|
||||
# if self.omega + 180 < 720:
|
||||
# start_omega = self.omega
|
||||
# else:
|
||||
# start_omega = params.start_omega_deg
|
||||
# # self.__rotation( RotationScanRequest(start_omega_deg=start_omega,
|
||||
# # dtz=params.dtz,
|
||||
# # file_prefix="data/" + sample_prefix + f"_{hex_string}",
|
||||
# # exp_time_s=params.exp_time_s,
|
||||
# # incr_omega_deg=params.incr_omega_deg,
|
||||
# # steps=params.steps,
|
||||
# # transmission=params.transmission,
|
||||
# # ))
|
||||
# logger.info(f"rotation done at {time.perf_counter() - start}")
|
||||
# else:
|
||||
# logger.error("auto center failed")
|
||||
# self.__aare.axc_failed(sample)
|
||||
self.zoom = 1
|
||||
self.__cfg.zoom_mode = ZoomModeEnum.User
|
||||
self.__cfg.state_busy = False
|
||||
raster_params = self.get_auto_raster_params()
|
||||
if self.__auto_center(RasterGridRequest(
|
||||
exp_time_s=raster_params.exp_time_s,
|
||||
file_prefix=sample_prefix + f"_{hex_string}",
|
||||
smargon_top_left= SmargonCoordinate(),
|
||||
n_x=1,
|
||||
n_y=1,
|
||||
dtz=raster_params.dtz,
|
||||
grid_size_mm=Coordinate(x=geom.beam_size_mm.x * 0.5, y=geom.beam_size_mm.y * 0.5),
|
||||
omega_deg=self.omega,
|
||||
transmission = raster_params.transmission,
|
||||
)):
|
||||
logger.info(f"raster scans done at {time.perf_counter() - start}")
|
||||
params, source = self.get_collection_params(prefer_smart=False)
|
||||
logger.info(f"Using {source} for data collection: {params}")
|
||||
|
||||
self.__cfg.zoom_mode = ZoomModeEnum.User
|
||||
self.__devs.samcam_settings = self.__cfg.zoom_settings.get_camera_settings(self.zoom)
|
||||
self.__devs.dtz = params.dtz
|
||||
if self.omega + 180 < 720:
|
||||
start_omega = self.omega
|
||||
else:
|
||||
start_omega = params.start_omega_deg
|
||||
self.__rotation( RotationScanRequest(start_omega_deg=start_omega,
|
||||
dtz=params.dtz,
|
||||
file_prefix="data/" + sample_prefix + f"_{hex_string}",
|
||||
exp_time_s=params.exp_time_s,
|
||||
incr_omega_deg=params.incr_omega_deg,
|
||||
steps=params.steps,
|
||||
transmission=params.transmission,
|
||||
))
|
||||
logger.info(f"rotation done at {time.perf_counter() - start}")
|
||||
if sample.db_id is not None:
|
||||
self.__aare.sample_collected(sample)
|
||||
self.save_screenshot_db(sample.db_id, f"{sample.db_id}_collected")
|
||||
self.__cfg.state_busy = False
|
||||
end = time.perf_counter()
|
||||
return end - start
|
||||
else:
|
||||
logger.error("auto center failed")
|
||||
self.__aare.axc_failed(sample)
|
||||
except Exception as e:
|
||||
logger.error(f"Error in measure: {e}")
|
||||
if isinstance(e, AXCFailed):
|
||||
@@ -1638,7 +1643,7 @@ class AareDAQ:
|
||||
self.__cfg.state_busy = False
|
||||
end = time.perf_counter()
|
||||
raise e
|
||||
|
||||
self.__cfg.state_busy = False
|
||||
end = time.perf_counter()
|
||||
return end - start
|
||||
|
||||
|
||||
Reference in New Issue
Block a user