From c8c71d466c336b21e9db63f6805470d36639af73 Mon Sep 17 00:00:00 2001 From: wyzula-jan Date: Thu, 23 Oct 2025 11:17:29 +0200 Subject: [PATCH] refactor(xray_gui): minor cleanup --- .../bec_widgets/widgets/xray_eye/x_ray_eye.py | 49 ++++++++++--------- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/csaxs_bec/bec_widgets/widgets/xray_eye/x_ray_eye.py b/csaxs_bec/bec_widgets/widgets/xray_eye/x_ray_eye.py index 406cc63..3b66431 100644 --- a/csaxs_bec/bec_widgets/widgets/xray_eye/x_ray_eye.py +++ b/csaxs_bec/bec_widgets/widgets/xray_eye/x_ray_eye.py @@ -24,7 +24,7 @@ from qtpy.QtWidgets import ( ) logger = bec_logger.logger -CAMERA = ("cam_xeye_rgb", "image") #TODO here put correct camera +CAMERA = ("cam_xeye_rgb", "image") class XRayEye2DControl(BECWidget, QWidget): @@ -259,15 +259,6 @@ class XRayEye(BECWidget, QWidget): ################################################################################ # Properties ported from the original OmnyAlignment, can be adjusted as needed ################################################################################ - @SafeProperty(bool) - def enable_live_view(self): - """Get or set the live view enabled state.""" - return self.live_preview_toggle.checked - - @enable_live_view.setter - def enable_live_view(self, enable: bool): - self.live_preview_toggle.checked = enable - @SafeProperty(str) def user_message(self): return self.message_line_edit.text() @@ -326,20 +317,23 @@ class XRayEye(BECWidget, QWidget): @SafeSlot(bool, bool) def on_motors_enable(self, x_enable: bool, y_enable: bool): + """ + Enable/Disable motor controls + + Args: + x_enable(bool): enable x motor controls + y_enable(bool): enable y motor controls + """ self.motor_control_2d.enable_controls_hor(x_enable) self.motor_control_2d.enable_controls_ver(y_enable) - @SafeSlot(str) - def set_message(self, msg: str): - self.message_line_edit.setText(msg) - - @SafeSlot(str) - def set_sample_name(self, msg: str): - self.sample_name_line_edit.setText(msg) - @SafeSlot(int) def enable_submit_button(self, enable: int): - """If -1 disable else enable""" + """ + Enable/disable submit button. + Args: + enable(int): -1 disable else enable + """ if enable == -1: self.submit_button.setEnabled(False) else: @@ -347,11 +341,19 @@ class XRayEye(BECWidget, QWidget): @SafeSlot(bool, bool) def on_tomo_angle_readback(self, data: dict, meta: dict): + #TODO implement if needed print(f"data: {data}") print(f"meta: {meta}") @SafeSlot(dict, dict) def device_updates(self, data: dict, meta: dict): + """ + Slot to handle device updates from omny_xray_gui device. + + Args: + data(dict): data from device + meta(dict): metadata from device + """ signals = data.get('signals') enable_live_preview = signals.get("omny_xray_gui_update_frame_acq").get('value') @@ -362,11 +364,11 @@ class XRayEye(BECWidget, QWidget): # Signals from epics gui device # send message - send_message = signals.get("omny_xray_gui_send_message").get('value') - self.set_message(send_message) + user_message = signals.get("omny_xray_gui_send_message").get('value') + self.user_message = user_message # sample name sample_message = signals.get("omny_xray_gui_sample_name").get('value') - self.set_sample_name(sample_message) + self.sample_name = sample_message # enable frame acquisition update_frame_acq = signals.get("omny_xray_gui_update_frame_acq").get('value') self.on_live_view_enabled(bool(update_frame_acq)) @@ -394,7 +396,7 @@ class XRayEye(BECWidget, QWidget): logger.warning("Unsupported ROI type for submit action.") return - print(f"current roi: {roi_center_x},{roi_center_y}, {roi_width},{roi_height}") + print(f"current roi: x:{roi_center_x}, y:{roi_center_y}, w:{roi_width},h:{roi_height}") #TODO remove when will be not needed for debugging # submit roi coordinates step = int(self.dev.omny_xray_gui.step.read().get("omny_xray_gui_step").get('value')) @@ -405,6 +407,7 @@ class XRayEye(BECWidget, QWidget): self.dev.omny_xray_gui.submit.set(1) def cleanup(self): + """Cleanup connections on widget close -> disconnect slots and stop live mode of camera.""" self.bec_dispatcher.disconnect_slot(self.device_updates, MessageEndpoints.device_readback("omny_xray_gui")) getattr(self.dev,CAMERA).live_mode = False super().cleanup()