From b809e806ffd7cc456b3524be2196bf84de4bff09 Mon Sep 17 00:00:00 2001
From: Mads Jakobsen <mads.jakobsen@xfel.eu>
Date: Sat, 15 Mar 2025 22:07:54 +0100
Subject: [PATCH] debugging

---
 .../src/onlinemid_karabo/processor.py                |  6 ++++++
 python_package/src/onlinemid/roi/roi.py              | 12 ++++++++++--
 .../src/onlinemid/runningstats/call_runningstats.py  |  4 ++--
 3 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/karabo_devices/shared_mem_processor/src/onlinemid_karabo/processor.py b/karabo_devices/shared_mem_processor/src/onlinemid_karabo/processor.py
index 2ae9c65..aa43122 100644
--- a/karabo_devices/shared_mem_processor/src/onlinemid_karabo/processor.py
+++ b/karabo_devices/shared_mem_processor/src/onlinemid_karabo/processor.py
@@ -158,6 +158,12 @@ class OnlineMIDProcessor(TrainMatcher.TrainMatcher):
         self.onlineStats = Runningstats()
         
 
+        self.test_roi = {
+            'Q1M1' : np.random.randint(2, size=5*9).reshape(5, 3, 3),
+            'Q1M2' : np.random.randint(2, size=5*9).reshape(5, 3, 3),
+            'Q1M3' : np.random.randint(2, size=5*9).reshape(5, 3, 3),
+            'Q1M4' : np.random.randint(2, size=5*9).reshape(5, 3, 3),
+        }
         self.test_roi = {
             'Q1M1' : np.random.randint(2, size=5*512*128).reshape(5, 512, 128),
             'Q1M2' : np.random.randint(2, size=5*512*128).reshape(5, 512, 128),
diff --git a/python_package/src/onlinemid/roi/roi.py b/python_package/src/onlinemid/roi/roi.py
index 4b17d15..a3f10eb 100644
--- a/python_package/src/onlinemid/roi/roi.py
+++ b/python_package/src/onlinemid/roi/roi.py
@@ -1,7 +1,7 @@
 
 from onlinemid.utils.online_data_structures import NpVec
 import numpy as np
-def make_onlineroi_from_roi_array(roi_array):
+def make_onlineroi_from_roi_array(roi_array, verbose=False):
     '''
     input is a roi matrix of the shape
     e.g.  (roi_nr x slow scan dim x fast scan dim)
@@ -31,7 +31,10 @@ def make_onlineroi_from_roi_array(roi_array):
     num_rois = roi_array.shape[0]
 
     def compress_roi_array(roi_array):
-        
+        if verbose == True:
+            print(f"compressing roi_array of shape {roi_array.shape}")
+            print(roi_array)
+
         compressed_data = NpVec(dtype=np.uint32)
         roi_ravel = roi_array.reshape(-1)
         index = 0
@@ -41,11 +44,16 @@ def make_onlineroi_from_roi_array(roi_array):
             val = roi_ravel[index]
 
             if val == 1:
+                if verbose == True:
+                    print(f"True Value found at index {index}")
+                    
                 length = 1
                 if index+length < roi_array.size:
                     while roi_ravel[index+length] == 1:
                         length +=1         
 
+                if verbose == True:
+                    print(f" ... with length {length}")
                 compressed_data.add(np.array([index, length], dtype=np.uint32))
                 index += length
             else:
diff --git a/python_package/src/onlinemid/runningstats/call_runningstats.py b/python_package/src/onlinemid/runningstats/call_runningstats.py
index 0f57324..2b82247 100644
--- a/python_package/src/onlinemid/runningstats/call_runningstats.py
+++ b/python_package/src/onlinemid/runningstats/call_runningstats.py
@@ -66,13 +66,13 @@ class Runningstats():
         self.dtype = np.float32
 
 
-    def update_roi(self, list_of_module_name_and_roi_pairs):
+    def update_roi(self, list_of_module_name_and_roi_pairs, verbose=False):
         for pair in list_of_module_name_and_roi_pairs:
             module_name = pair[0]
 
             self.ensure_init_module(module_name)
             
-            online_roi = make_onlineroi_from_roi_array(pair[1])
+            online_roi = make_onlineroi_from_roi_array(pair[1], verbose=verbose)
 
             self.module[module_name].update(online_roi)
 
-- 
GitLab