From f620e2e08ca47dfd4b1ed27b5311ad9ffd07d1f5 Mon Sep 17 00:00:00 2001
From: Mikhail Karnevskiy <xcaltst@max-exfl017.desy.de>
Date: Thu, 30 Jan 2020 17:34:08 +0100
Subject: [PATCH] Enable variation of ports in DB interface

---
 .../Characterize_AGIPD_Gain_Darks_NBC.ipynb   |  6 ++-
 .../DSSC/Characterize_DSSC_Darks_NBC.ipynb    |  8 +++-
 ...s_NewDAQ_FastCCD_NBC_New_Common_Mode.ipynb |  3 +-
 ...rk_analysis_all_gains_burst_mode_NBC.ipynb |  5 ++-
 .../ePix/Characterize_Darks_ePix10K_NBC.ipynb |  5 ++-
 .../ePix/Characterize_Darks_ePix_NBC.ipynb    |  3 +-
 notebooks/ePix/Correction_ePix10K_NBC.ipynb   | 39 +++++--------------
 notebooks/ePix/Correction_ePix_NBC.ipynb      |  8 ----
 .../pnCCD/Characterize_pnCCD_Dark_NBC.ipynb   |  3 +-
 notebooks/pnCCD/Correct_pnCCD_NBC.ipynb       | 34 ----------------
 10 files changed, 33 insertions(+), 81 deletions(-)

diff --git a/notebooks/AGIPD/Characterize_AGIPD_Gain_Darks_NBC.ipynb b/notebooks/AGIPD/Characterize_AGIPD_Gain_Darks_NBC.ipynb
index bcf8aa001..5b9a3a171 100644
--- a/notebooks/AGIPD/Characterize_AGIPD_Gain_Darks_NBC.ipynb
+++ b/notebooks/AGIPD/Characterize_AGIPD_Gain_Darks_NBC.ipynb
@@ -81,7 +81,8 @@
     "\n",
     "from cal_tools.tools import (gain_map_files, parse_runs, \n",
     "                             run_prop_seq_from_path, get_notebook_name, \n",
-    "                             get_dir_creation_date, save_const_to_h5)\n",
+    "                             get_dir_creation_date, save_const_to_h5,\n",
+    "                             get_random_db_interface)\n",
     "from cal_tools.influx import InfluxLogger\n",
     "from cal_tools.enums import BadPixels\n",
     "from cal_tools.plotting import show_overview, plot_badpix_3d, create_constant_overview\n",
@@ -121,6 +122,9 @@
     "\n",
     "print(\"Using {} as creation time of constant.\".format(creation_time))\n",
     "\n",
+    "cal_db_interface = get_random_db_interface(cal_db_interface)\n",
+    "print('Calibration database interface: {}'.format(cal_db_interface))\n",
+    "\n",
     "loc = None\n",
     "if instrument == \"SPB\":\n",
     "    loc = \"SPB_DET_AGIPD1M-1\"\n",
diff --git a/notebooks/DSSC/Characterize_DSSC_Darks_NBC.ipynb b/notebooks/DSSC/Characterize_DSSC_Darks_NBC.ipynb
index 5dea2314e..dc60b3977 100644
--- a/notebooks/DSSC/Characterize_DSSC_Darks_NBC.ipynb
+++ b/notebooks/DSSC/Characterize_DSSC_Darks_NBC.ipynb
@@ -74,7 +74,9 @@
     "import matplotlib.pyplot as plt\n",
     "%matplotlib inline\n",
     "\n",
-    "from cal_tools.tools import gain_map_files, parse_runs, run_prop_seq_from_path, get_notebook_name, get_dir_creation_date\n",
+    "from cal_tools.tools import (gain_map_files, parse_runs, run_prop_seq_from_path, \n",
+    "                             get_notebook_name, get_dir_creation_date,\n",
+    "                             get_random_db_interface)\n",
     "from cal_tools.influx import InfluxLogger\n",
     "from cal_tools.enums import BadPixels\n",
     "from cal_tools.plotting import show_overview, plot_badpix_3d, create_constant_overview\n",
@@ -115,7 +117,9 @@
     "    loc = \"SCS_DET_DSSC1M-1\"\n",
     "    dinstance = \"DSSC1M1\"\n",
     "\n",
