GUI/DAQ: Refactor beam center and beam mark handling, update screening UI

This commit is contained in:
2025-06-13 11:42:01 +02:00
parent ca69bb0094
commit ab0b865066
4 changed files with 22 additions and 14 deletions
+3 -2
View File
@@ -154,8 +154,9 @@ class MainWindow(QMainWindow):
self.beamline.abr_tweak.abr_tweak.connect(self.daq.abr_tweak)
self.beamline.abr_tweak.abr_save.connect(self.daq.abr_save)
self.beamline.beam_mark.beam_mark_clear.connect(self.daq.beam_center_clear)
self.camera_image.update_beam_center.connect(self.daq.beam_center_mark)
self.beamline.beam_mark.beam_mark_clear.connect(self.daq.beam_mark_clear)
self.camera_image.update_beam_center.connect(self.daq.beam_mark_add)
self.beamline.beam_center.beam_center.connect(self.daq.beam_center)
if zmq_addr is not None:
self.camera_thread = SampleCameraThread(zmq_url=zmq_addr)
@@ -17,7 +17,10 @@ class BeamCenterWidget(QWidget):
grid_layout.addWidget(TitleLabel("Beam center", self), 0, 0, 1, 5)
self.x = NumberLineEdit(-4000, 4000, 0, parent=self)
self.x.newValue.connect(self.beam_center_edited)
self.y = NumberLineEdit(-4000, 4000, 0, parent=self)
self.y.newValue.connect(self.beam_center_edited)
grid_layout.addWidget(QLabel("x:"), 1, 0)
grid_layout.addWidget(self.x, 1, 1)
@@ -28,17 +28,17 @@ class RotationDataCollectionPanel(ScanSettingsPanel):
self._layout.addWidget(QLabel("<br/><center><B><u>Screening</u></B></center>", parent=self), 4, 0, 1,5)
self._layout.addWidget(QLabel("Image time", parent=self), 5, 0)
self._layout.addWidget(QLabel("Image angle", parent=self), 5, 0)
self.screening_image_angle = NumberLineEdit(0, 10.0, 0.5, decimals=3, parent=self)
self._layout.addWidget(self.screening_image_angle, 5, 1, 1, 3)
self._layout.addWidget(QLabel("°", parent=self), 5, 4)
self._layout.addWidget(QLabel("Image time", parent=self), 6, 0)
self.screening_image_time_enter = NumberLineEdit(
0.0005, 10.0, 0.005, decimals=4, parent=self
)
self._layout.addWidget(self.screening_image_time_enter, 5, 1, 1, 3)
self._layout.addWidget(QLabel("s", parent=self), 5, 4)
self._layout.addWidget(QLabel("Image angle", parent=self), 6, 0)
self.screening_image_angle = NumberLineEdit(0, 10.0, 0.5, decimals=3, parent=self)
self._layout.addWidget(self.screening_image_angle, 6, 1, 1, 3)
self._layout.addWidget(QLabel("°", parent=self), 6, 4)
self._layout.addWidget(self.screening_image_time_enter, 6, 1, 1, 3)
self._layout.addWidget(QLabel("s", parent=self), 6, 4)
self.screening_type = QComboBox(parent=self)
self.screening_type.addItem("1 image", {"steps": 1, "omega_step_deg": 0})
+8 -4
View File
@@ -239,12 +239,16 @@ class DAQWorker(QObject):
self.generic_post("beamline/save_abr_meas_pos")
@Slot(float, float)
def beam_center_mark(self, x: float, y: float):
self.generic_post(f"beam_center/mark?x={x}&y={y}")
def beam_mark_add(self, x: float, y: float):
self.generic_post(f"beam_mark/add?x={x}&y={y}")
@Slot()
def beam_center_clear(self):
self.generic_post(f"beam_center/clear")
def beam_mark_clear(self):
self.generic_post(f"beam_mark/clear")
@Slot(float, float)
def beam_center(self, x: float, y: float):
self.generic_post(f"beamline/beam_center?x={x}&y={y}")
@Slot()
def unmount(self):