From 7ed1506d68399f89edf474c45c8566bb577c0046 Mon Sep 17 00:00:00 2001
From: ahmedk <karim.ahmed@xfel.eu>
Date: Mon, 18 Mar 2024 13:01:44 +0100
Subject: [PATCH] Change calibration action from FF to GAIN_INJECT and update
 out_folder in gain_map NBC to fit_data_folder

---
 ...ngfrau_Create_Fit_Spectra_Histos_NBC.ipynb |  3 +-
 .../Jungfrau_Create_Gain_maps_NBC.ipynb       | 35 ++++++++-----------
 ...ungfrau_gain_Spectra_Fit_Summary_NBC.ipynb |  3 --
 src/xfel_calibrate/notebooks.py               |  2 +-
 4 files changed, 17 insertions(+), 26 deletions(-)

diff --git a/notebooks/Jungfrau/Jungfrau_Create_Fit_Spectra_Histos_NBC.ipynb b/notebooks/Jungfrau/Jungfrau_Create_Fit_Spectra_Histos_NBC.ipynb
index 241e80639..099bd0a81 100644
--- a/notebooks/Jungfrau/Jungfrau_Create_Fit_Spectra_Histos_NBC.ipynb
+++ b/notebooks/Jungfrau/Jungfrau_Create_Fit_Spectra_Histos_NBC.ipynb
@@ -80,9 +80,8 @@
     "\n",
     "import numpy as np\n",
     "import pasha as psh\n",
-    "from extra_data import H5File, RunDirectory, open_run\n",
+    "from extra_data import RunDirectory\n",
     "from h5py import File as h5file\n",
-    "from XFELDetAna.detectors.jungfrau.util import count_n_files\n",
     "\n",
     "import cal_tools.restful_config as rest_cfg\n",
     "from cal_tools.calcat_interface import JUNGFRAU_CalibrationData\n",
diff --git a/notebooks/Jungfrau/Jungfrau_Create_Gain_maps_NBC.ipynb b/notebooks/Jungfrau/Jungfrau_Create_Gain_maps_NBC.ipynb
index 79f272704..163a9e96d 100755
--- a/notebooks/Jungfrau/Jungfrau_Create_Gain_maps_NBC.ipynb
+++ b/notebooks/Jungfrau/Jungfrau_Create_Gain_maps_NBC.ipynb
@@ -25,7 +25,7 @@
    "outputs": [],
    "source": [
     "in_folder = '/gpfs/exfel/exp/MID/202330/p900322/raw'  # RAW data path, required\n",
-    "out_folder = \"/gpfs/exfel/data/scratch/ahmedk/test/jf_ff/gain_maps\"  # Output path for gain data, required\n",
+    "fit_data_folder = \"/gpfs/exfel/data/scratch/ahmedk/test/jf_ff/gain_maps\"  # Output path for gain data, required\n",
     "metadata_folder = ''  # Directory containing calibration_metadata.yml when run by xfel-calibrate\n",
     "runs = [94]  # Number of high gain\n",
     "\n",
@@ -101,8 +101,12 @@
     "from cal_tools.calcat_interface import JUNGFRAU_CalibrationData\n",
     "from cal_tools.enums import BadPixels\n",
     "from cal_tools.jungfrau.jfstrixel import from_strixel\n",
-    "from cal_tools.jungfrau.jungfraulib import JungfrauCtrl\n",
-    "from cal_tools.tools import calcat_creation_time, get_report, save_const_to_h5, send_to_db\n",
+    "from cal_tools.tools import (\n",
+    "    calcat_creation_time,\n",
+    "    get_report,\n",
+    "    save_const_to_h5,\n",
+    "    send_to_db,\n",
+    ")\n",
     "\n",
     "%matplotlib inline"
    ]
