Merge branch 'master' into TellSampleHandling
This commit is contained in:
@@ -770,4 +770,11 @@ class SimpleScanParameters(BaseModel):
|
||||
beam_size_y_um: float | None = None
|
||||
dose_rate_MGy_s: float | None = None
|
||||
d_vis: float | None = None
|
||||
d_tar: float | None = None
|
||||
d_tar: float | None = None
|
||||
|
||||
class ScanResultPayloadModel(BaseModel):
|
||||
result: ScanResult
|
||||
beam_mark_pxl: tuple[float, float]
|
||||
beam_size_mm: Annotated[Coordinate, AfterValidator(positive_coords)]
|
||||
attach_image: bool = True
|
||||
sample_id: int
|
||||
@@ -692,6 +692,8 @@ class AareDAQ:
|
||||
if request.start is not None:
|
||||
self.__devs.smargon.target = request.start
|
||||
|
||||
omega_start = self.omega
|
||||
|
||||
self.__devs.transmission.wait()
|
||||
if request.start is not None:
|
||||
self.__devs.smargon.wait()
|
||||
@@ -732,8 +734,10 @@ class AareDAQ:
|
||||
self.__devs.aerotech.wait_scan_done(total_time + 60)
|
||||
|
||||
self.__devs.aerotech.reset()
|
||||
self.__devs.aerotech.move(omega_start, wait=False, speed=180.0, direct=True)
|
||||
result = self.__jfjoch.wait_till_done(60)
|
||||
self.__aare.sample_collected(self.sample)
|
||||
self.__devs.aerotech.move(omega_start, wait=True, speed=180.0, direct=True)
|
||||
|
||||
if self.sample is not None and self.sample.db_id is not None:
|
||||
self.save_screenshot_db(self.sample.db_id, "after_dc")
|
||||
|
||||
@@ -244,8 +244,8 @@ class RasterGridManager(QObject):
|
||||
self.__loaded_image_prefix = grid.result.file_prefix
|
||||
self.__loaded_image_index = grid.result.images[cell].number
|
||||
print(f"Load {grid.result.file_prefix} {grid.result.images[cell].number}")
|
||||
self.image_selected.emit(grid.result.file_prefix, grid.result.images[cell].number)
|
||||
#self.image_selected.emit("http://sls-gpu-001:8080", grid.result.images[cell].number)
|
||||
#self.image_selected.emit(grid.result.file_prefix, grid.result.images[cell].number)
|
||||
self.image_selected.emit("http://sls-gpu-001:8080", grid.result.images[cell].number)
|
||||
|
||||
def is_part_of_active_grid(self, point: QPointF) -> bool:
|
||||
if not self._is_grid_visible(self.__active_grid):
|
||||
|
||||
@@ -9,5 +9,4 @@ class RotationScanManager(QObject):
|
||||
@Slot(CompletedRotationScan)
|
||||
def scan_completed(self, r: CompletedRotationScan):
|
||||
if r.result.file_prefix is not None:
|
||||
self.file_ready.emit(r.result.file_prefix)
|
||||
|
||||
self.file_ready.emit("http://sls-gpu-001:8080")
|
||||
|
||||
@@ -116,6 +116,12 @@ class SampleCameraImageLabel(QGraphicsView):
|
||||
self.left_click_hold_threshold = 200
|
||||
self.right_click_hold_threshold = 200
|
||||
|
||||
self.raster_timer = QTimer()
|
||||
self.raster_timer.setSingleShot(True)
|
||||
self.raster_timer_interval = 400
|
||||
self.raster_timer.timeout.connect(self.__on_raster_timer_timeout)
|
||||
self.__pending_load_pos = None
|
||||
|
||||
self.__detections = [] # list of dicts from publisher
|
||||
self.__det_shape = None # shape from payload [h,w] so we can scale
|
||||
|
||||
@@ -267,7 +273,11 @@ class SampleCameraImageLabel(QGraphicsView):
|
||||
|
||||
if self.__state == SampleCameraImageState.IDLE:
|
||||
if event.modifiers() & Qt.KeyboardModifier.ShiftModifier:
|
||||
self.load_image.emit(mouse_pos)
|
||||
if not self.raster_timer.isActive():
|
||||
self.load_image.emit(mouse_pos)
|
||||
self.raster_timer.start(self.raster_timer_interval)
|
||||
else:
|
||||
self.__pending_load_pos = mouse_pos
|
||||
else:
|
||||
txt = self.__raster_mgr.is_part_of_completed_grid(mouse_pos)
|
||||
if txt != "":
|
||||
@@ -285,6 +295,12 @@ class SampleCameraImageLabel(QGraphicsView):
|
||||
self._update_grid()
|
||||
self.update()
|
||||
|
||||
def __on_raster_timer_timeout(self):
|
||||
if self.__pending_load_pos is not None:
|
||||
self.load_image.emit(self.__pending_load_pos)
|
||||
self.__pending_load_pos = None
|
||||
self.raster_timer.start(self.raster_timer_interval)
|
||||
|
||||
def mouseReleaseEvent(self, event):
|
||||
if event.button() == Qt.MouseButton.LeftButton:
|
||||
if self.click_timer.isActive():
|
||||
@@ -637,16 +653,12 @@ class SampleCameraImageLabel(QGraphicsView):
|
||||
mouse_global_pos = QCursor.pos()
|
||||
mouse_view_pos = self.mapFromGlobal(mouse_global_pos)
|
||||
mouse_scene_pos = self.mapToScene(mouse_view_pos)
|
||||
smargon_coord = SmargonCoordinate(
|
||||
sh_mm=self.__geom.picture_to_smargon(
|
||||
Coordinate(x=mouse_scene_pos.x(), y=mouse_scene_pos.y())
|
||||
))
|
||||
|
||||
if event.key() == Qt.Key.Key_1:
|
||||
self.set_helical_start.emit(smargon_coord)
|
||||
|
||||
elif event.key() == Qt.Key.Key_2:
|
||||
self.set_helical_end.emit(smargon_coord)
|
||||
if event.key() == Qt.Key.Key_Shift:
|
||||
if self.__state == SampleCameraImageState.IDLE:
|
||||
if not self.raster_timer.isActive():
|
||||
self.load_image.emit(mouse_scene_pos)
|
||||
self.raster_timer.start(self.raster_timer_interval)
|
||||
|
||||
super().keyPressEvent(event)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user