mirror of
https://github.com/bec-project/bec_widgets.git
synced 2025-07-13 03:01:50 +02:00
wip demo with preview endpoint
This commit is contained in:
@ -1053,23 +1053,43 @@ class Image(PlotBase):
|
|||||||
type(str): The type of monitor to use. Options are "1d", "2d", or "auto".
|
type(str): The type of monitor to use. Options are "1d", "2d", or "auto".
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
monitor_to_connect = self.dev[monitor]
|
||||||
|
signal = monitor_to_connect._info["signals"]["preview"]
|
||||||
|
ndim = monitor_to_connect._info["signals"]["preview"]["describe"]["signal_metadata"]["ndim"]
|
||||||
|
rot = monitor_to_connect._info["signals"]["preview"]["describe"]["signal_metadata"][
|
||||||
|
"num_rot90"
|
||||||
|
]
|
||||||
|
self._main_image.num_rotation_90 = rot
|
||||||
|
|
||||||
|
if ndim == 1:
|
||||||
|
self.bec_dispatcher.connect_slot(
|
||||||
|
self.on_image_update_1d, MessageEndpoints.device_preview(monitor, "preview")
|
||||||
|
)
|
||||||
|
self._main_image.config.source = "device_monitor_1d"
|
||||||
|
self._main_image.config.monitor_type = "1d"
|
||||||
|
elif ndim == 2:
|
||||||
|
self.bec_dispatcher.connect_slot(
|
||||||
|
self.on_image_update_2d, MessageEndpoints.device_preview(monitor, "preview")
|
||||||
|
)
|
||||||
|
self._main_image.config.source = "device_monitor_2d"
|
||||||
|
self._main_image.config.monitor_type = "2d"
|
||||||
# TODO consider moving connecting and disconnecting logic to Image itself if multiple images
|
# TODO consider moving connecting and disconnecting logic to Image itself if multiple images
|
||||||
if type == "1d":
|
# if type == "1d":
|
||||||
self.bec_dispatcher.connect_slot(
|
# self.bec_dispatcher.connect_slot(
|
||||||
self.on_image_update_1d, MessageEndpoints.device_monitor_1d(monitor)
|
# self.on_image_update_1d, MessageEndpoints.device_monitor_1d(monitor)
|
||||||
)
|
# )
|
||||||
elif type == "2d":
|
# elif type == "2d":
|
||||||
self.bec_dispatcher.connect_slot(
|
# self.bec_dispatcher.connect_slot(
|
||||||
self.on_image_update_2d, MessageEndpoints.device_monitor_2d(monitor)
|
# self.on_image_update_2d, MessageEndpoints.device_monitor_2d(monitor)
|
||||||
)
|
# )
|
||||||
elif type == "auto":
|
# elif type == "auto":
|
||||||
self.bec_dispatcher.connect_slot(
|
# self.bec_dispatcher.connect_slot(
|
||||||
self.on_image_update_1d, MessageEndpoints.device_monitor_1d(monitor)
|
# self.on_image_update_1d, MessageEndpoints.device_monitor_1d(monitor)
|
||||||
)
|
# )
|
||||||
self.bec_dispatcher.connect_slot(
|
# self.bec_dispatcher.connect_slot(
|
||||||
self.on_image_update_2d, MessageEndpoints.device_monitor_2d(monitor)
|
# self.on_image_update_2d, MessageEndpoints.device_monitor_2d(monitor)
|
||||||
)
|
# )
|
||||||
print(f"Connected to {monitor} with type {type}")
|
# print(f"Connected to {monitor} with type {type}")
|
||||||
self._main_image.config.monitor = monitor
|
self._main_image.config.monitor = monitor
|
||||||
|
|
||||||
def disconnect_monitor(self, monitor: str):
|
def disconnect_monitor(self, monitor: str):
|
||||||
@ -1242,10 +1262,11 @@ if __name__ == "__main__": # pragma: no cover
|
|||||||
ml = QHBoxLayout(win)
|
ml = QHBoxLayout(win)
|
||||||
|
|
||||||
image_popup = Image(popups=True)
|
image_popup = Image(popups=True)
|
||||||
image_side_panel = Image(popups=False)
|
image_popup.image("eiger")
|
||||||
|
# image_side_panel = Image(popups=False)
|
||||||
|
|
||||||
ml.addWidget(image_popup)
|
ml.addWidget(image_popup)
|
||||||
ml.addWidget(image_side_panel)
|
# ml.addWidget(image_side_panel)
|
||||||
|
|
||||||
win.resize(1500, 800)
|
win.resize(1500, 800)
|
||||||
win.show()
|
win.show()
|
||||||
|
Reference in New Issue
Block a user