From f587f9cfe94e26084af1f4a1537ca07ead616fd4 Mon Sep 17 00:00:00 2001
From: Thomas Kluyver <thomas.kluyver@xfel.eu>
Date: Fri, 2 Jun 2023 17:11:36 +0200
Subject: [PATCH] Update code in pre notebook to get memory cell order
 condition

---
 .../LPD/LPD_retrieve_constants_precorrection.ipynb   | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/notebooks/LPD/LPD_retrieve_constants_precorrection.ipynb b/notebooks/LPD/LPD_retrieve_constants_precorrection.ipynb
index 7f4558d10..43df6c636 100644
--- a/notebooks/LPD/LPD_retrieve_constants_precorrection.ipynb
+++ b/notebooks/LPD/LPD_retrieve_constants_precorrection.ipynb
@@ -38,7 +38,7 @@
     "capacitor = '5pF'  # Capacitor setting: 5pF or 50pF\n",
     "photon_energy = 9.2  # Photon energy in keV.\n",
     "category = 0  # Whom to blame.\n",
-    "use_cell_order = False  # Whether to use memory cell order as a detector condition (not stored for older constants)"
+    "use_cell_order = 'auto'  # Whether to use memory cell order as a detector condition (not stored for older constants)"
    ]
   },
   {
@@ -56,7 +56,7 @@
     "from calibration_client.modules import CalibrationConstantVersion\n",
     "import extra_data as xd\n",
     "\n",
-    "from cal_tools.lpdlib import get_mem_cell_order\n",
+    "from cal_tools.lpdlib import get_mem_cell_pattern, make_cell_order_condition\n",
     "from cal_tools.tools import (\n",
     "    CalibrationMetadata,\n",
     "    calcat_creation_time,\n",
@@ -130,12 +130,16 @@
     "    dict(parameter_id=13, value=256),  # Pixels X\n",
     "    dict(parameter_id=14, value=256),  # Pixels Y\n",
     "]\n",
-    "if use_cell_order:\n",
+    "cell_ids_pattern_s = None\n",
+    "if use_cell_order != 'never':\n",
     "    # Read the order of memory cells used\n",
     "    raw_data = xd.RunDirectory(Path(in_folder, f'r{run:04d}'))\n",
-    "    cell_ids_pattern_s = get_mem_cell_order(raw_data, det_inp_sources)\n",
+    "    cell_ids_pattern_s = make_cell_order_condition(\n",
+    "        use_cell_order, get_mem_cell_pattern(raw_data, det_inp_sources)\n",
+    "    )\n",
     "    print(\"Memory cells order:\", cell_ids_pattern_s)\n",
     "\n",
+    "if cell_ids_pattern_s is not None:\n",
     "    dark_condition = base_condition + [\n",
     "        dict(parameter_id=30, value=cell_ids_pattern_s),  # Memory cell order\n",
     "    ]\n",
-- 
GitLab