From 42182fec305697d8b4e9999087edff53762a8caf Mon Sep 17 00:00:00 2001 From: CitizenErase Date: Fri, 31 Jul 2026 16:07:35 +0200 Subject: [PATCH 1/2] handling of random buffer size from hardware --- src/pymodaq_plugins_utils/hardware/camera_base_pylablib.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/pymodaq_plugins_utils/hardware/camera_base_pylablib.py b/src/pymodaq_plugins_utils/hardware/camera_base_pylablib.py index 7ffcfa5..50794ef 100644 --- a/src/pymodaq_plugins_utils/hardware/camera_base_pylablib.py +++ b/src/pymodaq_plugins_utils/hardware/camera_base_pylablib.py @@ -86,6 +86,11 @@ def wait_for_acquisition(self, mode: Grab): while ind_frames < mode.nframes: self.controller.wait_for_frame(since='now') new_frames, rng = self.controller.read_multiple_images(missing_frame='skip', return_rng=True) + + # in case hardware has a random buffer size (ex: Andor CCD cameras) + if new_frames.shape[0] != mode.nframes: + new_frames = np.expand_dims(new_frames[-mode.nfames:], axis=0) + if ind_average == 0 and ind_frames == 0: shape = list(new_frames.shape[1:]) shape = [mode.n_average, mode.nframes] + shape From e454f4097a22e334f4b7711c535eb152a0e57e60 Mon Sep 17 00:00:00 2001 From: CitizenErase Date: Thu, 20 Aug 2026 16:27:20 +0200 Subject: [PATCH 2/2] fixed typo --- src/pymodaq_plugins_utils/hardware/camera_base_pylablib.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pymodaq_plugins_utils/hardware/camera_base_pylablib.py b/src/pymodaq_plugins_utils/hardware/camera_base_pylablib.py index 50794ef..d929ab2 100644 --- a/src/pymodaq_plugins_utils/hardware/camera_base_pylablib.py +++ b/src/pymodaq_plugins_utils/hardware/camera_base_pylablib.py @@ -89,7 +89,7 @@ def wait_for_acquisition(self, mode: Grab): # in case hardware has a random buffer size (ex: Andor CCD cameras) if new_frames.shape[0] != mode.nframes: - new_frames = np.expand_dims(new_frames[-mode.nfames:], axis=0) + new_frames = np.expand_dims(new_frames[-mode.nframes:], axis=0) if ind_average == 0 and ind_frames == 0: shape = list(new_frames.shape[1:])