wip submit action
This commit is contained in:
@@ -10,7 +10,7 @@ from bec_widgets import BECWidget, SafeSlot, SafeProperty
|
||||
from bec_widgets.widgets.control.device_control.positioner_box import PositionerBox2D
|
||||
from bec_widgets.widgets.plots.image.image import Image
|
||||
from bec_widgets.widgets.plots.image.setting_widgets.image_roi_tree import ROIPropertyTree
|
||||
from bec_widgets.widgets.plots.roi.image_roi import BaseROI
|
||||
from bec_widgets.widgets.plots.roi.image_roi import BaseROI, RectangularROI, CircularROI, EllipticalROI
|
||||
from bec_widgets.widgets.utility.toggle.toggle import ToggleSwitch
|
||||
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
@@ -20,6 +20,7 @@ logger = bec_logger.logger
|
||||
DEVICE_HORIZONTAL = "samx"
|
||||
DEVICE_VERTICAL = "samy"
|
||||
CAMERA = ("cam_flomni_overview","preview")
|
||||
PIXEL_CALIBRATION = 0.1 / 113 # .2 with binning #TODO needed here or not?
|
||||
|
||||
class XRayEye(BECWidget, QWidget):
|
||||
USER_ACCESS = ["active_roi","enable_live_view", "enable_live_view.setter", "user_message", "user_message.setter","sample_name", "sample_name.setter", "enable_move_buttons", "enable_move_buttons.setter"]
|
||||
@@ -91,7 +92,7 @@ class XRayEye(BECWidget, QWidget):
|
||||
self.step_size_vertical.setSingleStep(0.1)
|
||||
self.step_size_vertical.setValue(1.0)
|
||||
# Submit button
|
||||
self.submit_button = QPushButton("Get ROI Coordinates", parent=self)
|
||||
self.submit_button = QPushButton("Submit", parent=self)
|
||||
self.submit_button.setStyleSheet("""background-color: #4CAF50; color: white; padding: 5px 10px; border: none; border-radius: 4px;""")
|
||||
# Add to layout form
|
||||
step_size_form.addWidget(QLabel("Horizontal", parent=self),0,0)
|
||||
@@ -136,7 +137,7 @@ class XRayEye(BECWidget, QWidget):
|
||||
self.live_preview_toggle.enabled.connect(self.on_live_view_enabled)
|
||||
self.step_size_horizontal.valueChanged.connect(lambda x: self.motor_control_2d.setProperty("step_size_hor",x))
|
||||
self.step_size_vertical.valueChanged.connect(lambda x: self.motor_control_2d.setProperty("step_size_ver",x))
|
||||
self.submit_button.clicked.connect(self.get_roi_coordinates)
|
||||
self.submit_button.clicked.connect(self.submit)
|
||||
|
||||
def _create_separator(self):
|
||||
sep = QFrame(parent=self)
|
||||
@@ -219,6 +220,10 @@ class XRayEye(BECWidget, QWidget):
|
||||
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(bool,bool)
|
||||
def on_tomo_angle_readback(self,data:dict,meta:dict):
|
||||
print(f"data: {data}")
|
||||
@@ -235,10 +240,40 @@ class XRayEye(BECWidget, QWidget):
|
||||
self.on_motors_enable(bool(enable_x_motor),bool(enable_y_motor))
|
||||
|
||||
|
||||
#TODO check if all data are passed correctly
|
||||
# send message
|
||||
send_message = signals.get("omny_xray_gui_send_message").get('value')
|
||||
self.set_message(send_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))
|
||||
|
||||
print(f"signals: {signals}")
|
||||
print(f"data: {data}")
|
||||
print(f"meta: {meta}")
|
||||
|
||||
@SafeSlot()
|
||||
def submit(self):
|
||||
"""Execute submit action by submit button."""
|
||||
roi_coordinates = self.roi_manager.single_active_roi.get_coordinates()
|
||||
roi_center_x = roi_coordinates['center_x']
|
||||
roi_center_y = roi_coordinates['center_y']
|
||||
# Case of rectangular ROI
|
||||
if isinstance(self.roi_manager.single_active_roi,RectangularROI):
|
||||
roi_width = roi_coordinates['width']
|
||||
roi_height = roi_coordinates['height']
|
||||
elif isinstance(self.roi_manager.single_active_roi,CircularROI):
|
||||
roi_diameter = roi_coordinates['diameter']
|
||||
roi_radius = roi_coordinates['radius']
|
||||
elif isinstance(self.roi_manager.single_active_roi,EllipticalROI):
|
||||
roi_major = roi_coordinates['major']
|
||||
roi_minor = roi_coordinates['minor']
|
||||
else:
|
||||
logger.warning("Unsupported ROI type for submit action.")
|
||||
return
|
||||
#TODO submit angles somewhere
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
|
||||
Reference in New Issue
Block a user