From c505af4a7bfed68ccb7127f6ef3ab07e73c50b17 Mon Sep 17 00:00:00 2001 From: Tamoor Shahid Date: Thu, 19 Feb 2026 09:44:21 +0000 Subject: [PATCH 1/2] Added new move on click plan --- .../beamlines/i24/serial/web_gui_plans/oav_plans.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/oav_plans.py b/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/oav_plans.py index 30d84e3a2..f6d28d3f0 100644 --- a/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/oav_plans.py +++ b/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/oav_plans.py @@ -83,3 +83,12 @@ def focus_on_oav_view( magnitude = -magnitude yield from bps.abs_set(pmac.z, magnitude, wait=True) + + +def move_on_oav_view_click( + position: tuple[int, int], pmac: PMAC = inject("pmac") +) -> MsgGenerator: + x = position[0] + y = position[1] + + yield from bps.mv(pmac.x, x, pmac.y, y, wait=True) From 38495b136b449120926af07f28ff92b989569c41 Mon Sep 17 00:00:00 2001 From: Tamoor Shahid Date: Thu, 19 Feb 2026 10:37:52 +0000 Subject: [PATCH 2/2] Inject oav to calculate coordinates with microns per pixel --- .../beamlines/i24/serial/web_gui_plans/oav_plans.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/oav_plans.py b/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/oav_plans.py index f6d28d3f0..32498447c 100644 --- a/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/oav_plans.py +++ b/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/oav_plans.py @@ -86,9 +86,15 @@ def focus_on_oav_view( def move_on_oav_view_click( - position: tuple[int, int], pmac: PMAC = inject("pmac") + position: tuple[int, int], oav=inject("oav"), pmac: PMAC = inject("pmac") ) -> MsgGenerator: x = position[0] y = position[1] - yield from bps.mv(pmac.x, x, pmac.y, y, wait=True) + x_microns_per_pixel = yield from bps.rd(oav.microns_per_pixel_x) + y_microns_per_pixel = yield from bps.rd(oav.microns_per_pixel_y) + + x_um = x * x_microns_per_pixel + y_um = y * y_microns_per_pixel + + yield from bps.mv(pmac.x, x_um, pmac.y, y_um, wait=True)