From c6f22836b2d1a82efbbf80c5f26a884f7411b842 Mon Sep 17 00:00:00 2001 From: appleb_m Date: Thu, 29 Jan 2026 13:52:38 +0100 Subject: [PATCH] GUI: added cameras for X10SA, set to change in main_window from default values in gui.py --- src/aare/gui/gui.py | 17 ++++++++++++++++- src/aare/gui/main_window.py | 24 +++++++++++++++--------- 2 files changed, 31 insertions(+), 10 deletions(-) diff --git a/src/aare/gui/gui.py b/src/aare/gui/gui.py index 071bfe9a..fb541348 100644 --- a/src/aare/gui/gui.py +++ b/src/aare/gui/gui.py @@ -32,18 +32,30 @@ if __name__ == "__main__": default_url = "http://mx-x06da-queue-01.psi.ch:5210" default_zmq_addr = "tcp://x06da-pserv-01:9089" #129.129.110.12:9089 default_pred_zmq_addr = "tcp://mx-ml:9091" + default_beamline_cam_addr = "x06da-axis-1.psi.ch" + default_gonio_cam_addr = "axis-accc8ed2972e.psi.ch" + default_gonio_camera_id = 3 case MXBeamline.X10SA: default_url = "http://127.0.0.1:5210" default_zmq_addr = "tcp://x10sa-pserv-01:9089" default_pred_zmq_addr = "" + default_beamline_cam_addr = "axis-accc8eb02488.psi.ch" + default_gonio_cam_addr = "axis-accc8ea5e463.psi.ch" + default_gonio_camera_id = 1 case MXBeamline.X06SA: default_url = "http://mx-x06sa-queue-01.psi.ch:5210" default_zmq_addr = "" default_pred_zmq_addr = "" + default_beamline_cam_addr = "" + default_gonio_cam_addr = "" + default_gonio_camera_id = 1 case _: default_url = "" default_zmq_addr = "" default_pred_zmq_addr = "" + default_beamline_cam_addr = "" + default_gonio_cam_addr = "" + default_gonio_camera_id = 1 # Add custom options as needed urlOption = QCommandLineOption(["u", "aaredaq-url"], @@ -107,7 +119,10 @@ if __name__ == "__main__": token=token, default_image=default_image, zmq_addr=zmq_addr, - pred_zmq_addr=pred_zmq_addr) + pred_zmq_addr=pred_zmq_addr, + beamline_cam_addr = default_beamline_cam_addr, + gonio_cam_addr = default_gonio_cam_addr, + gonio_cam_id = default_gonio_camera_id) win.show() sys.exit(app.exec()) except Exception as e: diff --git a/src/aare/gui/main_window.py b/src/aare/gui/main_window.py index 4a044cd8..7faf582e 100644 --- a/src/aare/gui/main_window.py +++ b/src/aare/gui/main_window.py @@ -47,7 +47,11 @@ class MainWindow(QMainWindow): token: str, default_image: str | None, zmq_addr: str | None, - pred_zmq_addr: str | None): + pred_zmq_addr: str | None, + beamline_cam_addr: str | None, + gonio_cam_addr: str | None, + gonio_cam_id: int | None + ): super().__init__() self.__base_url = base_url self.__token = token @@ -120,18 +124,20 @@ class MainWindow(QMainWindow): self.beamline_view_layout.addWidget(self.beamline_view_2_combined) self.beamline_view = VideoGraphicsView() - self.beamline_camera_thread = VideoThread(ip="x06da-axis-1.psi.ch") - self.beamline_camera_thread.frame_ready.connect(self.beamline_view.update_frame) - self.beamline_camera_thread.frame_ready.connect(self.beamline_view_2_combined.update_frame) - self.beamline_camera_thread.start() + if beamline_cam_addr: + self.beamline_camera_thread = VideoThread(ip=beamline_cam_addr) + self.beamline_camera_thread.frame_ready.connect(self.beamline_view.update_frame) + self.beamline_camera_thread.frame_ready.connect(self.beamline_view_2_combined.update_frame) + self.beamline_camera_thread.start() self.beamline_view_layout.addWidget(self.beamline_view) self.gonio_view = VideoGraphicsView() #TODO add option to change cameras for gonio_camera_thread - self.gonio_camera_thread = VideoThread(ip="axis-accc8ed2972e.psi.ch", camera=3) - self.gonio_camera_thread.frame_ready.connect(self.gonio_view.update_frame) - self.gonio_camera_thread.frame_ready.connect(self.beamline_view_1_combined.update_frame) - self.gonio_camera_thread.start() + if gonio_cam_addr and gonio_cam_id: + self.gonio_camera_thread = VideoThread(ip=gonio_cam_addr, camera=gonio_cam_id) + self.gonio_camera_thread.frame_ready.connect(self.gonio_view.update_frame) + self.gonio_camera_thread.frame_ready.connect(self.beamline_view_1_combined.update_frame) + self.gonio_camera_thread.start() self.beamline_view_layout.addWidget(self.gonio_view) self.video_tab.addTab(self.sample_camera, "Sample camera")