From 727c880bb210cf0473af8edd3e60b43e66af9216 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Senfftleben?= <bjoern.senfftleben@xfel.eu>
Date: Wed, 21 Feb 2024 14:08:39 +0100
Subject: [PATCH] Updating Timepix3 Calibration Pipeline for compatibility with
 new Karabo Implementation + some general improvements

---
 .../Compute_Timepix_Event_Centroids.ipynb     | 20 +++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/notebooks/Timepix/Compute_Timepix_Event_Centroids.ipynb b/notebooks/Timepix/Compute_Timepix_Event_Centroids.ipynb
index 08c7fdb5d..55b3f9ea1 100755
--- a/notebooks/Timepix/Compute_Timepix_Event_Centroids.ipynb
+++ b/notebooks/Timepix/Compute_Timepix_Event_Centroids.ipynb
@@ -30,11 +30,11 @@
     "cal_db_interface = 'foo'  # Calibration DB interface, currently not used.\n",
     "karabo_da = 'bar'  # Karabo data aggregator name, currently not used\n",
     "\n",
-    "karabo_id = 'SQS_AQS_CAM'\n",
-    "in_fast_data = '{karabo_id}/CAM/TIMEPIX3:daqEventOutput'\n",
+    "karabo_id = 'SQS_EXP_TIMEPIX'\n",
+    "in_fast_data = '{karabo_id}/DET/TIMEPIX3:daqOutput.chip0'\n",
     "out_device_id = '{karabo_id}/CAL/TIMEPIX3'\n",
-    "out_fast_data = '{karabo_id}/CAL/TIMEPIX3:output'\n",
-    "out_aggregator = 'TPX01'\n",
+    "out_fast_data = '{karabo_id}/CAL/TIMEPIX3:outputChip0'\n",
+    "out_aggregator = 'TIMEPIX01'\n",
     "out_seq_len = 2000\n",
     "\n",
     "max_num_centroids = 10000  # Maximum number of centroids per train\n",
@@ -45,7 +45,7 @@
     "clustering_epsilon = 2.0  # centroiding: The maximum distance between two samples for one to be considered as in the neighborhood of the other\n",
     "clustering_tof_scale = 1e7  # centroiding: Scaling factor for the ToA axis so that the epsilon parameter in DB scan works in all 3 dimensions\n",
     "clustering_min_samples = 2  # centroiding: minimum number of samples necessary for a cluster\n",
-    "clustering_n_jobs = 1  # centroiding: (DBSCAN) The number of parallel jobs to run.\n",
+    "clustering_n_jobs = 5  # centroiding: (DBSCAN) The number of parallel jobs to run.\n",
     "threshold_tot = 0 # raw data: minimum ToT necessary for a pixel to contain valid data\n",
     "\n",
     "raw_timewalk_lut_filepath = ''  # fpath to look up table for timewalk correction relative to proposal path or empty string,\n",
@@ -251,10 +251,10 @@
     "                      centroiding_timewalk_lut=None):\n",
     "    # format input data\n",
     "    _tpx_data = {\n",
-    "        \"x\": x,\n",
-    "        \"y\": y,\n",
-    "        \"toa\": tof,\n",
-    "        \"tot\": tot\n",
+    "        \"x\": x.astype(float),\n",
+    "        \"y\": y.astype(float),\n",
+    "        \"toa\": tof.astype(float),\n",
+    "        \"tot\": tot.astype(float)\n",
     "    }\n",
     "\n",
     "    # ensure that valid data is available\n",
@@ -264,7 +264,7 @@
     "            print(\"Data validation failed with message: %s\" % error_msgs[data_validation])\n",
     "        else:\n",
     "            print(\"Data validation failed: unknown reason\")\n",
-    "        return None\n",
+    "        return empty_centroid_data()\n",
     "\n",
     "    # clustering (identify clusters in 2d data (x,y,tof) that belong to a single hit,\n",
     "    # each sample belonging to a cluster is labeled with an integer cluster id no)\n",
-- 
GitLab