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