-    "print(\"Detector in use is {}\".format(loc))    "
+    "print(\"Detector in use is {}\".format(loc))    \n",
+    "\n",
+    "cal_db_interface = get_random_db_interface(cal_db_interface)"
    ]
   },
   {
diff --git a/notebooks/FastCCD/Characterize_Darks_NewDAQ_FastCCD_NBC_New_Common_Mode.ipynb b/notebooks/FastCCD/Characterize_Darks_NewDAQ_FastCCD_NBC_New_Common_Mode.ipynb
index 0d92477c9..9ad805c32 100644
--- a/notebooks/FastCCD/Characterize_Darks_NewDAQ_FastCCD_NBC_New_Common_Mode.ipynb
+++ b/notebooks/FastCCD/Characterize_Darks_NewDAQ_FastCCD_NBC_New_Common_Mode.ipynb
@@ -89,7 +89,7 @@
     "\n",
     "from iCalibrationDB import ConstantMetaData, Constants, Conditions, Detectors, Versions\n",
     "from iCalibrationDB.detectors import DetectorTypes\n",
-    "from cal_tools.tools import get_dir_creation_date, save_const_to_h5\n",
+    "from cal_tools.tools import get_dir_creation_date, save_const_to_h5, get_random_db_interface\n",
     "from cal_tools.enums import BadPixels\n",
     "from XFELDetAna import xfelpyanatools as xana\n",
     "from XFELDetAna import xfelpycaltools as xcal\n",
@@ -179,6 +179,7 @@
     "if use_dir_creation_date:\n",
     "    creation_time = get_dir_creation_date(in_folder, run)\n",
     "        \n",
+    "cal_db_interface = get_random_db_interface(cal_db_interface)\n",
     "print('Calibration database interface: {}'.format(cal_db_interface))\n",
     "print(\"Sending constants to the calibration database: {}\".format(db_output))\n",
     "print(\"HDF5 path to data: {}\".format(h5path))\n",
diff --git a/notebooks/Jungfrau/Jungfrau_dark_analysis_all_gains_burst_mode_NBC.ipynb b/notebooks/Jungfrau/Jungfrau_dark_analysis_all_gains_burst_mode_NBC.ipynb
index 00b7278b0..3c6e1a67d 100644
--- a/notebooks/Jungfrau/Jungfrau_dark_analysis_all_gains_burst_mode_NBC.ipynb
+++ b/notebooks/Jungfrau/Jungfrau_dark_analysis_all_gains_burst_mode_NBC.ipynb
@@ -65,7 +65,7 @@
     "from h5py import File as h5file\n",
     "\n",
     "from cal_tools.enums import BadPixels\n",
-    "from cal_tools.tools import get_dir_creation_date\n",
+    "from cal_tools.tools import get_dir_creation_date, get_random_db_interface\n",
     "from cal_tools.ana_tools import save_dict_to_hdf5\n",
     "from iCalibrationDB import ConstantMetaData, Constants, Conditions, Detectors, Versions\n",
     "\n",
@@ -96,6 +96,9 @@
     "if use_dir_creation_date:\n",
     "    creation_time = get_dir_creation_date(in_folder, run_high)\n",
     "    print(\"Using {} as creation time\".format(creation_time))\n",
+    "\n",
+    "cal_db_interface = get_random_db_interface(cal_db_interface)\n",
+    "print('Calibration database interface: {}'.format(cal_db_interface))\n",
     "    \n",
     "offset_abs_threshold = [offset_abs_threshold_low, offset_abs_threshold_high]\n",
     "\n",
diff --git a/notebooks/ePix/Characterize_Darks_ePix10K_NBC.ipynb b/notebooks/ePix/Characterize_Darks_ePix10K_NBC.ipynb
index b4f102b23..8d2b228d0 100644
--- a/notebooks/ePix/Characterize_Darks_ePix10K_NBC.ipynb
+++ b/notebooks/ePix/Characterize_Darks_ePix10K_NBC.ipynb
@@ -65,7 +65,7 @@
     "prettyPlotting = True\n",
     "from XFELDetAna.xfelreaders import ChunkReader\n",
     "from XFELDetAna.detectors.fastccd import readerh5 as fastccdreaderh5\n",
-    "from cal_tools.tools import get_dir_creation_date, save_const_to_h5\n",
+    "from cal_tools.tools import get_dir_creation_date, save_const_to_h5, get_random_db_interface\n",
     "\n",
     "from iCalibrationDB import (ConstantMetaData, Constants, Conditions, Detectors,\n",
     "                            Versions)\n",
@@ -75,7 +75,7 @@
     "import os\n",
     "import h5py\n",
     "import matplotlib.pyplot as plt\n",
-    "% matplotlib inline\n",
+    "%matplotlib inline\n",
     "\n",
     "h5path = h5path.format(instance)\n",
     "h5path_t = h5path_t.format(instance)\n",
@@ -262,6 +262,7 @@
    "source": [
     "# Save constants to DB\n",
     "dclass=\"ePix10K\"\n",
+    "cal_db_interface = get_random_db_interface(cal_db_interface)\n",
     "for const_name in constant_maps.keys():\n",
     "    metadata = ConstantMetaData()\n",
     "    det = getattr(Constants, dclass)\n",
diff --git a/notebooks/ePix/Characterize_Darks_ePix_NBC.ipynb b/notebooks/ePix/Characterize_Darks_ePix_NBC.ipynb
index d86b4cd12..7b75803a0 100644
--- a/notebooks/ePix/Characterize_Darks_ePix_NBC.ipynb
+++ b/notebooks/ePix/Characterize_Darks_ePix_NBC.ipynb
@@ -65,7 +65,7 @@
     "prettyPlotting = True\n",
     "from XFELDetAna.xfelreaders import ChunkReader\n",
     "from XFELDetAna.detectors.fastccd import readerh5 as fastccdreaderh5\n",
-    "from cal_tools.tools import get_dir_creation_date, save_const_to_h5\n",
+    "from cal_tools.tools import get_dir_creation_date, save_const_to_h5, get_random_db_interface\n",
     "\n",
     "from iCalibrationDB import (ConstantMetaData, Constants, Conditions, Detectors,\n",
     "                            Versions)\n",
@@ -255,6 +255,7 @@
    "source": [
     "# Save constants to DB\n",
     "dclass=\"ePix100\"\n",
+    "cal_db_interface = get_random_db_interface(cal_db_interface)\n",
     "for const_name in constant_maps.keys():\n",
     "    metadata = ConstantMetaData()\n",
     "    det = getattr(Constants, dclass)\n",
diff --git a/notebooks/ePix/Correction_ePix10K_NBC.ipynb b/notebooks/ePix/Correction_ePix10K_NBC.ipynb
index 1dbefa31b..f4a3517b2 100644
--- a/notebooks/ePix/Correction_ePix10K_NBC.ipynb
+++ b/notebooks/ePix/Correction_ePix10K_NBC.ipynb
@@ -117,14 +117,6 @@
     "if sequences[0] == -1:\n",
     "    sequences = None\n",
     "\n",
-    "if \"#\" in cal_db_interface:\n",
-    "    prot, serv, ran = cal_db_interface.split(\":\")\n",
-    "    r1, r2 = ran.split(\"#\")\n",
-    "    cal_db_interface = \":\".join(\n",
-    "        [prot, serv, str(np.random.randint(int(r1), int(r2)))])\n",
-    "    \n",
-    "print(\"Interface to Cal DB: \", cal_db_interface)\n",
-    "\n",
     "h5path = h5path.format(instance)\n",
     "h5path_t = h5path_t.format(instance)\n",
     "h5path_cntrl = h5path_cntrl.format(instance)"
@@ -209,8 +201,7 @@
     "ExecuteTime": {
      "end_time": "2018-12-06T15:54:24.088948Z",
      "start_time": "2018-12-06T15:54:24.059925Z"
-    },
-    "collapsed": true
+    }
    },
    "outputs": [],
    "source": [
@@ -332,9 +323,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
-   "metadata": {
-    "collapsed": true
-   },
+   "metadata": {},
    "outputs": [],
    "source": []
   },
@@ -366,8 +355,7 @@
     "ExecuteTime": {
      "end_time": "2018-12-06T16:08:51.886343Z",
      "start_time": "2018-12-06T16:08:51.842837Z"
-    },
-    "collapsed": true
+    }
    },
    "outputs": [],
    "source": [
@@ -395,8 +383,7 @@
     "ExecuteTime": {
      "end_time": "2018-12-06T16:08:53.042555Z",
      "start_time": "2018-12-06T16:08:53.034522Z"
-    },
-    "collapsed": true
+    }
    },
    "outputs": [],
    "source": [
@@ -407,9 +394,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
-   "metadata": {
-    "collapsed": true
-   },
+   "metadata": {},
    "outputs": [],
    "source": [
     "#************************Calculators************************#\n",
@@ -455,9 +440,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
-   "metadata": {
-    "collapsed": true
-   },
+   "metadata": {},
    "outputs": [],
    "source": [
     "cmCorrection.debug()\n",
@@ -473,8 +456,7 @@
     "ExecuteTime": {
      "end_time": "2018-12-06T16:08:53.551111Z",
      "start_time": "2018-12-06T16:08:53.531064Z"
-    },
-    "collapsed": true
+    }
    },
    "outputs": [],
    "source": [
@@ -507,8 +489,7 @@
     "ExecuteTime": {
      "end_time": "2018-12-06T16:10:55.917179Z",
      "start_time": "2018-12-06T16:09:01.603633Z"
-    },
-    "collapsed": true
+    }
    },
    "outputs": [],
    "source": [
@@ -683,9 +664,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
-   "metadata": {
-    "collapsed": true
-   },
+   "metadata": {},
    "outputs": [],
    "source": []
   }
