GUI: Run viewer to check online X-ray images

This commit is contained in:
2025-07-16 16:49:46 +02:00
parent 415ba64b78
commit 09be1864a5
6 changed files with 22 additions and 3 deletions
+5 -3
View File
@@ -801,15 +801,17 @@ class AareDAQ:
smargon= SmargonCoordinate(),
n_x=1,
n_y=1,
dtz=110.0,
grid_size_mm=Coordinate(x=geom.beam_size_mm.x * 0.8, y=geom.beam_size_mm.y * 0.8),
omega_deg=0
))
self.__rotation( RotationScanRequest(start_omega_deg=0,
dtz=110.0,
file_prefix=sample_prefix,
exp_time_s=0.01,
incr_omega_deg=0.2,
steps=1800,))
exp_time_s=0.003,
incr_omega_deg=0.4,
steps=900,))
self.__cfg.state_busy = False
except Exception:
self.__cfg.state_busy = False
+4
View File
@@ -240,6 +240,10 @@ class MainWindow(QMainWindow):
self.rotation.file_ready.connect(self.viewer.load_file)
self.raster.image_selected.connect(self.viewer.load_image)
self.raster.viewer_track_online.connect(self.viewer.load_online)
self.data_collection.screening.viewer_track_online.connect(self.viewer.load_online)
self.job_list_panel.viewer_track_online.connect(self.viewer.load_online)
self.sample_logic.sample_changed.connect(self.data_collection.file_path_panel.update_sample)
self.daq.update.connect(self.beamline.omega_panel.update_daq_status)
@@ -17,6 +17,7 @@ def add_screening_to_path(path):
class RotationDataCollectionPanel(ScanSettingsPanel):
rotation_scan = Signal(RotationScanRequest)
viewer_track_online = Signal()
def __init__(self, diffraction: DiffractionGeometry,
default_dtz: float = 200.0,
@@ -114,6 +115,7 @@ class RotationDataCollectionPanel(ScanSettingsPanel):
screening=True,
exp_time_s=self.screening_image_time_enter.value)
self.rotation_scan.emit(r)
self.viewer_track_online.emit()
@Slot()
def run_measurement(self):
@@ -127,6 +129,7 @@ class RotationDataCollectionPanel(ScanSettingsPanel):
screening=False,
exp_time_s=self.image_time_enter.value)
self.rotation_scan.emit(r)
self.viewer_track_online.emit()
def image_number(self):
total_angle = self.total_angle.value
@@ -10,6 +10,7 @@ from aaregui.widgets.title_label import TitleLabel
class SampleQueuePanel(QFrame):
auto_scan = Signal(SampleShortInfo)
unmount = Signal()
viewer_track_online = Signal()
def __init__(self, parent=None, samples: SampleShortInfoList | None = None):
super().__init__(parent)
@@ -64,6 +65,7 @@ class SampleQueuePanel(QFrame):
self.__pause = False
self.play_button.setText("⏸ Pause")
self.auto_scan.emit(self.table_model.samples[0])
self.viewer_track_online.emit()
else:
self.__set_to_pause = True
self.__pause = True
@@ -72,6 +72,8 @@ def normalize_angle(angle_deg: float) -> float:
return normalized_angle
class RasterGridManager(QObject):
viewer_track_online = Signal()
grid_updated = Signal()
grid_scan = Signal(RasterGridRequest)
@@ -309,11 +311,13 @@ class RasterGridManager(QObject):
def run_grid_scan(self):
grid = copy.deepcopy(self.__active_grid)
self.grid_scan.emit(grid)
self.viewer_track_online.emit()
@Slot()
def run_grid_scan_auto(self):
grid = copy.deepcopy(self.__active_grid)
self.grid_scan_auto.emit(grid)
self.viewer_track_online.emit()
def spot_ice_ratio(self, obj):
if obj.spots_ice is None or obj.spots_low_res is None or obj.spots_low_res <= 0:
+4
View File
@@ -48,4 +48,8 @@ class JFJochDBusClient(QObject):
if self._ensure_interface():
reply = self.__interface.call("LoadFile", path, number, 1)
@Slot()
def load_online(self):
if self._ensure_interface():
reply = self.__interface.call("LoadFile", "http://sls-gpu-001:8080", -1, 1)