From 5ed9ecf12ba8fd7fa6af59d52a7437b1af913c84 Mon Sep 17 00:00:00 2001 From: ahmedk <karim.ahmed@xfel.eu> Date: Mon, 7 Nov 2022 16:12:00 +0100 Subject: [PATCH] retest epix100 and add warning --- notebooks/LPD/LPD_Correct_Fast.ipynb | 2 ++ ...LPD_retrieve_constants_precorrection.ipynb | 33 ------------------- .../ePix100/Correction_ePix100_NBC.ipynb | 15 +++++---- ...100_retrieve_constants_precorrection.ipynb | 24 ++++++++++---- 4 files changed, 28 insertions(+), 46 deletions(-) diff --git a/notebooks/LPD/LPD_Correct_Fast.ipynb b/notebooks/LPD/LPD_Correct_Fast.ipynb index 397d144a4..be56e6b66 100644 --- a/notebooks/LPD/LPD_Correct_Fast.ipynb +++ b/notebooks/LPD/LPD_Correct_Fast.ipynb @@ -135,6 +135,8 @@ "cal_db_root = Path(cal_db_root)\n", "\n", "metadata = CalibrationMetadata(metadata_folder or out_folder)\n", + "# Constant paths & timestamps are saved under retrieved-constants in calibration_metadata.yml\n", + "retrieved_constants = metadata.setdefault(\"retrieved-constants\", {})\n", "\n", "creation_time = calcat_creation_time(in_folder, run, creation_time)\n", "print(f'Using {creation_time.isoformat()} as creation time')\n", diff --git a/notebooks/LPD/LPD_retrieve_constants_precorrection.ipynb b/notebooks/LPD/LPD_retrieve_constants_precorrection.ipynb index 9d6088af1..5362f87e3 100644 --- a/notebooks/LPD/LPD_retrieve_constants_precorrection.ipynb +++ b/notebooks/LPD/LPD_retrieve_constants_precorrection.ipynb @@ -90,39 +90,6 @@ "step_timer = StepTimer()" ] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "dark_calibrations = {\n", - " 1: 'Offset',\n", - " 14: 'BadPixelsDark',\n", - "}\n", - "\n", - "dark_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", - "\n", - "illuminated_calibrations = {\n", - " 20: 'BadPixelsFF',\n", - " 42: 'GainAmpMap',\n", - " 43: 'FFMap',\n", - " 44: 'RelativeGain',\n", - "}\n", - "\n", - "illuminated_condition = dark_condition.copy()\n", - "illuminated_condition += [\n", - " dict(parameter_id=3, value=photon_energy), # Source energy\n", - " dict(parameter_id=25, value=category) # category\n", - "]" - ] - }, { "cell_type": "code", "execution_count": null, diff --git a/notebooks/ePix100/Correction_ePix100_NBC.ipynb b/notebooks/ePix100/Correction_ePix100_NBC.ipynb index 9a38ee093..ca19f1bdb 100644 --- a/notebooks/ePix100/Correction_ePix100_NBC.ipynb +++ b/notebooks/ePix100/Correction_ePix100_NBC.ipynb @@ -85,6 +85,7 @@ "source": [ "import tabulate\n", "import warnings\n", + "from logging import warning\n", "\n", "import h5py\n", "import pasha as psh\n", @@ -292,12 +293,14 @@ " try:\n", " const_data[cname] = epix_cal.ndarray(module=1, calibration=cname) # TODO: what is this module number?\n", " except CalCatError as e:\n", - " if cname == \"RelativeGainEPix100\":\n", - " print(\"RelativeGainEPix100 is not found. No gain correction will be applied.\")\n", - " relative_gain = False\n", - " absolute_gain = False\n", - " else:\n", - " raise CalCatError(f\"{cname}: {e}\")" + " if cname != \"RelativeGainEPix100\":\n", + " raise\n", + "\n", + "# Set gain bools to False if constant is not available.\n", + "if relative_gain and \"RelativeGainEPix100\" not in const_data.values():\n", + " warning(\"RelativeGainEPix100 is not found in CALCAT. Gain correction wont be applied.\")\n", + " relative_gain = False\n", + " absolute_gain = False" ] }, { diff --git a/notebooks/ePix100/ePix100_retrieve_constants_precorrection.ipynb b/notebooks/ePix100/ePix100_retrieve_constants_precorrection.ipynb index a8a56f47d..4c118dc56 100644 --- a/notebooks/ePix100/ePix100_retrieve_constants_precorrection.ipynb +++ b/notebooks/ePix100/ePix100_retrieve_constants_precorrection.ipynb @@ -51,11 +51,13 @@ "metadata": {}, "outputs": [], "source": [ + "from logging import warning\n", + "\n", "import numpy as np\n", "from extra_data import RunDirectory\n", "from pathlib import Path\n", "\n", - "from cal_tools.calcat_interface import EPIX100_CalibrationData\n", + "from cal_tools.calcat_interface import CalCatError, EPIX100_CalibrationData\n", "from cal_tools.epix100 import epix100lib\n", "from cal_tools.tools import (\n", " calcat_creation_time,\n", @@ -162,12 +164,20 @@ "\n", "for cname in constant_names:\n", " # Retrieve metadata for all epix100 constants.\n", - " for cname, ccv_metadata in list(epix_cal.metadata([cname]).values())[0].items():\n", - " mdata_dict[\"constants\"][cname] = dict()\n", - " mdata_dict[\"constants\"][cname][\"path\"] = str(epix_cal.caldb_root / ccv_metadata[\"path\"])\n", - " mdata_dict[\"constants\"][cname][\"dataset\"] = ccv_metadata[\"dataset\"]\n", - " mdata_dict[\"constants\"][cname][\"creation-time\"] = ccv_metadata[\"begin_validity_at\"]\n", - " print(f\"Retrieved {cname} with creation-time: {ccv_metadata['begin_validity_at']}\")\n", + " try:\n", + " epix_metadata = epix_cal.metadata([cname])\n", + " for cname, ccv_metadata in list(epix_metadata.values())[0].items():\n", + " mdata_dict[\"constants\"][cname] = {\n", + " \"path\": str(epix_cal.caldb_root / ccv_metadata[\"path\"]),\n", + " \"dataset\": ccv_metadata[\"dataset\"],\n", + " \"creation-time\": ccv_metadata[\"begin_validity_at\"],\n", + " }\n", + " print(f\"Retrieved {cname} with creation-time: {ccv_metadata['begin_validity_at']}\")\n", + " except CalCatError:\n", + " if cname == \"RelativeGainEPix100\":\n", + " warning(\"RelativeGainEPix100 is not found in CALCAT.\")\n", + " else:\n", + " raise\n", "mdata_dict[\"physical-detector-unit\"] = ccv_metadata[\"physical_name\"]\n", "retrieved_constants[karabo_da] = mdata_dict\n", "metadata.save()\n", -- GitLab