diff --git a/notebooks/ePix/Correction_ePix_NBC.ipynb b/notebooks/ePix/Correction_ePix_NBC.ipynb
index ec4a20eb7..9a5c64e12 100644
--- a/notebooks/ePix/Correction_ePix_NBC.ipynb
+++ b/notebooks/ePix/Correction_ePix_NBC.ipynb
@@ -120,14 +120,6 @@
     "if sequences[0] == -1:\n",
     "    sequences = None\n",
     "\n",
-    "if \"#\" in cal_db_interface:\n",
-    "    prot, serv, ran = cal_db_interface.split(\":\")\n",
-    "    r1, r2 = ran.split(\"#\")\n",
-    "    cal_db_interface = \":\".join(\n",
-    "        [prot, serv, str(np.random.randint(int(r1), int(r2)))])\n",
-    "    \n",
-    "print(\"Interface to Cal DB: \", cal_db_interface)\n",
-    "\n",
     "h5path = h5path.format(instance)\n",
     "h5path_t = h5path_t.format(instance)\n",
     "h5path_cntrl = h5path_cntrl.format(instance)\n",
diff --git a/notebooks/pnCCD/Characterize_pnCCD_Dark_NBC.ipynb b/notebooks/pnCCD/Characterize_pnCCD_Dark_NBC.ipynb
index 77af078b9..124039ed8 100644
--- a/notebooks/pnCCD/Characterize_pnCCD_Dark_NBC.ipynb
+++ b/notebooks/pnCCD/Characterize_pnCCD_Dark_NBC.ipynb
@@ -86,7 +86,7 @@
     "prettyPlotting=True\n",
     "from XFELDetAna.xfelreaders import ChunkReader\n",
     "from XFELDetAna.detectors.fastccd import readerh5 as fastccdreaderh5\n",
