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 2ae9c658e353bcdd766363c2c300bf2c5bffb45e..aa43122d7ee80d9c6bf406efcd71e3ebd5046e81 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 4b17d1591c0ba1dee273ddb92e0771fc3f4a3368..a3f10ebe4fdfa98ff104a290bcfaf587bfb828ff 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 0f57324e6498e56ec547c1685cde0b2479299cd3..2b822473f23cbc998225af1c894b7e7bb5251939 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)