From 6bf0e7d1113b8a58f3c9f4de20a826e6417b39ae Mon Sep 17 00:00:00 2001 From: Thomas Kluyver <thomas.kluyver@xfel.eu> Date: Thu, 15 Dec 2022 09:24:00 +0100 Subject: [PATCH] Integrate using memory cell order condition in pre notebook --- notebooks/LPD/LPD_Correct_Fast.ipynb | 2 ++ ...LPD_retrieve_constants_precorrection.ipynb | 28 +++++++++++++++++-- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/notebooks/LPD/LPD_Correct_Fast.ipynb b/notebooks/LPD/LPD_Correct_Fast.ipynb index e28a84d32..0d3c8b613 100644 --- a/notebooks/LPD/LPD_Correct_Fast.ipynb +++ b/notebooks/LPD/LPD_Correct_Fast.ipynb @@ -253,6 +253,8 @@ " for da, ccvs in const_yaml.items():\n", "\n", " for calibration_name, ccv in ccvs['constants'].items():\n", + " if ccv['file-path'] is None:\n", + " continue\n", "\n", " dtype = np.uint32 if calibration_name.startswith('BadPixels') else np.float32\n", "\n", diff --git a/notebooks/LPD/LPD_retrieve_constants_precorrection.ipynb b/notebooks/LPD/LPD_retrieve_constants_precorrection.ipynb index 21ffbfb4d..be2d1ee03 100644 --- a/notebooks/LPD/LPD_retrieve_constants_precorrection.ipynb +++ b/notebooks/LPD/LPD_retrieve_constants_precorrection.ipynb @@ -27,6 +27,7 @@ "\n", "# Source parameters\n", "karabo_id = 'FXE_DET_LPD1M-1' # Karabo domain for detector.\n", + "input_source = '{karabo_id}/DET/{module_index}CH0:xtdf' # Input fast data source.\n", "\n", "# CalCat parameters\n", "creation_time = \"\" # The timestamp to use with Calibration DB. Required Format: \"YYYY-MM-DD hh:mm:ss\" e.g. 2019-07-04 11:02:41\n", @@ -48,8 +49,11 @@ "from pathlib import Path\n", "from time import perf_counter\n", "\n", + "import numpy as np\n", + "\n", "from calibration_client import CalibrationClient\n", "from calibration_client.modules import CalibrationConstantVersion\n", + "import extra_data as xd\n", "\n", "from cal_tools.tools import (\n", " CalibrationMetadata,\n", @@ -83,6 +87,22 @@ " karabo_da = [f'LPD{i:02d}' for i in modules] " ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Read the order of memory cells used\n", + "raw_data = xd.RunDirectory(Path(in_folder, f'r{run:04d}'))\n", + "\n", + "src = input_source.format(karabo_id=karabo_id, module_index=int(karabo_da[0][-2:]))\n", + "cell_ids = raw_data[src, 'image.cellId'].drop_empty_trains()\n", + "cell_ids_pattern = np.squeeze(cell_ids[0].ndarray())\n", + "cell_ids_pattern_s = \",\".join([str(c) for c in cell_ids_pattern]) + \",\"\n", + "print(\"Memory cells order:\", cell_ids_pattern_s)" + ] + }, { "cell_type": "code", "execution_count": null, @@ -114,13 +134,16 @@ " 14: 'BadPixelsDark',\n", "}\n", "\n", - "dark_condition = [\n", + "base_condition = [\n", " dict(parameter_id=1, value=bias_voltage), # Sensor bias voltage\n", " dict(parameter_id=7, value=mem_cells), # Memory cells\n", " dict(parameter_id=15, value=capacitor), # Feedback capacitor\n", " dict(parameter_id=13, value=256), # Pixels X\n", " dict(parameter_id=14, value=256), # Pixels Y\n", "]\n", + "dark_condition = base_condition + [\n", + " dict(parameter_id=142, value=cell_ids_pattern_s), # Memory cell order\n", + "]\n", "\n", "illuminated_calibrations = {\n", " 20: 'BadPixelsFF',\n", @@ -129,8 +152,7 @@ " 44: 'RelativeGain',\n", "}\n", "\n", - "illuminated_condition = dark_condition.copy()\n", - "illuminated_condition += [\n", + "illuminated_condition = base_condition + [\n", " dict(parameter_id=3, value=photon_energy), # Source energy\n", " dict(parameter_id=25, value=category) # category\n", "]" -- GitLab