From b695fd55134d9b855a53e05b4faff467d09e6f31 Mon Sep 17 00:00:00 2001
From: Mads Jakobsen <mads.jakobsen@xfel.eu>
Date: Wed, 12 Mar 2025 11:07:48 +0100
Subject: [PATCH] adding agipd test data generating function

---
 python_package/src/onlinemid/utils/agipd.py | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/python_package/src/onlinemid/utils/agipd.py b/python_package/src/onlinemid/utils/agipd.py
index f553a81..aa9f0f4 100644
--- a/python_package/src/onlinemid/utils/agipd.py
+++ b/python_package/src/onlinemid/utils/agipd.py
@@ -110,3 +110,24 @@ def agipd_module_number_from_agipd_module_name(module_name):
             return -1
 
 
+def generate_test_data(shape=None, q=0.02,photonEnergy=1, prob_below_threshold=0.005, prob_above_threshold=0.005, prob_nans=0.005):
+    if shape is None:
+        shape = (50, 512, 128)
+    
+    size = shape[0]*shape[1]*shape[2]
+    
+    propabilityValues = [q**0, q**1, q**2, q**3, q**4, q**5, q**6, prob_below_threshold/shape[0], prob_above_threshold/shape[0], prob_nans/shape[0]]
+    values =            [   0,    1,    2,    3,    4,    5,    6, -40, 100, np.nan]
+    photonData = np.reshape(
+            np.random.choice(
+                values, 
+                size=size, 
+                p=propabilityValues/np.sum(propabilityValues))
+            ,shape)
+    
+    detectorData = (
+        photonData
+        *photonEnergy
+        ).astype(np.float32)
+    
+    return detectorData
-- 
GitLab