refactor(xray_gui): minor cleanup
This commit was merged in pull request #97.
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user