From 12c9792cf712fe3cfaf3d3aec572953469420b2d Mon Sep 17 00:00:00 2001 From: Steffen Hauf <haufs@max-exfl059.desy.de> Date: Tue, 13 Nov 2018 17:05:21 +0100 Subject: [PATCH] Reorganize into playground --- .../Characterize_LPD_GAIN_CI.ipynb | 0 .../Investigate_Non_Linear_Transition.ipynb | 0 .../Investigate_Single_Photons.ipynb | 364 ++++++++++++++++++ .../LPD/{ => playground}/LPDChar_Darks.ipynb | 0 .../LPD_BadPixel_Positioned.ipynb | 0 .../LPD/{ => playground}/LPD_Batch_Cal.ipynb | 0 .../LPD/{ => playground}/LPD_Combine.ipynb | 0 .../LPD_FlatField_Radial.ipynb | 0 .../{ => playground}/Preview-Corrected.ipynb | 0 notebooks/LPD/{ => playground}/Untitled.ipynb | 0 .../{ => playground}/correct_lpd_batch.py_old | 0 .../LPD/{ => playground}/lpdExample.ipynb | 0 notebooks/LPD/{ => playground}/metroLib.py | 0 13 files changed, 364 insertions(+) rename notebooks/LPD/{ => playground}/Characterize_LPD_GAIN_CI.ipynb (100%) rename notebooks/LPD/{ => playground}/Investigate_Non_Linear_Transition.ipynb (100%) create mode 100644 notebooks/LPD/playground/Investigate_Single_Photons.ipynb rename notebooks/LPD/{ => playground}/LPDChar_Darks.ipynb (100%) rename notebooks/LPD/{ => playground}/LPD_BadPixel_Positioned.ipynb (100%) rename notebooks/LPD/{ => playground}/LPD_Batch_Cal.ipynb (100%) rename notebooks/LPD/{ => playground}/LPD_Combine.ipynb (100%) rename notebooks/LPD/{ => playground}/LPD_FlatField_Radial.ipynb (100%) rename notebooks/LPD/{ => playground}/Preview-Corrected.ipynb (100%) rename notebooks/LPD/{ => playground}/Untitled.ipynb (100%) rename notebooks/LPD/{ => playground}/correct_lpd_batch.py_old (100%) rename notebooks/LPD/{ => playground}/lpdExample.ipynb (100%) rename notebooks/LPD/{ => playground}/metroLib.py (100%) diff --git a/notebooks/LPD/Characterize_LPD_GAIN_CI.ipynb b/notebooks/LPD/playground/Characterize_LPD_GAIN_CI.ipynb similarity index 100% rename from notebooks/LPD/Characterize_LPD_GAIN_CI.ipynb rename to notebooks/LPD/playground/Characterize_LPD_GAIN_CI.ipynb diff --git a/notebooks/LPD/Investigate_Non_Linear_Transition.ipynb b/notebooks/LPD/playground/Investigate_Non_Linear_Transition.ipynb similarity index 100% rename from notebooks/LPD/Investigate_Non_Linear_Transition.ipynb rename to notebooks/LPD/playground/Investigate_Non_Linear_Transition.ipynb diff --git a/notebooks/LPD/playground/Investigate_Single_Photons.ipynb b/notebooks/LPD/playground/Investigate_Single_Photons.ipynb new file mode 100644 index 000000000..6e7180613 --- /dev/null +++ b/notebooks/LPD/playground/Investigate_Single_Photons.ipynb @@ -0,0 +1,364 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 88, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "in_folder = \"/gpfs/exfel/exp/FXE/201831/p900038/raw/\"\n", + "runs = [116]\n", + "modules = [2]\n", + "tiles = [12]\n", + "mem_cells = 512\n", + "bias_voltage = 250\n", + "sequences = list(range(21))\n", + "capacitor = 5\n", + "pulses = list(range(40,280,4))[0:1]\n", + "dark_run = 110\n", + "cluster_profile = \"noDB4\"\n", + "path_temp = \"{}/{}/RAW-{}-LPD{:02d}-S{:05d}.h5\"\n", + "h5_temp = \"INSTRUMENT/FXE_DET_LPD1M-1/DET/{}CH0:xtdf\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from cal_tools.cal_tools import gain_map_files, parse_runs, run_prop_seq_from_path, get_notebook_name, get_dir_creation_date, get_constant_from_db\n", + "import h5py\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "import XFELDetAna.xfelpyanatools as xana\n", + "import XFELDetAna.xfelpycaltools as xcal\n", + "\n", + "import XFELDetAna.xfelprofiler as xprof\n", + "import copy\n", + "import numpy as np\n", + "\n", + "profiler = xprof.Profiler()\n", + "profiler.disable()\n", + "from XFELDetAna.util import env\n", + "env.iprofile = cluster_profile\n", + "\n", + "tile_y = 128\n", + "tile_x = 32\n", + "sensor_size = [tile_x, tile_y]\n", + "cpu_cores=32\n", + "asics = 8\n", + "asic_width=16" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Using data from ['r0116']\n", + "Evaluating pulses [40]\n" + ] + } + ], + "source": [ + "runs = parse_runs(runs)\n", + "print(\"Using data from {}\".format(runs))\n", + "print(\"Evaluating pulses {}\".format(pulses))" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 96\n", + "Reading offset data for module 2, tile 12 from /gpfs/exfel/exp/FXE/201831/p900038/raw//r0110/RAW-R0110-LPD02-S00001.h5\n", + "INSTRUMENT/FXE_DET_LPD1M-1/DET/2CH0:xtdf\n", + "Evaluting a total of 254 images\n", + "(254, 32, 128)\n" + ] + } + ], + "source": [ + "run = \"r{:04d}\".format(dark_run)\n", + "offsets = {}\n", + "noises = {}\n", + "for module in modules:\n", + " offsets[module] = {}\n", + " noises[module] = {}\n", + " for tile in tiles:\n", + " tx0, ty0 = 256-(tile//8+1)* tile_y, 256 - (tile%8+1) * tile_x\n", + " print(tx0, ty0)\n", + " ofile = path_temp.format(in_folder, run, run.upper(), module, 1)\n", + " print(\"Reading offset data for module {}, tile {} from {}\".format(module, tile, ofile))\n", + " with h5py.File(ofile, \"r\") as f:\n", + " base = h5_temp.format(module)\n", + " print(base)\n", + " cellId = np.squeeze(f[base+\"/image/cellId\"])\n", + " pulseId = np.squeeze(f[base+\"/image/pulseId\"])\n", + " valid = True\n", + " for p in pulses:\n", + " valid &= pulseId == p\n", + " print(\"Evaluting a total of {} images\".format(np.count_nonzero(valid)))\n", + " \n", + " cellId = cellId[valid]\n", + " \n", + " im = f[base+\"/image/data\"][valid,0,tx0:tx0+tile_x,ty0:ty0+tile_y].astype(np.float32)\n", + " print(im.shape)\n", + " offset = np.zeros([mem_cells]+ sensor_size, np.float32)\n", + " noise = np.zeros([mem_cells]+ sensor_size, np.float32)\n", + "\n", + " for c in np.unique(cellId):\n", + " cidx = cellId == c\n", + " offset[c, ...] = np.mean(im[cidx, ...], axis=0)\n", + " noise[c, ...] = np.std(im[cidx, ...], axis=0)\n", + " offsets[module][tile] = offset\n", + " noises[module][tile] = noise\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n3R+OGgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x2b5a9c1b7e10>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x2b5a9c15dcc0>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cell_to_prev = 40\n", + "fig = xana.heatmapPlot(offsets[modules[0]][tiles[0]][cell_to_prev,...], vmin=1000, vmax=1300, aspect=1)\n", + "fig = xana.heatmapPlot(noises[modules[0]][tiles[0]][cell_to_prev,...], vmin=0, vmax=50, aspect=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "INSTRUMENT/FXE_DET_LPD1M-1/DET/2CH0:xtdf\n", + "Evaluting a total of 256 images in sequence 0\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/gpfs/exfel/data/scratch/haufs/clean_cal/karabo/extern/lib/python3.4/site-packages/numpy/lib/function_base.py:3250: RuntimeWarning: All-NaN slice encountered\n", + " r = func(a, **kwargs)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "INSTRUMENT/FXE_DET_LPD1M-1/DET/2CH0:xtdf\n", + "Evaluting a total of 256 images in sequence 1\n", + "INSTRUMENT/FXE_DET_LPD1M-1/DET/2CH0:xtdf\n", + "Evaluting a total of 256 images in sequence 2\n", + "INSTRUMENT/FXE_DET_LPD1M-1/DET/2CH0:xtdf\n", + "Evaluting a total of 256 images in sequence 3\n", + "INSTRUMENT/FXE_DET_LPD1M-1/DET/2CH0:xtdf\n", + "Evaluting a total of 256 images in sequence 4\n", + "INSTRUMENT/FXE_DET_LPD1M-1/DET/2CH0:xtdf\n", + "Evaluting a total of 256 images in sequence 5\n", + "INSTRUMENT/FXE_DET_LPD1M-1/DET/2CH0:xtdf\n", + "Evaluting a total of 256 images in sequence 6\n", + "INSTRUMENT/FXE_DET_LPD1M-1/DET/2CH0:xtdf\n", + "Evaluting a total of 256 images in sequence 7\n", + "INSTRUMENT/FXE_DET_LPD1M-1/DET/2CH0:xtdf\n", + "Evaluting a total of 256 images in sequence 8\n", + "INSTRUMENT/FXE_DET_LPD1M-1/DET/2CH0:xtdf\n", + "Evaluting a total of 256 images in sequence 9\n", + "INSTRUMENT/FXE_DET_LPD1M-1/DET/2CH0:xtdf\n", + "Evaluting a total of 256 images in sequence 10\n", + "INSTRUMENT/FXE_DET_LPD1M-1/DET/2CH0:xtdf\n", + "Evaluting a total of 256 images in sequence 11\n", + "INSTRUMENT/FXE_DET_LPD1M-1/DET/2CH0:xtdf\n", + "Evaluting a total of 256 images in sequence 12\n", + "INSTRUMENT/FXE_DET_LPD1M-1/DET/2CH0:xtdf\n", + "Evaluting a total of 256 images in sequence 13\n", + "INSTRUMENT/FXE_DET_LPD1M-1/DET/2CH0:xtdf\n", + "Evaluting a total of 256 images in sequence 14\n", + "INSTRUMENT/FXE_DET_LPD1M-1/DET/2CH0:xtdf\n", + "Evaluting a total of 256 images in sequence 15\n", + "INSTRUMENT/FXE_DET_LPD1M-1/DET/2CH0:xtdf\n", + "Evaluting a total of 256 images in sequence 16\n", + "INSTRUMENT/FXE_DET_LPD1M-1/DET/2CH0:xtdf\n", + "Evaluting a total of 256 images in sequence 17\n", + "INSTRUMENT/FXE_DET_LPD1M-1/DET/2CH0:xtdf\n", + "Evaluting a total of 256 images in sequence 18\n", + "INSTRUMENT/FXE_DET_LPD1M-1/DET/2CH0:xtdf\n", + "Evaluting a total of 256 images in sequence 19\n", + "INSTRUMENT/FXE_DET_LPD1M-1/DET/2CH0:xtdf\n", + "Evaluting a total of 256 images in sequence 20\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/gpfs/exfel/data/scratch/haufs/clean_cal/karabo/extern/lib/python3.4/site-packages/numpy/lib/histograms.py:720: RuntimeWarning: invalid value encountered in greater_equal\n", + " keep = (tmp_a >= first_edge)\n", + "/gpfs/exfel/data/scratch/haufs/clean_cal/karabo/extern/lib/python3.4/site-packages/numpy/lib/histograms.py:721: RuntimeWarning: invalid value encountered in less_equal\n", + " keep &= (tmp_a <= last_edge)\n" + ] + } + ], + "source": [ + "H = 0\n", + "e = None\n", + "for run in runs:\n", + " for seq in sequences:\n", + " for module in modules:\n", + " for tile in tiles:\n", + " offset = offsets[module][tile]\n", + " noise = noises[module][tile]\n", + " \n", + " tx0, ty0 = 256-(tile//8+1)* tile_y, 256 - (tile%8+1) * tile_x\n", + " ofile = path_temp.format(in_folder, run, run.upper(), module, seq)\n", + " with h5py.File(ofile, \"r\") as f:\n", + " base = h5_temp.format(module)\n", + " print(base)\n", + " cellId = np.squeeze(f[base+\"/image/cellId\"])\n", + " pulseId = np.squeeze(f[base+\"/image/pulseId\"])\n", + " valid = True\n", + " for p in pulses:\n", + " valid &= pulseId == p\n", + " print(\"Evaluting a total of {} images in sequence {}\".format(np.count_nonzero(valid),seq))\n", + "\n", + " cellId = cellId[valid]\n", + "\n", + " im = f[base+\"/image/data\"][valid,0,tx0:tx0+tile_x,ty0:ty0+tile_y].astype(np.float32)\n", + " # offset correction\n", + " im -= offset[cellId, ...]\n", + " nos = noise[cellId, ...]\n", + " \n", + " # offset shift\n", + " #shiftimg = copy.copy(im)\n", + " #shiftimg[(shiftimg > 0.5*nos) | (shiftimg < -0.5*nos)] = np.nan\n", + " #shift = np.nanmean(shiftimg, axis=(1,2))[:,None,None]\n", + " #im -= shift\n", + " \n", + " # common-mode-correction\n", + " for a in range(asics):\n", + " subim = copy.copy(im[:, :, a*asic_width:(a+1)*asic_width])\n", + " subnoise = nos[:, :, a*asic_width:(a+1)*asic_width]\n", + " subim[subim > 2*subnoise] = np.nan\n", + " cm = np.nanmedian(subim, axis=(2))[...,None]\n", + " im[:, :, a*asic_width:(a+1)*asic_width] -= cm\n", + " \n", + " h, e = np.histogram(im[16,16].flatten(), bins=50, range=(0,100))\n", + " H += h" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[<matplotlib.lines.Line2D at 0x2b5a9c2186a0>]" + ] + }, + "execution_count": 108, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAloAAAEyCAYAAAAiFH5AAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4xLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvAOZPmwAAIABJREFUeJzt3Xd8VFX+//HXSSEJkJCEFEgIhN5J\nkICiKBZYO2BnXRVFF/uqP3dX3XX7+tV17WtXEOy6FkB3RcFCEQQSeq8JEEiBVNKTOb8/MrARgbSZ\nzCTzfj4ePjJz5965nzyuwttzz/0cY61FRERERFzPz9MFiIiIiLRVCloiIiIibqKgJSIiIuImCloi\nIiIibqKgJSIiIuImCloiIiIibqKgJSIiIuImCloiIiIibqKgJSIiIuImAZ4uACAqKsomJiZ6ugwR\nERGReqWlpR201kY3ZF+vCFqJiYmkpqZ6ugwRERGRehljMhq6r24dioiIiLiJgpaIiIiImyhoiYiI\niLiJgpaIiIiImyhoiYiIiLiJgpaIiIiImyhoiYiIiLiJgpaIiIiImyhoiYiIiLiJTwStssoaPly5\nl61ZxZ4uRURERHyITwStaoeD3368joXbcjxdioiIiPgQnwhaHYMCaN/On+yiCk+XIiIiIj7EJ4KW\nMYaY0CCyi8o9XYqIiIj4EJ8IWgAxYcHkFGtES0RERFqO7wSt0CByNKIlIiIiLchnglasc0TLWuvp\nUkRERMRH+FDQCqK0sobDFdWeLkVERER8RL1ByxiTYIz51hizyRiz0Rhzj3N7pDFmvjFmu/NnRJ1j\nHjLG7DDGbDXGnO/OX6ChYkKDATRPS0RERFpMQ0a0qoH7rbWDgNOAO40xg4AHga+ttX2Br53vcX42\nGRgMXAC8aIzxd0fxjRETFgSgJw9FRESkxdQbtKy1B6y1q5yvi4HNQDwwEZjl3G0WMMn5eiLwvrW2\nwlq7G9gBjHJ14Y11ZEQrVyNaIiIi0kIaNUfLGJMIDAeWA7HW2gPOj7KAWOfreGBvncP2Obcd+13T\njDGpxpjU3NzcRpbdeLEa0RIREZEW1uCgZYzpCHwM3GutLar7ma19lK9Rj/NZa1+11qZYa1Oio6Mb\nc2iTdAwKICRQ3eFFRESk5TQoaBljAqkNWe9Yaz9xbs42xnR1ft4VOLKQYCaQUOfwbs5tHmWMITYs\n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\nkWM4HJan5m/jpYU7efTyoVydkuDpkn5k3oYs7nx3FaMSI3njppEuCz4frNzDAx+v5/azezN5ZAKp\n6fmkZuSxMj2fHTmHAQj0NwyJ78TIxMjaANYjgs4uGulzOCyZBWV06RSs5YukzVDQEhE5gfKqGq8d\nvZm9OpP7PlzD2f2ieeX6FNoFNC+YrN9XyBUvL2VUYiSzpo7C/5gJ//kllaRl5JOakU9qeh7r9hVS\nWeMAoFdUhx/1AesZ1QFj6n9goKK6hvX7ClmZnk9aRh6pGfkUlFYR0T6Qi4Z2ZWJyPCk9IlyyDJOI\npyhoiYi0Uu+t2MNDn6xn3MBYnr92eJNDYX5JJZf8awnWWj67e0yDRqjKq2pYn1lI6jEhCaBzh3a1\nwatHbZ+wwXGdaBfg16CwNjiuE6kZ+czflEV5lYO4TsFcmhTHpUlxDI4La1CAyykqd56jdkRua1Yx\nDfrry0ByQjgTkuK4aGhXIju0a8BBIienoCUi0oq9tSydP8zZyOhenXltSgodGzlnq8ZhuWnmSn7Y\neYgPbxtNckLTlvtxOCy7Dh5mZXr+0WWFMg7VtsoICvCjS6fgo++Pvf04okfETx40KKmoZsHmbOas\n2c+ibblUOyy9ojswMSmeCclxR5u3OhyWnbmHSc04/nmTE8IZEt+pQSN+ldUOvtuaw87cEgL8DGf1\ni2ZCUhzjB8U2ai7cgcKy2pDnXFbptxcMULNZH6agJSLSyn26eh+//vc6hsSFMfOmUUQ0YiTmqa+2\n8tw3O/i/y4Zy7an1LynUGDnF5aSl57MyPZ/MglKGdQtv0oT6/JJKvtiQxZw1maxIz8NaGNatE9Ed\ng0jbU/9IWmNYa9l0oIi5a/bz2dr97C8sJzjQj3EDY5mYHM9Z/aJ+1AvN4bBsyymuvf2Znuf8XcsA\naN/OH39jCAr0Y9bUUQyO69SoWryJw2GZvzmbvXmlXH5KN432NYKClohIG7BgUzZ3vLuKHpHteevm\nU+nSKbjeY77enM3Ns1K5akQ3Hr9yWINuy3nagcIyPl97gM/W7edwRTUpPRo/N6yhHA5LakY+c9dm\n8p91B8gvrSIsOIALh3QlITKE1Ix80jLyKS6vBiAmNOjoKN3IxEgGdg0lI6+U619fTnFFNTNuHMnI\nxEiX1dcSKqprmL06k1cW7WJXbgkAwYF+TB7ZnVvO7KmVChpAQUtEpI1YtvMQv3wzlfD2gbx986kk\n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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x2b5a9c3c6c50>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig = plt.figure(figsize=(10, 5))\n", + "ax = fig.add_subplot(111)\n", + "c = (e[1:]+e[:-1])/2\n", + "ax.plot(c, H)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.4.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/notebooks/LPD/LPDChar_Darks.ipynb b/notebooks/LPD/playground/LPDChar_Darks.ipynb similarity index 100% rename from notebooks/LPD/LPDChar_Darks.ipynb rename to notebooks/LPD/playground/LPDChar_Darks.ipynb diff --git a/notebooks/LPD/LPD_BadPixel_Positioned.ipynb b/notebooks/LPD/playground/LPD_BadPixel_Positioned.ipynb similarity index 100% rename from notebooks/LPD/LPD_BadPixel_Positioned.ipynb rename to notebooks/LPD/playground/LPD_BadPixel_Positioned.ipynb diff --git a/notebooks/LPD/LPD_Batch_Cal.ipynb b/notebooks/LPD/playground/LPD_Batch_Cal.ipynb similarity index 100% rename from notebooks/LPD/LPD_Batch_Cal.ipynb rename to notebooks/LPD/playground/LPD_Batch_Cal.ipynb diff --git a/notebooks/LPD/LPD_Combine.ipynb b/notebooks/LPD/playground/LPD_Combine.ipynb similarity index 100% rename from notebooks/LPD/LPD_Combine.ipynb rename to notebooks/LPD/playground/LPD_Combine.ipynb diff --git a/notebooks/LPD/LPD_FlatField_Radial.ipynb b/notebooks/LPD/playground/LPD_FlatField_Radial.ipynb similarity index 100% rename from notebooks/LPD/LPD_FlatField_Radial.ipynb rename to notebooks/LPD/playground/LPD_FlatField_Radial.ipynb diff --git a/notebooks/LPD/Preview-Corrected.ipynb b/notebooks/LPD/playground/Preview-Corrected.ipynb similarity index 100% rename from notebooks/LPD/Preview-Corrected.ipynb rename to notebooks/LPD/playground/Preview-Corrected.ipynb diff --git a/notebooks/LPD/Untitled.ipynb b/notebooks/LPD/playground/Untitled.ipynb similarity index 100% rename from notebooks/LPD/Untitled.ipynb rename to notebooks/LPD/playground/Untitled.ipynb diff --git a/notebooks/LPD/correct_lpd_batch.py_old b/notebooks/LPD/playground/correct_lpd_batch.py_old similarity index 100% rename from notebooks/LPD/correct_lpd_batch.py_old rename to notebooks/LPD/playground/correct_lpd_batch.py_old diff --git a/notebooks/LPD/lpdExample.ipynb b/notebooks/LPD/playground/lpdExample.ipynb similarity index 100% rename from notebooks/LPD/lpdExample.ipynb rename to notebooks/LPD/playground/lpdExample.ipynb diff --git a/notebooks/LPD/metroLib.py b/notebooks/LPD/playground/metroLib.py similarity index 100% rename from notebooks/LPD/metroLib.py rename to notebooks/LPD/playground/metroLib.py -- GitLab