{ "cells": [ { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The autoreload extension is already loaded. To reload it, use:\n", " %reload_ext autoreload\n" ] } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "\n", "%load_ext autoreload\n", "\n", "from ipywidgets import interact, interactive, fixed, interact_manual\n", "import ipywidgets as widgets" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Using matplotlib backend: Qt5Agg\n" ] } ], "source": [ "%autoreload\n", "%matplotlib" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "## Load old configurations" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "for i in range(-1,0):\n", " config = io.load(i)\n", " print (i ,config['comment'])" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "best configuration of parabolic mirror (good automatic optimization)\n" ] } ], "source": [ "import DataManager as dm\n", "io = dm.IO('Data/')\n", "config = io.load(-2)\n", "print (config['comment'])" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "## FocusCamera" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "from Devices.FocusCamera import FocusCamera\n", "\n", "try:\n", " para_config = config['FocusCamera']\n", "except:\n", " para_config = {'ExposureTimeAbs': 10000,\n", " 'min_intensity': 2000,\n", " 'measure_full' : True}\n", " \n", "focus = FocusCamera(para_config)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "meas = focus.measure()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "focus.plot_measure(meas)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "## ParabolicMirror" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "from Devices.ParabolicMirror import ParabolicMirror\n", "\n", "\n", "try:\n", " para_config = config['ParabolicMirror']\n", "except:\n", " para_config = {'pos_Pay': 3,\n", " 'pos_Paz': 3}\n", " \n", "para = ParabolicMirror(para_config, home = True)" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "## Periscope" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Connnection with motors sucessful!\n" ] } ], "source": [ "from Devices.Periscope import Periscope\n", "\n", "\n", "try:\n", " per_config = config['Periscope']\n", "except:\n", " per_config = {'pos_l_x': 0.1,\n", " 'pos_l_y': 0.1,\n", " 'pos_l_z': 0.1, \n", " 'pos_g_origin_x': -25./2,\n", " 'pos_g_origin_y': 25./2,\n", " 'pos_g_origin_z': 25./2,\n", " 'deltaz_Mz': 0,\n", " 'deltaz_Cz': 0,\n", " 'sync_camera': True}\n", " \n", "per = Periscope(per_config, home = False)" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "## BladePositioning" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "from Devices.BladePositioning import BladePositioning\n", "\n", "try:\n", " blade_config = config['BladePositioning']\n", "except:\n", " blade_config = {'pos_R':344.25, 'pos_L':-2.8}\n", "blade = BladePositioning(blade_config, init = 0)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "blade.get_config()" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "## Interferometer" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "available cameras:\n", "\n", "\n", "camera found =) Be happy\n" ] } ], "source": [ "from Devices.Interferometer import Interferometer\n", "\n", "try:\n", " inter_config = config['Interferometer']\n", "except:\n", " inter_config = {'xmax':6.0,\n", " 'xmin':2.6,\n", " 'ymin':3, \n", " 'ymax':12,\n", " 'ExposureTimeAbs':35}\n", "inter = Interferometer(inter_config)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "#measurement = inter.measure()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "#inter.plot_measure(measurement)" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "## DelayGenerator" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "from Devices.DelayGenerator import DelayGenerator\n", "\n", "try:\n", " delay_config = config['DelayGenerator']\n", "except:\n", " delay_config = {'jet_triggered': True,\n", " 'mode': 'single shot',\n", " 'rate': 1.,\n", " 't_sleep': 0.3}\n", "\n", "delay = DelayGenerator(delay_config)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "data": { "text/plain": [ "{'time': '2017-03-29_10-39-30.348962'}" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "delay.measure()" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "## DRS4" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "from Devices.DRS4 import DRS4\n", "\n", "try:\n", " drs_config = config['DRS4']\n", "except:\n", " drs_config = {'trigger_level_CH0': 100,\n", " 'trigger_mode':2,\n", " 'delay': 0.0}\n", "drs = DRS4(drs_config)" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "## Laser" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "16.3315204836\n" ] } ], "source": [ "from Devices.Laser import Laser\n", "\n", "try:\n", " laser_config = config['Laser']\n", "except:\n", " laser_config = {'max_angle': -22.9,\n", " 'attenuation': 100,\n", " 'comp_lin': 37.796,\n", " 'channel': 1}\n", "\n", "laser = Laser(laser_config, drs)" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "## FaradayCup" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "from Devices.FaradayCup import FaradayCup\n", "\n", "try:\n", " fara_config = config['FaradayCup']\n", "except:\n", " fara_config = {'channel':2 }\n", "\n", "fara = FaradayCup(fara_config, drs)" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "## test_devices" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "from Devices.test_devices import test_device1, test_device2\n", "\n", "td1 = test_device1(2)\n", "td2 = test_device2(4.)" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "# IO und GUI" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Using matplotlib backend: Qt5Agg\n" ] } ], "source": [ "import DataManager as dm\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "io = dm.IO('Data/')\n", "\n", "%matplotlib\n", "\n", "import GUI\n", "%autoreload" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "devices = [delay,laser, inter, drs, fara, per, blade] #use this to run the LWFA\n", "#devices = [inter, per]\n", "#devices = [per, para, laser, focus] #use this to do focus optimization\n", "#devices = [td1, td2] #Use this do debug the gui and data menager" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": false, "deletable": true, "editable": true, "scrolled": false }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "9687c609909a4a75862ad3471c1722d2" } }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "550ad84aa4a6422caeedb061d82c5ece" } }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "a74d3f227f414c22a418441cc8eff8e2" } }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "b99db782ef5d4d038250a93f49c1c001" } }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "9ddf7ac6d426498c9817a24edc3cf1a4" } }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "3032d69feffc464184f033ce44e0760f" } }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "2bfb23e80c594eae8c297a15f2f7a2f5" } }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "6e5c019ba24743e6978fae40eff0e151" } }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "66c4f1b4d0a243eaac3b87dede72a7c8" } }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "5415b8fd31c546a6ad19f5dd596024c8" } }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "c75838b0f39d4c3183c8d37dbed4c19a" } }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "cb4894a731c5486cb5138f9fdf771bc8" } }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "ddf9af4d8dfa4144a7214b2a04470b88" } }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "b67122affb1d4434a5ccc82c8d328c9c" } }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "7086fe7ca4c04da5b5f5f5dac9ee9091" } }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.ion()\n", "GUI.main(devices, io, parallel = False)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "dm.set_config(devices,io.load(29, elog = True))" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "list_of_measurements = io.search(kind = 'measure')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "io.search(output = False)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "deletable": true, "editable": true, "scrolled": false }, "outputs": [], "source": [ "%autoreload\n", "para.optimize(focus, laser, per, 0.006, output = True)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "class test:\n", " def __init__(self, du):\n", " self.du = du\n", " \n", " def give(self):\n", " print (self.du)\n", " return self.du\n", " def kase(si):\n", " print (si.du)\n", " \n", " def __str__(self):\n", " return 'hege: '+str(self.du)\n", " \n", " def __add__(self, right):\n", " return test(self.du + right.du)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "t1 = test(2)\n", "t2 = test(4)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "t1.give()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "t1.du" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "t1.kase()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "t1.du = 4" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "t1.give()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "print (t1)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "print (t1 + t2)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python [default]", "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.5.3" }, "widgets": { "state": { "0065df34925c4ad18b5e33837ed8762e": { "views": [ { "cell_index": 34 } ] }, "0c32490fdf0e49209a83fab858376cf1": { "views": [ { "cell_index": 34 } ] }, "0f446a29d17d40c9af519c71acb6f891": { "views": [ { "cell_index": 34 } ] }, "151870f89a704faf89bc8b2cbbe5611c": { "views": [ { "cell_index": 34 } ] }, "16f9122ce08d48c39fcf8ee0df28a79c": { "views": [ { "cell_index": 34 } ] }, "1ab5a59ccf9f4fef839a79fd4b7a65b0": { "views": [ { "cell_index": 34 } ] }, "2fddeec661ed482995d338a7c5312139": { "views": [ { "cell_index": 34 } ] }, "3a819ca20ac949e3be372d4c4a9a9487": { "views": [ { "cell_index": 34 } ] }, "448db5ef3bc0457190f5f33f19b5f06c": { "views": [ { "cell_index": 34 } ] }, "4f4f1ff5355c42a886b75d3a6c044d2c": { "views": [ { "cell_index": 34 } ] }, "54a5678c069d48069ab3dfadf649b6dd": { "views": [ { "cell_index": 34 } ] }, "61a6d9d96e1940238ca2767f128c889d": { "views": [ { "cell_index": 34 } ] }, "62af9fefb8154ccab66829f237fde38d": { "views": [ { "cell_index": 34 } ] }, "6874306a36d94703a8d8d522d2697250": { "views": [ { "cell_index": 34 } ] }, "8536461045824a15bdcc5fe4d63fb4b0": { "views": [ { "cell_index": 34 } ] }, "8812d353df3a466692c538b4afd02191": { "views": [ { "cell_index": 34 } ] }, "9a4f8f903d494696903d92421c68bc0c": { "views": [ { "cell_index": 34 } ] }, "9b4f5aad7a8e40318f7a7e075654fb48": { "views": [ { "cell_index": 34 } ] }, "a6eae355d21a4460be2313ad0363667f": { "views": [ { "cell_index": 34 } ] }, "a8c835e97acd4c82a6f39bfc38ed9fd3": { "views": [ { "cell_index": 34 } ] }, "ad34adf373de452d8db9f4b9d1bc63f7": { "views": [ { "cell_index": 34 } ] }, "b8489eba5f5d46d0886051b26933f587": { "views": [ { "cell_index": 34 } ] }, "b8b30716978c47298c20090390719977": { "views": [ { "cell_index": 34 } ] }, "b9d71e7af38d419c809aac32be7cedbb": { "views": [ { "cell_index": 34 } ] }, "c06bd8390ea3418881c932c7c0788352": { "views": [ { "cell_index": 34 } ] }, "cccf917190764aa884637a825a90c7cf": { "views": [ { "cell_index": 34 } ] }, "ce047b2f8e3847c1b653fc378cadf297": { "views": [ { "cell_index": 34 } ] }, "e416eba320a54bf7931212b8badf2dd5": { "views": [ { "cell_index": 34 } ] }, "faf6b6910b6249a1982a46de0c8264b8": { "views": [ { "cell_index": 34 } ] } }, "version": "1.2.0" } }, "nbformat": 4, "nbformat_minor": 2 }