From 8624ff31efccb8aad44e993099e3cc4362a1137e Mon Sep 17 00:00:00 2001 From: appleb_m Date: Tue, 24 Feb 2026 14:53:23 +0100 Subject: [PATCH] GUI: updates to camera thread --- src/aare/gui/threads/camera_thread.py | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/aare/gui/threads/camera_thread.py b/src/aare/gui/threads/camera_thread.py index c47ad3e2..b5d16b5a 100644 --- a/src/aare/gui/threads/camera_thread.py +++ b/src/aare/gui/threads/camera_thread.py @@ -25,7 +25,7 @@ class SampleCameraThread(QThread): self.__socket.connect(zmq_url) self.running = True - self.__measure_focus = True + self.__measure_focus = False self.__focus_mask = None self.__beam_x = 0 self.__beam_y = 0 @@ -70,10 +70,23 @@ class SampleCameraThread(QThread): if len(r) != 2: continue - meta, data = r - header = json.loads(meta) - header_shape = header["shape"] - if header["type"] == "uint8" and len(header_shape) == 2: + data = r[-1] + header = None + + for part in r[:-1]: + try: + decoded = json.loads(part.decode("utf-8")) + if isinstance(decoded, dict) and "shape" in decoded: + header = decoded + break + except: + continue + + #meta, data = r + #header = json.loads(meta) + #header_shape = header["shape"] + if header and header.get("type") == "uint8":# and len(header_shape) == 2: + header_shape = header["shape"] bayer_image = np.frombuffer(data, dtype=np.uint8) bayer_image = bayer_image.reshape(header_shape) rgb_image = cv2.cvtColor(bayer_image, cv2.COLOR_BAYER_GB2RGB)