{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Základni úvod do pythonu"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "# First we import the necessary modules (libraries)\n",
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from urllib import urlopen\n",
    "import os\n",
    "from IPython import get_ipython\n",
    "\n",
    "\n",
    "\n",
    "#baseURL = \"http://golem.fjfi.cvut.cz/utils/data/\" #global\n",
    "baseURL = \"/golem/database/operation/shots/\" #local\n",
    "\n",
    "\n",
    "def open_data(shot_no):\n",
    "    f = baseURL + str(shot_no) + '/' + str(diagnSPEC) + '.npz'\n",
    "    return np.load(f)\n",
    "\n",
    "# Definice klouzaveho prumeru\n",
    "def running_mean(l, N):\n",
    "    sum = 0\n",
    "    result = list( 0 for x in l)\n",
    "\n",
    "    for i in range( 0, N ):\n",
    "        sum = sum + l[i]\n",
    "        result[i] = sum / (i+1)\n",
    "\n",
    "    for i in range( N, len(l) ):\n",
    "        sum = sum - l[i-N] + l[i]\n",
    "        result[i] = sum / N\n",
    "\n",
    "    return result\n",
    "\n",
    "def mkdir(dir):\n",
    "    try:os.makedirs(dir)\n",
    "    except OSError:pass\n",
    "    \n",
    "mkdir('raws'); mkdir('avmean'); mkdir('rezy');mkdir('rezy.jpg');mkdir('ReferenceShot');mkdir('graphs')\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Setup experimentu"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "#Probe specification: Double rake probe, pin #2\n",
    "diagnSPEC = \"DAS/1011Papouch_St.ON/Papouch_St_10\"\n",
    "#Power supply: 6 x 12V battery\n",
    "R=20 # Ohm\n",
    "d=21.4 # ??? mm (probe position with respect to the plasma center, suplera 53 mm - 31.6 mm)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Numerický setup experimentu"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "KlouzavyPrumer=500;\n",
    "#time=[5000,24000,KlouzavyPrumer];  # [start,end,step] [us]\n",
    "time=[10000,14000,500];  # [start,end,step] [us] #just for tuning\n",
    "\n",
    "# Který shot patří ke kterému napětí:\n",
    "setup=[[-77,23998],[-65,23999],[-52,24000],[-39,24001],[-26,24002],[-13,24003],[0,24004],[12,24005],[26,24006],[39,24008],[51,24009],[64,24010],[77,24011]]\n",
    "startindex=setup[0][1]\n",
    "\n",
    "ReferenceShot=24004\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Referencni vyboj"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Referencni vyboj ...\n"
     ]
    }
   ],
   "source": [
    "print \"Referencni vyboj ...\"\n",
    "os.system('scp '+baseURL + str(ReferenceShot) + '/basicdiagn/Btoroidal.npz ReferenceShot/Btoroidal.npz');\n",
    "os.system('scp '+baseURL + str(ReferenceShot) + '/basicdiagn/Iplasma.npz ReferenceShot/Iplasma.npz');\n",
    "os.system('scp '+baseURL + str(ReferenceShot) + '/basicdiagn/graphpres.png ReferenceShot/');\n",
    "Iplasma=np.load('ReferenceShot/Btoroidal.npz');\n",
    "Btoroidal=np.load('ReferenceShot/Iplasma.npz');\n",
    "\n",
    "f,ax = plt.subplots(2,sharex=True);\n",
    "ax[0].plot(Btoroidal['data']);\n",
    "ax[1].plot(Iplasma['data']);\n",
    "ax[0].axvline(10000);\n",
    "ax[1].axvline(10000);\n",
    "plt.close();\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Stažení, uložení a vykreslení čistých dat z BPP\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Stazeni a vykresleni raw dat\n"
     ]
    }
   ],
   "source": [
    "print \"Stazeni a vykresleni raw dat\"\n",
    "Scale=open_data(ReferenceShot)['scale']\n",
    "plt.ylim(-10,2);plt.xlim(time[0],time[1]);\n",
    "# Stazeni a ulozeni\n",
    "for i in setup:\n",
    "    if  not os.path.isfile('raws/'+str(i[1])):\n",
    "        np.savetxt('raws/'+str(i[1]),open_data(str(i[1]))['data']*Scale)\n",
    "    \n",
    "# Vykresleni\n",
    "for i in setup:    \n",
    "    plt.plot(np.loadtxt('raws/'+str(i[1])),label=str(i[0])+' V'); \n",
    "    \n",
    "\n",
    "    \n",
    "plt.legend(loc=(1.1, 0)); \n",
    "plt.ylabel('$U_R$ [V]')\n",
    "plt.xlabel('$t$ [us]')\n",
    "plt.savefig('graphs/raws.jpg', bbox_inches='tight')\n",
    "plt.close();\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Vyklouzaná data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Vyklouzani dat ...\n"
     ]
    }
   ],
   "source": [
    "print \"Vyklouzani dat ...\"\n",
    "plt.ylim(-5,1);plt.xlim(time[0],time[1]);\n",
    "\n",
    "for i in setup:    \n",
    "    np.savetxt('avmean/'+str(i[1]),running_mean(np.loadtxt('raws/'+str(i[1])),KlouzavyPrumer));    \n",
    "\n",
    "\n",
    "# Vykresleni\n",
    "for i in setup:    \n",
    "    plt.plot(np.loadtxt('avmean/'+str(i[1])),label=str(i[0])+' V'); \n",
    "    \n",
    "plt.legend(loc=(1.1, 0));\n",
    "plt.ylabel('$U_R$ [V]')\n",
    "plt.xlabel('$t$ [us]')\n",
    "plt.savefig('graphs/vyklouzani.jpg', bbox_inches='tight')\n",
    "plt.close();\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "# Udelejme rezy"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "def partfig(data,timemark):\n",
    "    fig, ax1 = plt.subplots();\n",
    "    ax1.set_ylim(-5,0.5);\n",
    "    ax1.plot(data, 'ro');\n",
    "    ax1.set_ylabel('$U_R$ [V]')\n",
    "    ax1.set_xlabel('$U_{bias}$ [V] (#+ShotNo)')\n",
    "    ax1.axhline(0);\n",
    "    ax1.set_title('t='+str(timemark*1.0/1000)+' ms')\n",
    "    ax1.set_xticks([i for i in xrange(0,len(setup),1)])\n",
    "    ax1.set_xticklabels([str(setup[i][0])+'V \\n (#'+str(setup[i][1])+')' for i in xrange(0,len(setup),1)], rotation=90)\n",
    "    ax2 = fig.add_axes([0.25, 0.25, 0.3, 0.18]);\n",
    "    ax2.set_xlim(time[0],time[1]);\n",
    "    ax2.set_yticks([i for i in xrange(0,4000,1000)])\n",
    "    ax2.set_yticklabels([i for i in xrange(0,4,1)])\n",
    "    ax2.set_xticks([i for i in xrange(time[0],time[1],2000)])\n",
    "    ax2.set_xticklabels([i for i in xrange(time[0]/1000,time[1]/1000,2)])\n",
    "    ax2.plot(Btoroidal['data']);\n",
    "    ax2.axvline(timemark);\n",
    "    ax2.set_ylabel('$I_p$ [kA]')\n",
    "    ax3 = fig.add_axes([0.25, 0.43, 0.3, 0.18]);\n",
    "    ax3.set_yticks([0,0.1,0.2,0.3,0.4])\n",
    "    ax3.set_xticklabels([]);\n",
    "    ax3.set_xlim(time[0],time[1]);\n",
    "    ax3.plot(Iplasma['data']);\n",
    "    ax3.axvline(timemark);\n",
    "    ax3.set_ylabel('$B_t$ [T]')\n",
    "    ax2.set_xlabel('$t$ [ms]')\n",
    "    #plt.show(); #just for tuning\n",
    "    plt.savefig('rezy.jpg/'+str(timemark)+'.jpg', bbox_inches='tight');\n",
    "    plt.close();\n",
    "    \n",
    "#partfig(np.loadtxt('rezy/'+str(11200)),11200)    #just for tuning"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Rezani ..\n",
      "Rez ..5000/20000\n",
      "\n",
      "Rez ..7000/20000\n",
      "\n",
      "Rez ..9000/20000\n",
      "\n",
      "Rez ..11000/20000\n",
      "\n",
      "Rez ..13000/20000\n",
      "\n",
      "Rez ..15000/20000\n",
      "\n",
      "Rez ..17000/20000\n",
      "\n",
      "Rez ..19000/20000\n",
      "\n"
     ]
    }
   ],
   "source": [
    "print \"Rezani ..\"\n",
    "#Prvni nacteme data do velke matice\n",
    "data=[];\n",
    "for i in setup:data.append(np.loadtxt('avmean/'+str(i[1])));\n",
    "\n",
    "\n",
    "# A tady to narezeme a vygenerujeme obrazky\n",
    "for j in xrange(time[0],time[1],time[2]): \n",
    "    print \"Rez ..\"+str(j)+\"/\"+str(time[1])+\"\\n\"\n",
    "    timeslot=[]\n",
    "    k=0;\n",
    "    for i in setup: \n",
    "        timeslot.append(data[k][j]);\n",
    "        k=k+1;\n",
    "    np.savetxt('rezy/'+str(j),timeslot);\n",
    "    partfig(timeslot,j)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nSoJFspRmgEVERJKoraqlLFxGAQUYEku0unBRQAGl4VJqAjUORygiqVICLCIikkRzqJl88pOO5ZNP\nc6h5gCMSkXRRAiwiIpKEiZnDM7/HcuHCxJKPiUjmUwIsIiKShHVbLDbpWJw41p18TCSTffTRR9x+\n++3MmzePcePG4XK5uP/++5Pu+x//8R9ceumlnH766Zx00kmcffbZlJSU0NLSMsBRp58SYBERkSR8\nfh+ttCYda6UVn983wBGJ9F00GuX73/8+L7/8MhdccAEAxiT/NOP3v/89Xq+XqqoqVq5cyde+9jV+\n+9vfcuGFF7J9+/aBDDvt1AVCREQkiepgNUWNRZSGS8knHxcu4sRppZV6bz0NwQanQxTptQkTJvD2\n228zfvx4Nm/ezGc+85lO912xYsVx24qLi/n0pz9NfX09d9xxR3+G2q80AywiIpKEx+OhoamB7eXb\nqS2opWZKDbUFtWwv364WaEI0GqWyopI5hXOYO3UucwrnUFlRSTQazejzDx8+nPHjxwNgbe/LeM4+\n+2wATjjhhG73dblcLFy4kPXr11NQUMDJJ5/MzJkzeemllwBYuXIl5557Ljk5OcyePZvdu3cfdfyO\nHTu4+uqrOeOMM8jJyeGss86ipKSE999/v9dxH0szwCIiIp3weDwsr1vudBiSYSKRCMUziykLl1FM\n8ZEe0S3bKGos6vMbpP4+f2/t2bOHtrY2XnvtNZYuXcppp51GRUVFj4598skn2bhxIzfddBPWWu68\n806uvPJKKisruffee7npppv405/+RDAY5LrrruOxxx4D4MCBA1x++eUcPHiQm2++mdNPP5033niD\nhx9+mL179zJ69Og+PSYlwCIiIiK90LFH9CHH9ojuyxun/j5/b5155pkcOHAAgMmTJ/PEE09w5pln\n9ujYHTt2sG3bNiZNmgTA2LFjueGGG1i2bBk7duxgxIgRALS1tXHnnXfy2muvMWnSJFpaWti1axcP\nPvggX/ziFw+f77bbbkvLY1IJhIiIiEgv9HeP6EzrQf3II4/wq1/9irvuuouPP/6Yz3/+87zxxhs9\nOnbOnDmHk18Av98PwDXXXHM4+e24/dVXXwUgNzcXgE2bNrFv3760PI6OlACLiIiI9EJ/94jOtB7U\nl156KZdffjm33HILTz75JJFIhKVLl/bo2I7JLxxJbM8666yk29977z0AzjnnHL773e+yatUqTj31\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fcf7adabf90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# A tady to nakreslime po ms\n",
    "for j in xrange(time[0],time[1],time[2]): \n",
    "    plt.plot(np.loadtxt('rezy/'+str(j)),'o',label=str(j*1.0/1000)+' ms');\n",
    "plt.legend(loc=(1.1, 0));\n",
    "plt.ylabel('$U_R$ [V]')\n",
    "plt.xticks([i for i in xrange(0,len(setup),1)],[str(setup[i][0])+'V \\n (#'+str(setup[i][1])+')' for i in xrange(0,len(setup),1)], rotation=90);\n",
    "plt.savefig('graphs/mss.jpg', bbox_inches='tight')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "# Tvorba reportu"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "os.system('rm index.page');\n",
    "fileid = open('index.page','a+')\n",
    "fileid.write('---\\nformat:markdown\\n...\\n')\n",
    "fileid.write('# Experimental setup\\n\\n')\n",
    "fileid.write('<center><a href=\"setup/ExpSetup.png\"><img src=\"setup/ExpSetup.png\" width=\"50%\"></a>\\n\\n[setup](setup/)\\n</center>\\n')\n",
    "fileid.write('# Reference shot #'+str(ReferenceShot)+'\\n')\n",
    "fileid.write('<center><a href=\"http://golem.fjfi.cvut.cz/shots/'+str(ReferenceShot)+'/\"><img src=\"ReferenceShot/graphpres.png\" width=\"50%\"></a>\\n\\n[Reference shot data](ReferenceShot/)\\n</center>\\n')\n",
    "fileid.write('# Discharges\\n<ul>\\n');\n",
    "for i in setup:fileid.write('<li><a href=\"http://golem.fjfi.cvut.cz/shots/'+str(i[1])+'\">U<sub>bias</sub>='+str(i[0])+'V @ #'+str(i[1])+'</a></li>\\n');\n",
    "fileid.write('</ul>\\n');\n",
    "fileid.write('# Data manipulation\\n');\n",
    "fileid.write('## Raw data\\n')\n",
    "fileid.write('<center><img src=\"graphs/raws.jpg\">\\n\\n[raw data ->](raws/)\\n</center>\\n')\n",
    "fileid.write('## mean average (over '+str(KlouzavyPrumer)+' data)\\n')\n",
    "fileid.write('<center><img src=\"graphs/vyklouzani.jpg\">\\n\\n[mean average data ->](avmean/)\\n</center>\\n')\n",
    "fileid.write('## Alltogether ('+str(KlouzavyPrumer)+'us step)\\n')\n",
    "fileid.write('<center><img src=\"graphs/mss.jpg\">\\n\\n[time cuts](rezy/)\\n</center>\\n')\n",
    "fileid.write('# Final movie\\n')\n",
    "fileid.write('<center><img src=\"finalmovie.gif\">\\n\\n[time cuts - figures](rezy.jpg/)\\n</center>\\n')\n",
    "fileid.write('# Experimental Photo\\n') \n",
    "fileid.write('<center><img src=\"setup/ExpSetupPhoto_w.jpg\"></center>\\n\\n')\n",
    "fileid.write('# Resources\\n')\n",
    "fileid.write('\\n\\\n",
    "* [python Source code](Analyza.html)\\n\\\n",
    "* [Jupyter notebook](Analyza.ipynb)\\n\\\n",
    "* [important makefile (this is how we do it - i.e. remove \"tuning issues, etc.\")](makefile)\\n\\\n",
    "')             \n",
    "fileid.close()\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
