From 3e03962d216569138aa96446d28832f4adc198e5 Mon Sep 17 00:00:00 2001 From: Steffen Hauf <steffen.hauf@xfel.eu> Date: Thu, 27 Jun 2019 13:22:53 +0200 Subject: [PATCH] Propagate backlog of AGIPD notebook related changes from production system as of 06/2019 --- .../AGIPD/AGIPD_Correct_and_Verify.ipynb | 232 +++++++----------- .../Characterize_AGIPD_Gain_Darks_NBC.ipynb | 64 +++-- ...aracterize_AGIPD_Gain_FlatFields_NBC.ipynb | 20 +- .../AGIPD/Chracterize_AGIPD_Gain_PC_NBC.ipynb | 14 +- 4 files changed, 130 insertions(+), 200 deletions(-) diff --git a/notebooks/AGIPD/AGIPD_Correct_and_Verify.ipynb b/notebooks/AGIPD/AGIPD_Correct_and_Verify.ipynb index ab82b15ed..a553d709d 100644 --- a/notebooks/AGIPD/AGIPD_Correct_and_Verify.ipynb +++ b/notebooks/AGIPD/AGIPD_Correct_and_Verify.ipynb @@ -19,24 +19,24 @@ "end_time": "2019-02-21T11:30:06.730220Z", "start_time": "2019-02-21T11:30:06.658286Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ "in_folder = \"/gpfs/exfel/exp/SPB/201930/p900062/raw\" # the folder to read data from, required\n", - "run = 330 # runs to process, required\n", - "out_folder = \"/gpfs/exfel/data/scratch/haufs/test\" # the folder to output to, required\n", + "run = 370 # runs to process, required\n", + "out_folder = \"/gpfs/exfel/data/scratch/xcal/test/\" # the folder to output to, required\n", "calfile = \"/gpfs/exfel/data/scratch/haufs/agipd_on_demand/agipd_store.h5\" # path to calibration file. Leave empty if all data should come from DB\n", "sequences = [-1] # sequences to correct, set to -1 for all, range allowed\n", "mem_cells = 0 # number of memory cells used, set to 0 to automatically infer\n", "interlaced = False # whether data is in interlaced layout\n", "overwrite = True # set to True if existing data should be overwritten\n", - "no_relative_gain = True # do not do relative gain correction\n", + "no_relative_gain = False # do not do relative gain correction\n", "cluster_profile = \"noDB\"\n", "max_pulses = 500\n", "local_input = False\n", "bias_voltage = 300\n", - "cal_db_interface = \"tcp://max-exfl016:8015#8025\" # the database interface to use\n", + "cal_db_interface = \"tcp://max-exfl016:8020#8025\" # the database interface to use\n", "use_dir_creation_date = True # use the creation data of the input dir for database queries\n", "sequences_per_node = 2 # number of sequence files per cluster node if run as slurm job, set to 0 to not run SLURM parallel\n", "photon_energy = 9.2 # photon energy in keV\n", @@ -48,15 +48,16 @@ "match_asics = False # if set, inner ASIC borders are matched to the same signal level\n", "corr_asic_diag = False # if set, diagonal drop offs on ASICs are correted \n", "melt_snow = \"\" # if set to \"none\" snowy pixels are identified and resolved to NaN, if set to \"interpolate\", the value is interpolated from neighbouring pixels\n", - "cal_db_timeout = 300000 # in milli seconds\n", + "cal_db_timeout = 30000 # in milli seconds\n", "max_cells_db_dark = 0 # set to a value different than 0 to use this value for dark data DB queries\n", "max_cells_db = 0 # set to a value different than 0 to use this value for DB queries\n", - "chunk_size_idim = 32 # chunking size of imaging dimension, adjust if user software is sensitive to this.\n", + "chunk_size_idim = 1 # chunking size of imaging dimension, adjust if user software is sensitive to this.\n", "creation_date_offset = \"00:00:00\" # add an offset to creation date, e.g. to get different constants\n", "instrument = \"SPB\" # the instrument the detector is installed at, required\n", "force_hg_if_below = 1000 # set to a value other than 0 to force a pixel into high gain if it's high gain offset subtracted value is below this threshold\n", "force_mg_if_below = 1000 # set to a value other than 0 to force a pixel into medium gain if it's medium gain offset subtracted value is below this threshold\n", "mask_noisy_adc = 0.25 # set to a value other than 0 and below 1 to mask entire ADC if fraction of noisy pixels is above\n", + "adjust_mg_baseline = False \n", "\n", "def balance_sequences(in_folder, run, sequences, sequences_per_node):\n", " import glob\n", @@ -72,7 +73,7 @@ " else:\n", " seq_nums = set(sequences)\n", " nsplits = len(seq_nums)//sequences_per_node+1\n", - " while nsplits > 8:\n", + " while nsplits > 32:\n", " sequences_per_node += 1\n", " nsplits = len(seq_nums)//sequences_per_node+1\n", " print(\"Changed to {} sequences per node to have a maximum of 8 concurrent jobs\".format(sequences_per_node))\n", @@ -88,7 +89,7 @@ "end_time": "2019-02-21T11:30:07.086286Z", "start_time": "2019-02-21T11:30:06.929722Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -240,7 +241,7 @@ "end_time": "2019-02-21T11:30:07.974174Z", "start_time": "2019-02-21T11:30:07.914832Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -307,7 +308,7 @@ "end_time": "2019-02-21T11:30:08.870802Z", "start_time": "2019-02-21T11:30:08.826285Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -341,7 +342,7 @@ "end_time": "2019-02-21T11:30:16.057429Z", "start_time": "2019-02-21T11:30:10.082114Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -351,7 +352,7 @@ " bins_gain_vs_signal, bins_signal_low_range, bins_signal_high_range,\n", " bins_dig_gain_vs_signal, max_pulses, dbparms, fileparms, nodb, chunk_size_idim,\n", " special_opts, il_mode, loc, dinstance, force_hg_if_below, force_mg_if_below,\n", - " mask_noisy_adc, inp):\n", + " mask_noisy_adc, adjust_mg_baseline, inp):\n", " import numpy as np\n", " import copy\n", " import h5py\n", @@ -402,6 +403,7 @@ " signal_edges = None\n", " dig_signal_edges = None\n", " gain_stats = 0\n", + " when = None\n", " try:\n", " start = datetime.now()\n", " success = True\n", @@ -431,7 +433,8 @@ " h5_data_path=\"INSTRUMENT/{}/DET/{{}}CH0:xtdf/\".format(loc),\n", " h5_index_path=\"INDEX/{}/DET/{{}}CH0:xtdf/\".format(loc),\n", " cal_det_instance=dinstance, force_hg_if_below=force_hg_if_below,\n", - " force_mg_if_below=force_mg_if_below, mask_noisy_adc=mask_noisy_adc)\n", + " force_mg_if_below=force_mg_if_below, mask_noisy_adc=mask_noisy_adc,\n", + " adjust_mg_baseline=adjust_mg_baseline)\n", " \n", " blc_noise, blc_noise_threshold, blc_hist, match_asics, corr_asic_diag, melt_snow = special_opts\n", " agipd_corr.baseline_corr_using_noise = blc_noise\n", @@ -445,7 +448,8 @@ " except IOError:\n", " return\n", " if not nodb:\n", - " agipd_corr.initialize_from_db(dbparms, qm, only_dark=(fileparms != \"\"))\n", + " when = agipd_corr.initialize_from_db(dbparms, qm, only_dark=(fileparms != \"\"))\n", + " print(when)\n", " if fileparms != \"\":\n", " agipd_corr.initialize_from_file(fileparms, qm, with_dark=nodb)\n", " print(\"Initialized constants\")\n", @@ -475,10 +479,10 @@ " sequence = re.findall(r'.*S([0-9]{5}).*', filename)[0]\n", " filesize = os.path.getsize(filename)\n", " duration = (datetime.now()-start).total_seconds()\n", - " influx = create_influx_entry(run, proposal, qm, sequence, filesize, CHUNK_SIZE, total_sequences, success, duration, reason)\n", - " client.write_points([influx])\n", + " #influx = create_influx_entry(run, proposal, qm, sequence, filesize, CHUNK_SIZE, total_sequences, success, duration, reason)\n", + " #client.write_points([influx])\n", " return (hists_signal_low, hists_signal_high, hists_gain_vs_signal, hists_dig_gain_vs_signal,\n", - " low_edges, high_edges, signal_edges, dig_signal_edges, gain_stats, max_cells)\n", + " low_edges, high_edges, signal_edges, dig_signal_edges, gain_stats, max_cells, when)\n", " \n", "done = False\n", "first_files = []\n", @@ -500,6 +504,7 @@ " photon_energy, max_cells_db_dark, cal_db_timeout]\n", "fileparms = calfile\n", "all_cells = []\n", + "whens = []\n", "while not done:\n", " \n", " dones = []\n", @@ -524,7 +529,7 @@ " sequences_qm, bins_gain_vs_signal, bins_signal_low_range, bins_signal_high_range,\n", " bins_dig_gain_vs_signal, max_pulses, dbparms, fileparms, nodb, chunk_size_idim,\n", " special_opts, il_mode, loc, dinstance, force_hg_if_below, force_mg_if_below,\n", - " mask_noisy_adc)\n", + " mask_noisy_adc, adjust_mg_baseline)\n", " \n", " r = view.map_sync(p, inp)\n", " \n", @@ -534,8 +539,9 @@ " \n", " for rr in r:\n", " if rr is not None:\n", - " hl, hh, hg, hdg, low_edges, high_edges, signal_edges, dig_signal_edges, gs, cells = rr\n", + " hl, hh, hg, hdg, low_edges, high_edges, signal_edges, dig_signal_edges, gs, cells, when = rr\n", " all_cells.append(cells)\n", + " whens.append(when)\n", " if hl is not None: # any one being None will also make the others None\n", " hists_signal_low += hl.astype(np.float64)\n", " hists_signal_high += hh.astype(np.float64)\n", @@ -546,7 +552,22 @@ " done = all(dones)\n", "all_cells = np.array(all_cells)\n", "mem_cells = np.min(all_cells[all_cells != 0])\n", - "max_cells = mem_cells" + "max_cells = mem_cells\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "\n", + "print(\"Offset where injected on: \")\n", + "for i, when in enumerate(whens):\n", + " qm = \"Q{}M{}\".format((i%16)//4 + 1, i%4 +1)\n", + " print(\"{}: {}\".format(qm, when))" ] }, { @@ -557,7 +578,7 @@ "end_time": "2019-02-18T17:28:51.765030Z", "start_time": "2019-02-18T17:28:51.714783Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -603,7 +624,7 @@ "end_time": "2019-02-18T17:28:52.857960Z", "start_time": "2019-02-18T17:28:51.767217Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -618,7 +639,7 @@ "end_time": "2019-02-18T17:28:53.690522Z", "start_time": "2019-02-18T17:28:52.860143Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -654,7 +675,7 @@ "end_time": "2019-02-18T17:28:54.370559Z", "start_time": "2019-02-18T17:28:53.691959Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -669,7 +690,7 @@ "end_time": "2019-02-18T17:31:51.668096Z", "start_time": "2019-02-18T17:31:51.529158Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -696,7 +717,7 @@ "end_time": "2019-02-18T17:28:57.327702Z", "start_time": "2019-02-18T17:28:54.377061Z" }, - "collapsed": false, + "collapsed": true, "scrolled": false }, "outputs": [], @@ -715,7 +736,7 @@ "end_time": "2019-02-18T17:29:20.634480Z", "start_time": "2019-02-18T17:28:57.329231Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -726,66 +747,41 @@ "mask = []\n", "cell_fac = 1\n", "first_idx = 0\n", - "last_idx = cell_fac*mem_cells+first_idx\n", + "last_idx = cell_fac*176+first_idx\n", "pulse_ids = []\n", "train_ids = []\n", - "for i, ff in enumerate(first_files):\n", + "for i, ff in enumerate(first_files[:16]):\n", " try:\n", + "\n", " rf, cf = ff\n", " #print(cf, i)\n", " if rf is None:\n", + " \n", " raise Exception(\"File not present\")\n", + " #print(rf)\n", " infile = h5py.File(rf, \"r\")\n", - " raw.append(np.array(infile[\"/INSTRUMENT/SPB_DET_AGIPD1M-1/DET/{}CH0:xtdf/image/data\".format(i)][first_idx:last_idx,0,...]))\n", + " #print(\"/INSTRUMENT/{}_DET_AGIPD1M-1/DET/{}CH0:xtdf/image/data\".format(instrument, i))\n", + " raw.append(np.array(infile[\"/INSTRUMENT/{}_DET_AGIPD1M-1/DET/{}CH0:xtdf/image/data\".format(instrument, i)][first_idx:last_idx,0,...]))\n", " infile.close()\n", " \n", " infile = h5py.File(cf, \"r\")\n", " #print(\"/INSTRUMENT/SPB_DET_AGIPD1M-1/DET/{}CH0:xtdf/image/data\".format(i))\n", - " corrected.append(np.array(infile[\"/INSTRUMENT/SPB_DET_AGIPD1M-1/DET/{}CH0:xtdf/image/data\".format(i)][first_idx:last_idx,...]))\n", - " gains.append(np.array(infile[\"/INSTRUMENT/SPB_DET_AGIPD1M-1/DET/{}CH0:xtdf/image/gain\".format(i)][first_idx:last_idx,...]))\n", - " mask.append(np.array(infile[\"/INSTRUMENT/SPB_DET_AGIPD1M-1/DET/{}CH0:xtdf/image/mask\".format(i)][first_idx:last_idx,...]))\n", - " pulse_ids.append(np.squeeze(infile[\"/INSTRUMENT/SPB_DET_AGIPD1M-1/DET/{}CH0:xtdf/image/pulseId\".format(i)][first_idx:last_idx,...]))\n", - " train_ids.append(np.squeeze(infile[\"/INSTRUMENT/SPB_DET_AGIPD1M-1/DET/{}CH0:xtdf/image/trainId\".format(i)][first_idx:last_idx,...]))\n", - " \n", + " corrected.append(np.array(infile[\"/INSTRUMENT/{}_DET_AGIPD1M-1/DET/{}CH0:xtdf/image/data\".format(instrument, i)][first_idx:last_idx,...]))\n", + " gains.append(np.array(infile[\"/INSTRUMENT/{}_DET_AGIPD1M-1/DET/{}CH0:xtdf/image/gain\".format(instrument, i)][first_idx:last_idx,...]))\n", + " mask.append(np.array(infile[\"/INSTRUMENT/{}_DET_AGIPD1M-1/DET/{}CH0:xtdf/image/mask\".format(instrument, i)][first_idx:last_idx,...]))\n", + " pulse_ids.append(np.squeeze(infile[\"/INSTRUMENT/{}_DET_AGIPD1M-1/DET/{}CH0:xtdf/image/pulseId\".format(instrument, i)][first_idx:last_idx,...]))\n", + " train_ids.append(np.squeeze(infile[\"/INSTRUMENT/{}_DET_AGIPD1M-1/DET/{}CH0:xtdf/image/trainId\".format(instrument, i)][first_idx:last_idx,...]))\n", " infile.close()\n", " \n", " except Exception as e:\n", " print(e)\n", - " corrected.append(np.zeros((max_cells, 512, 128)))\n", - " gains.append(np.zeros((max_cells, 512, 128)))\n", - " mask.append(np.zeros((max_cells, 512, 128)))\n", - " raw.append(np.zeros((max_cells, 512, 128)))\n", + " corrected.append(np.zeros((last_idx-first_idx, 512, 128)))\n", + " gains.append(np.zeros((last_idx-first_idx, 512, 128)))\n", + " mask.append(np.zeros((last_idx-first_idx, 512, 128)))\n", + " raw.append(np.zeros((last_idx-first_idx, 512, 128)))\n", "\n" ] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2019-02-18T17:29:20.640288Z", - "start_time": "2019-02-18T17:29:20.636429Z" - }, - "collapsed": false - }, - "outputs": [], - "source": [ - "#import XFELDetAna.xfelpycaltools as xcal\n", - "#corr_pclas = []\n", - "#pats = []\n", - "#for i in range(16):\n", - "# d = corrected[i]\n", - "# d = np.moveaxis(d, 0, 2)[...,:128]\n", - "# n = np.array(noises[i])\n", - "# n = np.squeeze(n[:,:,:128,0])\n", - " \n", - "# pCal = xcal.PatternClassifier([512, 128], n, 7, 5., 50000, nCells=176, dType=np.float32)\n", - " \n", - "# d, p = pCal.classify(d)\n", - "# corr_pclas.append(np.moveaxis(d, 2, 0))\n", - "# pats.append(np.moveaxis(p, 2, 0))" - ] - }, { "cell_type": "code", "execution_count": null, @@ -794,20 +790,20 @@ "end_time": "2019-02-18T17:29:27.025667Z", "start_time": "2019-02-18T17:29:20.642029Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ - "domask = True\n", + "domask = False\n", "if domask:\n", " for i, c in enumerate(corrected):\n", " c[mask[i] != 0] = 0\n", " #c[pats[i] < 200] = 0\n", " #c[np.abs(pats[i]) == 1000] = np.abs(c[np.abs(pats[i]) == 1000])\n", - "combined = combine_stack(corrected, corrected[0].shape[0])\n", - "combined_raw = combine_stack(raw, raw[0].shape[0])\n", - "combined_g = combine_stack(gains, gains[0].shape[0])\n", - "combined_mask = combine_stack(mask, mask[0].shape[0])" + "combined = combine_stack(corrected, last_idx-first_idx)\n", + "combined_raw = combine_stack(raw, last_idx-first_idx)\n", + "combined_g = combine_stack(gains, last_idx-first_idx)\n", + "combined_mask = combine_stack(mask, last_idx-first_idx)" ] }, { @@ -827,7 +823,7 @@ "end_time": "2019-02-18T17:29:33.226396Z", "start_time": "2019-02-18T17:29:27.027758Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -858,7 +854,7 @@ "end_time": "2019-02-18T17:29:33.761015Z", "start_time": "2019-02-18T17:29:33.227922Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -879,14 +875,13 @@ "end_time": "2019-02-18T17:29:35.903487Z", "start_time": "2019-02-18T17:29:33.762568Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ "fig = plt.figure(figsize=(20,10))\n", "ax = fig.add_subplot(111)\n", - "h = ax.hist(dim.flatten(), bins=1000, range=(0\n", - " , 2000))\n" + "h = ax.hist(dim.flatten(), bins=1000, range=(0, 2000))\n" ] }, { @@ -906,7 +901,7 @@ "end_time": "2019-02-18T17:29:39.369686Z", "start_time": "2019-02-18T17:29:35.905152Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -927,7 +922,7 @@ "end_time": "2019-02-18T17:29:49.217848Z", "start_time": "2019-02-18T17:29:39.371232Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -937,21 +932,6 @@ "h = ax.hist(combined.flatten(), bins=1000, range=(-50, 1000), log=True)\n" ] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2019-02-18T17:29:49.222484Z", - "start_time": "2019-02-18T17:29:49.219933Z" - }, - "collapsed": false - }, - "outputs": [], - "source": [ - "#np.save('/gpfs/exfel/data/scratch/haufs/agipd_hist/prop_off_pcor_splits.npy', h)" - ] - }, { "cell_type": "markdown", "metadata": {}, @@ -969,7 +949,7 @@ "end_time": "2019-02-18T17:29:49.641675Z", "start_time": "2019-02-18T17:29:49.224167Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -999,7 +979,7 @@ "end_time": "2019-02-18T17:29:49.651913Z", "start_time": "2019-02-18T17:29:49.643556Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -1029,7 +1009,7 @@ "end_time": "2019-02-18T17:29:50.086169Z", "start_time": "2019-02-18T17:29:49.653391Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -1057,7 +1037,7 @@ "end_time": "2019-02-18T17:29:51.686562Z", "start_time": "2019-02-18T17:29:50.088883Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -1083,7 +1063,7 @@ "end_time": "2019-02-18T17:29:53.662423Z", "start_time": "2019-02-18T17:29:51.688376Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -1102,7 +1082,7 @@ "end_time": "2019-02-18T17:29:55.483270Z", "start_time": "2019-02-18T17:29:53.664226Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -1115,52 +1095,6 @@ " vmax=32, cmap=\"jet\")\n", "cb = fig.colorbar(im, ax=ax)" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2019-02-18T17:29:55.487334Z", - "start_time": "2019-02-18T17:29:55.484992Z" - }, - "collapsed": true - }, - "outputs": [], - "source": [ - "### Full Train Bad Pixels - Only Dark Char. Related, By BP Val ###" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2019-02-18T17:29:55.495110Z", - "start_time": "2019-02-18T17:29:55.489164Z" - }, - "collapsed": false - }, - "outputs": [], - "source": [ - "#for bpval in BadPixels:\n", - "# fig = plt.figure(figsize=(20,10))\n", - "# ax = fig.add_subplot(111)\n", - "# cm = combined_mask[:,:1300,400:1600].astype(np.uint32) & np.array(BadPixels.NO_DARK_DATA.value).astype(np.uint32)\n", - "# im = ax.imshow(np.log2(np.max(cm, axis=0)), vmin=0,\n", - "# vmax=32, cmap=\"jet\")\n", - "# cb = fig.colorbar(im, ax=ax)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/notebooks/AGIPD/Characterize_AGIPD_Gain_Darks_NBC.ipynb b/notebooks/AGIPD/Characterize_AGIPD_Gain_Darks_NBC.ipynb index 7b38aa63b..38ff18aba 100644 --- a/notebooks/AGIPD/Characterize_AGIPD_Gain_Darks_NBC.ipynb +++ b/notebooks/AGIPD/Characterize_AGIPD_Gain_Darks_NBC.ipynb @@ -21,7 +21,7 @@ "end_time": "2019-02-20T12:42:51.255184Z", "start_time": "2019-02-20T12:42:51.225500Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -62,7 +62,7 @@ "end_time": "2019-02-20T12:42:52.599660Z", "start_time": "2019-02-20T12:42:51.472138Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -137,7 +137,7 @@ "end_time": "2019-02-20T12:42:52.608214Z", "start_time": "2019-02-20T12:42:52.601257Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -168,7 +168,7 @@ "end_time": "2019-02-20T12:42:54.024731Z", "start_time": "2019-02-20T12:42:53.901555Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -199,7 +199,7 @@ "end_time": "2019-02-20T10:50:55.839958Z", "start_time": "2019-02-20T10:50:55.468134Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -392,14 +392,14 @@ " }\n", " \n", "if local_output:\n", - " ofile = \"{}/agipd_offset_store_{}.h5\".format(out_folder, \"_\".join(offset_runs.values()))\n", - " store_file = h5py.File(ofile, \"w\")\n", " for qm in offset_g.keys():\n", + " ofile = \"{}/agipd_offset_store_{}_{}.h5\".format(out_folder, \"_\".join(offset_runs.values()), qm)\n", + " store_file = h5py.File(ofile, \"w\")\n", " store_file[\"{}/Offset/0/data\".format(qm)] = offset_g[qm]\n", " store_file[\"{}/Noise/0/data\".format(qm)] = noise_g[qm]\n", " store_file[\"{}/Threshold/0/data\".format(qm)] = thresholds_g[qm]\n", " store_file[\"{}/BadPixels/0/data\".format(qm)] = badpix_g[qm]\n", - " store_file.close()" + " store_file.close()" ] }, { @@ -410,7 +410,7 @@ "end_time": "2018-12-06T09:49:32.449330Z", "start_time": "2018-12-06T09:49:20.231607Z" }, - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -422,7 +422,7 @@ " metadata.calibration_constant = offset\n", "\n", " # set the operating condition\n", - " condition = Conditions.Dark.AGIPD(memory_cells=mem_cells, bias_voltage=bias_voltage)\n", + " condition = Conditions.Dark.AGIPD(memory_cells=max_cells, bias_voltage=bias_voltage)\n", " detinst = getattr(Detectors, dinstance)\n", " device = getattr(detinst, qm)\n", " \n", @@ -433,7 +433,7 @@ " metadata.calibration_constant_version = Versions.Now(device=device)\n", " else:\n", " metadata.calibration_constant_version = Versions.Timespan(device=device, start=creation_time)\n", - " metadata.send(cal_db_interface)\n", + " metadata.send(cal_db_interface, timeout=3000000)\n", " \n", " \n", " metadata = ConstantMetaData()\n", @@ -442,7 +442,7 @@ " metadata.calibration_constant = noise\n", "\n", " # set the operating condition\n", - " condition = Conditions.Dark.AGIPD(memory_cells=mem_cells, bias_voltage=bias_voltage)\n", + " condition = Conditions.Dark.AGIPD(memory_cells=max_cells, bias_voltage=bias_voltage)\n", " metadata.detector_condition = condition\n", "\n", " # specify the a version for this constant\n", @@ -450,7 +450,7 @@ " metadata.calibration_constant_version = Versions.Now(device=device)\n", " else:\n", " metadata.calibration_constant_version = Versions.Timespan(device=device, start=creation_time)\n", - " metadata.send(cal_db_interface)\n", + " metadata.send(cal_db_interface, timeout=3000000)\n", " \n", " metadata = ConstantMetaData()\n", " thresholds = Constants.AGIPD.ThresholdsDark()\n", @@ -458,7 +458,7 @@ " metadata.calibration_constant = thresholds\n", "\n", " # set the operating condition\n", - " condition = Conditions.Dark.AGIPD(memory_cells=mem_cells, bias_voltage=bias_voltage)\n", + " condition = Conditions.Dark.AGIPD(memory_cells=max_cells, bias_voltage=bias_voltage)\n", " metadata.detector_condition = condition\n", "\n", " # specify the a version for this constant\n", @@ -466,7 +466,7 @@ " metadata.calibration_constant_version = Versions.Now(device=device)\n", " else:\n", " metadata.calibration_constant_version = Versions.Timespan(device=device, start=creation_time)\n", - " metadata.send(cal_db_interface)\n", + " metadata.send(cal_db_interface, timeout=3000000)\n", " \n", " metadata = ConstantMetaData()\n", " badpixels = Constants.AGIPD.BadPixelsDark()\n", @@ -474,7 +474,7 @@ " metadata.calibration_constant = badpixels\n", "\n", " # set the operating condition\n", - " condition = Conditions.Dark.AGIPD(memory_cells=mem_cells, bias_voltage=bias_voltage)\n", + " condition = Conditions.Dark.AGIPD(memory_cells=max_cells, bias_voltage=bias_voltage)\n", " metadata.detector_condition = condition\n", "\n", " # specify the a version for this constant\n", @@ -482,7 +482,7 @@ " metadata.calibration_constant_version = Versions.Now(device=device)\n", " else:\n", " metadata.calibration_constant_version = Versions.Timespan(device=device, start=creation_time)\n", - " metadata.send(cal_db_interface)" + " metadata.send(cal_db_interface, timeout=3000000)" ] }, { @@ -509,12 +509,12 @@ "end_time": "2018-12-06T09:49:14.540552Z", "start_time": "2018-12-06T09:49:13.009674Z" }, - "collapsed": false, + "collapsed": true, "scrolled": false }, "outputs": [], "source": [ - "cell = 12\n", + "cell = 3\n", "gain = 0\n", "out_folder = None\n", "show_overview(res, cell, gain, out_folder=out_folder, infix=\"_\".join(offset_runs.values()))" @@ -531,12 +531,12 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false, + "collapsed": true, "scrolled": false }, "outputs": [], "source": [ - "cell = 12\n", + "cell = 3\n", "gain = 1\n", "show_overview(res, cell, gain, out_folder=out_folder, infix=\"_\".join(offset_runs.values()))" ] @@ -552,12 +552,12 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false, + "collapsed": true, "scrolled": true }, "outputs": [], "source": [ - "cell = 12\n", + "cell = 3\n", "gain = 2\n", "show_overview(res, cell, gain, out_folder=out_folder, infix=\"_\".join(offset_runs.values()))" ] @@ -582,7 +582,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false, + "collapsed": true, "scrolled": false }, "outputs": [], @@ -610,7 +610,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -630,7 +630,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -641,9 +641,7 @@ }, { "cell_type": "markdown", - "metadata": { - "collapsed": false - }, + "metadata": {}, "source": [ "## Aggregate values, and per Cell behaviour ##\n", "\n", @@ -654,7 +652,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false, + "collapsed": true, "scrolled": false }, "outputs": [], @@ -667,7 +665,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false, + "collapsed": true, "scrolled": false }, "outputs": [], @@ -680,7 +678,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false, + "collapsed": true, "scrolled": false }, "outputs": [], @@ -693,7 +691,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ diff --git a/notebooks/AGIPD/Characterize_AGIPD_Gain_FlatFields_NBC.ipynb b/notebooks/AGIPD/Characterize_AGIPD_Gain_FlatFields_NBC.ipynb index 9b1354ba3..ab7a45136 100644 --- a/notebooks/AGIPD/Characterize_AGIPD_Gain_FlatFields_NBC.ipynb +++ b/notebooks/AGIPD/Characterize_AGIPD_Gain_FlatFields_NBC.ipynb @@ -23,7 +23,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -226,7 +226,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -390,7 +390,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -500,9 +500,7 @@ }, { "cell_type": "markdown", - "metadata": { - "collapsed": false - }, + "metadata": {}, "source": [ "Finally, we inspect the results, by plotting the number of entries, peak locations and resulting gain maps for each peak. In the course of doing so, we identify bad pixels by either having 0 entries for a peak, or having `nan` values for the peak location." ] @@ -511,7 +509,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -781,7 +779,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -808,7 +806,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -869,7 +867,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false, + "collapsed": true, "scrolled": true }, "outputs": [], @@ -983,7 +981,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ diff --git a/notebooks/AGIPD/Chracterize_AGIPD_Gain_PC_NBC.ipynb b/notebooks/AGIPD/Chracterize_AGIPD_Gain_PC_NBC.ipynb index a3f42957e..44adaee3e 100644 --- a/notebooks/AGIPD/Chracterize_AGIPD_Gain_PC_NBC.ipynb +++ b/notebooks/AGIPD/Chracterize_AGIPD_Gain_PC_NBC.ipynb @@ -147,7 +147,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -300,7 +300,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -724,7 +724,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false, + "collapsed": true, "scrolled": true }, "outputs": [], @@ -1052,7 +1052,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -1071,7 +1071,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -1091,7 +1091,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -1288,7 +1288,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ -- GitLab