@@ -121,7 +125,7 @@
    "outputs": [],
    "source": [
     "run = runs[0]\n",
-    "out_folder = Path(out_folder)\n",
+    "fit_data_folder = Path(fit_data_folder)\n",
     "proposal = list(filter(None, in_folder.strip('/').split('/')))[-2]\n",
     "file_loc = f\"proposal:{proposal} runs:{run}\"\n",
     "report = get_report(metadata_folder)\n",
@@ -137,7 +141,7 @@
     "g0_new = dict()\n",
     "for da in karabo_da:\n",
     "    with h5file(\n",
-    "        out_folder / spectra_fit_temp.format(run, proposal.upper(), da, fit_func),\n",
+    "        fit_data_folder / spectra_fit_temp.format(run, proposal.upper(), da, fit_func),\n",
     "        'r'\n",
     "    ) as f:\n",
     "        if strixel_sensor:\n",
@@ -252,14 +256,9 @@
     "for mod_info in jf_cal.physical_detector_units.values():\n",
     "    da_to_pdu[mod_info[\"karabo_da\"]] = mod_info[\"physical_name\"]\n",
     "\n",
-    "if g_map_old:  # TODO: DECIDE WHAT TO DO IN THIS PART AS THE FILE IS PER MODULE\n",
-    "    with h5file(g_map_old, 'r') as f:\n",
-    "        gmap_old[da] = np.array(f[old_gain_dataset_name], dtype=np.float32)\n",
-    "else:\n",
-    "    jf_metadata = jf_cal.metadata(calibrations=[\"RelativeGain10Hz\"])\n",
-    "    # TODO: display CCV timestamp\n",
-    "    const_data = jf_cal.ndarray_map(metadata=jf_metadata)\n",
-    "    jf_cal.display_markdown_retrieved_constants(metadata=jf_metadata)\n",
+    "jf_metadata = jf_cal.metadata(calibrations=[\"RelativeGain10Hz\"])\n",
+    "const_data = jf_cal.ndarray_map(metadata=jf_metadata)\n",
+    "jf_cal.display_markdown_retrieved_constants(metadata=jf_metadata)\n",
     "\n",
     "for da in karabo_da:\n",
     "    if const_data[da].get(\"RelativeGain10Hz\") is not None:\n",
@@ -338,7 +337,7 @@
     "    if correct_offset:\n",
     "        display(Markdown(\"#### Correct with better pedestal estimation\"))\n",
     "        with h5file(\n",
-    "            out_folder / spectra_fit_temp.format(run, proposal.upper(), da, fit_func),\n",
+    "            fit_data_folder / spectra_fit_temp.format(run, proposal.upper(), da, fit_func),\n",
     "            'r'\n",
     "        ) as fc:\n",
     "            corr = np.array(fc[g0_fit_dataset])\n",
@@ -533,10 +532,6 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "out_folder = Path(out_folder)\n",
-    "out_folder.mkdir(parents=True, exist_ok=True)\n",
-    "\n",
-    "\n",
     "for mode in [0, 1]:\n",
     "    # Inject constants for fixed and adaptive gain maps.\n",
     "    conditions = Conditions.Dark.jungfrau(\n",
@@ -599,9 +594,9 @@
     "                    file_loc=file_loc,\n",
     "                    report=report,\n",
     "                    creation_time=creation_time,\n",
-    "                    out_folder=out_folder,\n",
+    "                    out_folder=fit_data_folder,\n",
     "                )\n",
-    "                print(f\"Calibration constant {cname} is stored locally at {out_folder}.\\n\")"
+    "                print(f\"Calibration constant {cname} is stored locally at {fit_data_folder}.\\n\")"
    ]
   },
   {
diff --git a/notebooks/Jungfrau/Jungfrau_gain_Spectra_Fit_Summary_NBC.ipynb b/notebooks/Jungfrau/Jungfrau_gain_Spectra_Fit_Summary_NBC.ipynb
index 78b78c9db..57e17f87d 100644
--- a/notebooks/Jungfrau/Jungfrau_gain_Spectra_Fit_Summary_NBC.ipynb
+++ b/notebooks/Jungfrau/Jungfrau_gain_Spectra_Fit_Summary_NBC.ipynb
@@ -37,7 +37,6 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "import math\n",
     "import warnings\n",
     "from pathlib import Path\n",
     "\n",
@@ -47,13 +46,11 @@
     "import matplotlib\n",
     "import matplotlib.pyplot as plt\n",
     "import numpy as np\n",
-    "from IPython.display import display\n",
     "\n",
     "matplotlib.use(\"agg\")\n",
     "%matplotlib inline\n",
     "\n",
     "from cal_tools.plotting import init_jungfrau_geom\n",
-    "from XFELDetAna.plotting.simpleplot import simplePlot\n",
     "from cal_tools.restful_config import calibration_client\n",
     "from cal_tools.calcat_interface import CalCatApi"
    ]
diff --git a/src/xfel_calibrate/notebooks.py b/src/xfel_calibrate/notebooks.py
index dbf72308b..fc12847b8 100644
--- a/src/xfel_calibrate/notebooks.py
+++ b/src/xfel_calibrate/notebooks.py
@@ -213,7 +213,7 @@ notebooks = {
                             "default concurrency": list(range(8)),
                             "cluster cores": 4},
         },
-        "FF": {
+        "GAIN_INJECT": {
             "notebook":
                 "notebooks/Jungfrau/Jungfrau_Create_Gain_maps_NBC.ipynb",
             "dep_notebooks": [
-- 
GitLab