-    "from cal_tools.tools import get_dir_creation_date, save_const_to_h5\n",
+    "from cal_tools.tools import get_dir_creation_date, save_const_to_h5, get_random_db_interface\n",
     "from cal_tools.enums import BadPixels"
    ]
   },
@@ -157,6 +157,7 @@
     "if use_dir_creation_date:\n",
     "    creation_time = get_dir_creation_date(in_folder, run)\n",
     "    \n",
+    "cal_db_interface = get_random_db_interface(cal_db_interface)\n",
     "print('Calibration database interface: {}'.format(cal_db_interface))\n",
     "print(\"Sending constants to the calibration database: {}\".format(db_output))\n",
     "print(\"HDF5 path to data: {}\".format(h5path))\n",
diff --git a/notebooks/pnCCD/Correct_pnCCD_NBC.ipynb b/notebooks/pnCCD/Correct_pnCCD_NBC.ipynb
index 66628bcb8..1031c988f 100644
--- a/notebooks/pnCCD/Correct_pnCCD_NBC.ipynb
+++ b/notebooks/pnCCD/Correct_pnCCD_NBC.ipynb
@@ -706,40 +706,6 @@
     "            print(\"Couldn't calibrate data in {}: {}\".format(f, e))\n"
    ]
   },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Common mode statistics ##\n",
-    "\n",
-    "Common mode statistics of at most the first 500 frames. Frames increase upwards on the y-axis, columns in the image are on the x-axis. The four quadrants are shown individually-"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "cmStats = cmCorrection.get()"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {
-    "scrolled": false
-   },
-   "outputs": [],
-   "source": [
-    "for i in range(0, cmStats.shape[0]):\n",
-    "    cmStatConcat = cmStats[i, :, :500]\n",
-    "    fig = xana.heatmapPlot(cmStatConcat.T, figsize=(8,14), lut_label=\"Common mode (ADU)\",\n",
-    "                           y_label = \"frame\",\n",
-    "                           x_label = \"column\",\n",
-    "                           vmin=-5000, vmax=5000)"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": null,
-- 
GitLab