{ "metadata": { "name": "SlideExamples" }, "nbformat": 2, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "# Slide 9", "mp = 0.115", "vp = 35.0", "mo = 0.265", "vo = 0.0", "v = (mp * vp + mo * vo) / (mp + mo)", "print v" ], "language": "python", "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "10.5921052632" ] } ], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "# Slide 10", "mp = 0.115", "vp = 114.13", "mo = 0.265", "vo = 0.0", "v = (mp * vp + mo * vo) / (mp + mo)", "print v" ], "language": "python", "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "34.5393421053" ] } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "# Slide 11", "mp = 0.115", "vp = 114.13 * 0.44704 # mph to m/s", "mo = 0.265", "vo = 0.0", "v = (mp * vp + mo * vo) / (mp + mo)", "print v" ], "language": "python", "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "15.4404674947" ] } ], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "# Slide 12", "mp = 0.115 # kg", "vp = 114.13 * 0.44704 # mph to m/s", "mo = 0.265 # kg", "vo = 0.0 # m/s", "v = (mp * vp + mo * vo) / (mp + mo)", "print v" ], "language": "python", "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "15.4404674947" ] } ], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "# Slide 15", "import quantities as pq", "mp = 0.115 * pq.kg", "vp = 35.0 * (pq.m / pq.s)", "mo = 0.265 * pq.kg", "vo = 0.0 * (pq.m / pq.s)", "v = (mp * vp + mo * vo) / (mp + mo)", "print v" ], "language": "python", "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "10.5921052632 m/s" ] } ], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "# Slide 16", "import quantities as pq", "mp = 0.115 * pq.kg", "vp = 114.13 * (pq.mi / pq.h)", "mo = 0.265 * pq.kg", "vo = 0.0 * (pq.m / pq.s)", "v = (mp * vp + mo * vo) / (mp + mo)", "print v" ], "language": "python", "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "34.5393421053 mi/h" ] } ], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "# Slide 17", "import quantities as pq", "mp = 0.115 * pq.kg", "vp = 114.13 * (pq.mi / pq.h)", "mo = 0.265 * pq.kg", "vo = 0.0 * (pq.m / pq.s)", "v = (mp * vp + mo * vo) / (mp + mo)", "print v.rescale(pq.km / pq.h)" ], "language": "python", "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "55.5856829811 km/h" ] } ], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "# Slide 18", "import quantities as pq", "mp = 6.0 * pq.ounce", "vp = 114.13 * (pq.mi / pq.h)", "mo = 0.265 * pq.kg", "vo = 0.0 * (pq.m / pq.s)", "v = (mp * vp + mo * vo) / (mp + mo)", "print v.rescale(pq.km / pq.h)" ], "language": "python", "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "71.8057931081 km/h" ] } ], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "# Slide 20", "import quantities as pq", "mp = 6.0 * pq.ounce", "vp = 114.13 * (pq.mi / pq.h)", "mo = 0.265 * pq.kg", "vo = 0.0", "v = (mp * vp + mo * vo) / (mp + mo)" ], "language": "python", "outputs": [ { "ename": "ValueError", "evalue": "Unable to convert between units of \"kg\" and \"oz*mi/h\"", "output_type": "pyerr", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m/Users/Trevor/Programming/git/pyconca2012/\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mmo\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m0.265\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mpq\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mkg\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0mvo\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m0.0\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 7\u001b[0;31m \u001b[0mv\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mmp\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mvp\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mmo\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mvo\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m/\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mmp\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mmo\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/Library/Frameworks/EPD64.framework/Versions/7.2/lib/python2.7/site-packages/quantities/quantity.pyc\u001b[0m in \u001b[0;36mg\u001b[0;34m(self, other, *args)\u001b[0m\n\u001b[1;32m 61\u001b[0m \u001b[0mother\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mview\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mQuantity\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 62\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_dimensionality\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_dimensionality\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 63\u001b[0;31m \u001b[0mother\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrescale\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0munits\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 64\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 65\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mg\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Frameworks/EPD64.framework/Versions/7.2/lib/python2.7/site-packages/quantities/quantity.pyc\u001b[0m in \u001b[0;36mrescale\u001b[0;34m(self, units)\u001b[0m\n\u001b[1;32m 194\u001b[0m raise ValueError(\n\u001b[1;32m 195\u001b[0m \u001b[0;34m'Unable to convert between units of \"%s\" and \"%s\"'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 196\u001b[0;31m \u001b[0;34m%\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfrom_u\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_dimensionality\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mto_u\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_dimensionality\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 197\u001b[0m )\n\u001b[1;32m 198\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mQuantity\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcf\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmagnitude\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mto_u\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mValueError\u001b[0m: Unable to convert between units of \"kg\" and \"oz*mi/h\"" ] } ], "prompt_number": 11 }, { "cell_type": "code", "collapsed": false, "input": [ "# Slides 24-25", "import quantities as pq", "bags = pq.UnitQuantity('milk bags', pq.L * (4. / 3.))", "person = pq.UnitQuantity('person', pq.dimensionless * 1)", "need = 200 * (pq.mL / person)", "need *= 250 * person", "print need", "print need.rescale(pq.L)", "print need.rescale(bags)", "import numpy as np", "print np.ceil(need.rescale(bags))" ], "language": "python", "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "50000.0 mL", "50.0 L", "37.5 milk bags", "38.0 milk bags" ] } ], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [ "# Slide 34", "import numpy as np", "import quantities as pq", "", "def load_spikes(filename):", " # Dummy implementation: just make a spike train", " spikes = np.random.uniform(0, 20 * pq.s, size=20 * pq.s * 10 * pq.Hz)", " spikes = np.append(spikes, np.random.normal(11.0 * pq.s, size=10 * pq.Hz * 5))", " return np.sort(spikes)", "", "def time_slice(spikes, tstart, tend):", " return spikes[np.logical_and(tstart <= spikes, spikes < tend)]", "", "def raster_plot(spikes):", " plt.scatter(spikes, np.zeros(spikes.shape), color='k', marker='|')", " plt.xlim(10.5 * pq.s, 13.0 * pq.s)", " plt.xlabel(\"Time in \" + spikes.dimensionality.string)", " plt.tight_layout()", "", "spikes = load_spikes('spikes.csv') * pq.s", "event = 11 * pq.s", "window = (-0.5, 2) * pq.s", "perievent = time_slice(spikes, *(event + window))", "raster_plot(perievent)" ], "language": "python", "outputs": [ { "output_type": "display_data", "png": "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\nP9+cOHHivMekRUNDg1mzZo2pqKgwb775ptmzZ0+rNS6Xy7zyyit+t+3cudO4XK7zOvaXX35pCgsL\nvdbt3r3bfPzxxz5ty8vLzSeffOK17lxjun79ep/Xevx55513TFNTkzHGmA8++MAcPHjQb7vCwkLz\n5ZdfGmOM2b59u1mxYoUpLy+/4GOuXLnSnDp1ymvd+++/b7766ivPcn5+viksLPTZf2lpqfniiy9a\nfUxne/vtt01zc3PANo2NjeYf//iHZ9nfz+RCtMyns3300UetzqtNmzaZ6upqz/KqVavMhg0bTFVV\nVdB9Mcb/mPuzb98+s2HDBs+/xhizbds2U1FR4bf97t27zR/+8AfT1NRkXnjhBbNjxw6v7f5+V7+r\noqLC8zq2MWdeD1y6dKnf8T97rrZYunSpef/9973W5efnm4KCAlNZWem1/uTJk2bVqlXGmNZ/R2tq\narxeFw3k7P0ePnzYrF27ttWaefPmmZ07d57X/tvaF1984fNacYjxYowxxvH/OwpKUVGRpk6dqsbG\nRqWnpys9PV05OTmSpLS0NEnSb3/7W/39739Xz549lZeXp5iYmHPWSmfu4pk0aZK2bdumIUOGKC8v\nT1dffbXPsR0OxwVdDgQAXDpt8RwdUkBdTgQUANirLZ6j+SQJAICVCCgAgJUIKACAlQgoAICVCCgA\ngJUIKACAlQgoAICVCCgAgJUIKACAlQgoAICVCCgAgJUIKACAlQgoAICVCCgAgJUIKACAlQgoAICV\nCCgAgJUIKACAlQgoAICVCCgAgJUIKACAlQgoAICVCCgAgJUIKACAlQgoAICVCCgAgJUIKACAlQgo\nAICVCCgAgJUIKACAlQgoAICVgg6ohoYGjRs3TuHh4Ro/fryOHTvmt11xcbFiYmIUFRWl7OzsVuu/\n/vpr3XHHHQoLC9OMGTOC7R4AoJ0LOqAWL16s8PBwVVZWqm/fvlqyZInfdjNnzlROTo4KCgq0aNEi\n1dXVBazv1q2bnn/+eb3wwgvBdg0A8D0QdEC53W498sgj6tq1q6ZMmSKXy+XTpr6+XpI0cuRIRURE\nKCUlRSUlJQHru3fvrttuu01du3YNtmsAgO+BoAOqtLRU0dHRkqTo6Gi53e6AbSQpNjbWE1Ct1Tsc\njmC7BgD4Hrgi0MbRo0frwIEDPuvnzZsnY0xQB2wJnmDrz5aZmen5Pjk5WcnJySHvEwBw4QoLC1VY\nWNim+wwYUPn5+efctnTpUpWXlys+Pl7l5eVKTEz0aZOYmKjZs2d7lsvKynTXXXd5trVW35qzAwoA\ncPl89yQhKysr5H0GfYnP6XQqNzdXJ0+eVG5urpKSknza9OjRQ9KZO/mqq6uVn58vp9N5XvVtcYYF\nAGi/HCbIJGhoaNCkSZO0bds2DRkyRHl5ebr66qtVU1Ojxx57TO+++64kqaioSFOnTlVjY6PS09OV\nnp4esF6S+vXrp4aGBn3zzTe69tprtX79eq/XsqQzlwoJMQCwU1s8RwcdUJcbAQUA9mqL52g+SQIA\nYCUCCgBgJQIKAGAlAgoAYCUCCgBgJQIKAGAlAgoAYCUCCgBgJQIKAGAlAgoAYCUCCgBgJQIKAGAl\nAgoAYCUCCgBgJQIKAGAlAgoAYCUCCgBgJQIKAGAlAgoAYCUCCgBgJQIKAGAlAgoAYCUCCgBgJQIK\nAGAlAgoAYCUCCgBgJQIKAGAlAgoAYCUCCgBgJQIKAGAlAgoAYKWgA6qhoUHjxo1TeHi4xo8fr2PH\njvltV1xcrJiYGEVFRSk7O7vV+vz8fCUkJOjWW2/V+PHj5Xa7g+0iAKAdCzqgFi9erPDwcFVWVqpv\n375asmSJ33YzZ85UTk6OCgoKtGjRItXV1QWs7927t9asWaPt27dr1qxZysjICLaLAIB2LOiAcrvd\neuSRR9S1a1dNmTJFLpfLp019fb0kaeTIkYqIiFBKSopKSkoC1sfFxemGG26QJN1+++3673//q+bm\n5mC7CQBop4IOqNLSUkVHR0uSoqOj/V6KO7uNJMXGxnoC6nzqly9fruHDh6tz587BdhMA0E5dEWjj\n6NGjdeDAAZ/18+bNkzEmqAM6HA5JarX+s88+0+9+9zvl5+efs01mZqbn++TkZCUnJwfVJwBAaAoL\nC1VYWNi2OzVBuvfee83WrVuNMcZs3rzZTJgwwafNkSNHTFxcnGd5+vTpZs2aNa3W79271/Tv3998\n/PHH5zx+CF0HAFxkbfEcHfQlPqfTqdzcXJ08eVK5ublKSkryadOjRw9JZ+7kq66uVn5+vpxOZ8D6\nI0eOKDU1VfPnz9fw4cOD7R4AoJ0LOqCmTZumPXv2aMCAAdq/f7+mTp0qSaqpqVFqaqqn3cKFC5WW\nlqZRo0bpiSeeUK9evQLWv/LKK6qqqlJWVpbi4+MVHx+vQ4cOhfIYAQDtkOP/T8XaHYfDEfTrYACA\ni6stnqP5JAkAgJUIKACAlQgoAICVCCgAgJUIKACAlQgoAICVCCgAgJUIKACAlQgoAICVCCgAgJUI\nKACAlQgoAICVCCgAgJUIKACAlQgoAICVCCgAgJUIKACAlQgoAICVCCgAgJUIKACAlQgoAICVCCgA\ngJUIKACAlQgoAICVCCgAgJUIKACAlQgoAICVCCgAgJUIKACAlQgoAICVCCgAgJWCDqiGhgaNGzdO\n4eHhGj9+vI4dO+a3XXFxsWJiYhQVFaXs7OxW691ut+Lj4xUXF6ef//znWrt2bbBd7PAKCwsvdxes\nxvgExvgExvhcfEEH1OLFixUeHq7Kykr17dtXS5Ys8dtu5syZysnJUUFBgRYtWqS6urqA9YMGDdKW\nLVv0ySefKCcnR+np6TLGBNvNDo1foMAYn8AYn8AYn4sv6IByu9165JFH1LVrV02ZMkUul8unTX19\nvSRp5MiRioiIUEpKikpKSgLWX3XVVerU6Uy3Ghoa1LlzZzkcjmC7CQBop4IOqNLSUkVHR0uSoqOj\n5Xa7A7aRpNjYWE9ABap3u92KiorST3/6U/3tb38LtosAgHbsikAbR48erQMHDvisnzdvXtCX3VrO\nhgLVDxs2TJWVldq4caPuvvtu7d+/33NW5W9fOLesrKzL3QWrMT6BMT6BMT4XV8CAys/PP+e2pUuX\nqry8XPHx8SovL1diYqJPm8TERM2ePduzXFZWprvuusuzrbX6ESNG6Mc//rEqKys1YMAAr228LgUA\n329BX+JzOp3Kzc3VyZMnlZubq6SkJJ82PXr0kHTmTr7q6mrl5+fL6XQGrK+urlZTU5Mkafv27Tp9\n+rRPOAEAvv+CDqhp06Zpz549GjBggPbv36+pU6dKkmpqapSamuppt3DhQqWlpWnUqFF64okn1KtX\nr4D1GzduVFxcnOLj4/XHP/5RixcvDuXxAQDaK2OZhx9+2Fx//fVm4MCBnnVHjx41Y8eONT/5yU/M\nuHHjTENDg9/aiIgIM2jQIBMXF2cSExMvVZcvKX/j8/bbb5vY2FjTqVMns2XLlnPWFhUVmejoaHPz\nzTebl19++VJ095ILZXw66vzJyMgw0dHRJj4+3sycOdOcOHHCb21HnT/nOz4dYf4Y43+Mnn32WXPr\nrbeawYMHm0mTJplDhw75rb3QOWRdQBUXF5utW7d6Pfj58+eb6dOnm1OnTpknn3zSLFiwwG9tv379\nTF1d3aXq6mXhb3zKy8vN559/bpKTkwM+AcfFxZmioiJTXV1tBgwYYGpray9Fly+pUMano86f9evX\nm+bmZtPc3GweffRR8/rrr/ut7ajz53zHpyPMH2P8j9HRo0c932dlZZnnnnvOb+2FziHrPuro9ttv\n17XXXuu17nzec9XCfM9vnvA3PtHR0erfv3/AOn/vSQs0ju1VsOPToiPOn9GjR6tTp07q1KmTxowZ\no6KiIp+6jjx/zmd8Wnzf54/kf4zCwsIkSU1NTTp+/Li6devmUxfMHLIuoPw5n/dcSWduO7/zzjs1\nfvx4rV69+lJ20XqB3pOGM5g/0muvvaa7777bZz3z54xzjY/E/HnmmWd0ww03aOPGjcrIyPDZHswc\nahcBdb7/K/noo4/06aef6k9/+pNmzZrl9z1cwLl09Pkzd+5chYWF6b777rvcXbFSa+PT0efPvHnz\ntGfPHg0bNkxPPfVUm+yzXQRUy3umJJ3zPVOS1KdPH0lSTEyMxo4dq3//+9+XrI+2S0xMVEVFhWe5\nrKzM71sDOrKOPH/efPNNrVu3Tnl5eX63d/T509r4SB17/rTo3r27pkyZok2bNvlsC2YOtYuAOp/3\nXJ04cUINDQ2SpNraWq1bt87zpuCO5Fxnm4Hek9aRnGt8OvL8Wbt2rRYsWKDVq1f7fe1A6tjz53zG\npyPPH0mqrKyUdOY1qOXLl+vee+/1aRPUHAr1jo62dv/995s+ffqYLl26mL59+5rc3Nxz3ma+f/9+\n84tf/MIYY0xVVZUZPHiwGTx4sLnzzjvNG2+8cTkfxkXTMj5XXnml6du3r3njjTfMypUrTd++fU23\nbt3MD3/4Q3PXXXcZY7zHxxhjCgsLTXR0tLnpppvMSy+9dLkewkUV7Ph05Plz8803m/DwcBMXF2fi\n4uLMtGnTjDHMnwsZn44yf4zxP0YTJkwwAwcONImJiWb27Nnm66+/NsaEPoccxnSA204AAO1Ou7jE\nBwDoeAgoAICVCCgAgJUIKACAlQgo4ALU1dUpPj5e8fHx6tOnj/r27av4+HiFhYVp+vTpbX68nJwc\n/qo0Oizu4gOClJWVpbCwMM2aNetydwX4XuIMCghBy//vCgsLPZ/RlpmZqbS0NI0cOVI33XST1q9f\nr+eee04DBw7UtGnTPDWff/65pk2bJqfTqSeffFJ1dXU++8/MzNSLL74oSUpOTlZWVpYSEhL0s5/9\nTNu2bfNpf/z4cd1zzz2Kj4/XoEGDtHHjxov10IGLjoACLgKXy6V3331Xubm5mjBhgm6++WZ99tln\nqqys1NatWyVJs2fP1tNPPy2Xy6VbbrlFr7/+us9+HA6HHA6H5/vdu3fL5XLp8ccfV3Z2tk/7t99+\nWwMHDtS2bdu0fft2xcXFXdwHClxEV1zuDgDfNw6HQ2PHjlVYWJiGDx+u06dP6/7775fD4ZDT6dSm\nTZsUHh6uDRs2aOzYsZKk5uZm9evXr9V9P/TQQ+rcubPuuOMOPf/88z7b4+LiNH/+fDkcDj388MO6\n8cYb2/rhAZcMZ1DARdDyuWNdunRR165d1bVrV8/yN998o+bmZl133XXatm2b52znfP5EQ8vf4enS\npYtOnTrlsz0+Pl4ul0t9+vTR2LFjtWbNmjZ8VMClRUABbay1+46MMbrhhht04403asWKFTLGqLGx\nUTt27Ahqf2fbs2ePrr76ak2bNk0PPfSQtm/ffkF9B2xCQAEhOPv1IX/fn93mu8uvvvqqPvzwQ8XF\nxSk+Pt7vnyjwVx9ofWFhoeLi4jR06FCVlpZq6tSpF/6gAEtwmzkAwEqcQQEArERAAQCsREABAKxE\nQAEArERAAQCsREABAKz0f9OH/Z0A+mMCAAAAAElFTkSuQmCC\n" } ], "prompt_number": 28 }, { "cell_type": "code", "collapsed": false, "input": [ "# Slide 35", "import numpy as np", "import quantities as pq", "", "def load_spikes(filename):", " # Dummy implementation: just make a spike train", " spikes = np.random.uniform(0, 20 * pq.s, size=20 * pq.s * 10 * pq.Hz)", " spikes = np.append(spikes, np.random.normal(11.0 * pq.s, size=10 * pq.Hz * 5))", " return np.sort(spikes)", "", "def time_slice(spikes, tstart, tend):", " return spikes[np.logical_and(tstart <= spikes, spikes < tend)]", "", "def raster_plot(spikes):", " plt.scatter(spikes, np.zeros(spikes.shape), color='k', marker='|')", " plt.xlim(10500 * pq.ms, 13000 * pq.ms) # This also needs changing", " plt.xlabel(\"Time in \" + spikes.dimensionality.string)", " plt.tight_layout()", "", "spikes = (load_spikes('spikes.csv') * pq.s).rescale(pq.ms)", "event = 11 * pq.s", "window = (-0.5, 2) * pq.s", "perievent = time_slice(spikes, *(event + window))", "raster_plot(perievent)" ], "language": "python", "outputs": [ { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEaCAYAAABEsMO+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHmlJREFUeJzt3XtwVOX9x/HPchfNBCMoagwaiSQRIStJNgiGOMqtjMAA\nttJCO4IYUAyOA1a0VsKUX0vpBZsipCrFaUTRUiziFAjKEqhkN9xUSMAQEq5ySRAM4ZJAn98flC0h\n910Tnsj7NcNMzjnP95xnH57sh3P27MFhjDECAMAyLa52BwAAqA4BBQCwEgEFALASAQUAsBIBBQCw\nEgEFALBSwAGVlZWlqKgoRUREKC0trdo206dPV3h4uHr16qWdO3fWWfvKK6+oZ8+eiomJ0dixY1VS\nUhJoNwEAzYwj0O9BOZ1Ovfbaa+rSpYsGDhyoDRs2qGPHjr7tXq9Xzz//vJYvX65Vq1bpnXfe0YoV\nK2qtLS0tVVBQkCRp5syZOn/+vGbOnBlINwEAzUxAZ1AnT56UJCUmJqpLly4aMGCAPB5PpTYej0ej\nRo1SSEiIRo8erby8vDprL4XT+fPnVVZWpnbt2gXSTQBAM9QqkOKcnBxFRkb6lqOjo5Wdna0hQ4b4\n1nm9Xo0dO9a33KlTJxUUFKiwsLDW2pdfflnp6enq1q2b1q5dW+XYDocjkK4DAL5DjfFQoka/ScIY\nU6Xj9QmXWbNmad++fYqPj9fPf/7zWvfNn6p/Xn311aveB1v/MDaMDWPz3f5pLAEFVFxcXKWbHnbs\n2KGEhIRKbVwul3Jzc33Lx44dU3h4uGJjY+usbd++vcaNG6eNGzcG0k0AQDMUUEAFBwdLung3XlFR\nkTIzM+VyuSq1cblcWrp0qUpKSrR48WJFRUVJkjp06FBjbX5+vqSLn0G9++67GjFiRCDdBAA0QwF9\nBiVJc+fOVXJysioqKpSSkqKOHTsqPT1dkpScnKz4+Hj17dtXsbGxCgkJUUZGRq210sXb0nft2qXr\nrrtOSUlJmjBhQqDdvOYkJSVd7S5Yi7GpGWNTM8am6QV8m/nV4nA4GvXaJwCgfhrr/ZgnSQAArERA\nAQCsREABAKxEQAEArERAAQCsREABAKxEQAEArERAAQCsREABAKxEQAEArERAAQCsREABAKxEQAEA\nrERAAQCsREABAKxEQAEArERAAQCsREABAKxEQAEArERAAQCsREABAKxEQAEArERAAQCsREABAKxE\nQAEArERAAQCsREABAKxEQAEArERAAQCsREABAKxEQAEArBRwQGVlZSkqKkoRERFKS0urts306dMV\nHh6uXr16aefOnXXWTps2TVFRUbr//vv13HPP6cyZM4F2EwDQzAQcUFOmTFF6errWrFmjefPmqbi4\nuNJ2r9er9evXa9OmTZo6daqmTp1aY21JSYkkacCAAdqxY4c2bdqksrIyLV68ONBuAgCamYAC6uTJ\nk5KkxMREdenSRQMGDJDH46nUxuPxaNSoUQoJCdHo0aOVl5dXY212drYkqX///mrRooVatGihgQMH\nat26dYF0EwDQDLUKpDgnJ0eRkZG+5ejoaGVnZ2vIkCG+dV6vV2PHjvUtd+rUSQUFBSosLKyzVpLe\neOMNPfnkk9Uef8aMGb6fk5KSlJSUFMjLAQDUg9vtltvtbvTjBBRQ9WGMkTGm0jqHw1Gv2pkzZyoo\nKEiPPfZYtdsvDygAQNO48oQgNTW1UY4T0CW+uLi4Sjc97NixQwkJCZXauFwu5ebm+paPHTum8PBw\nxcbG1lq7aNEirVq1ShkZGYF0EQDQTAUUUMHBwZIu3o1XVFSkzMxMuVyuSm1cLpeWLl2qkpISLV68\nWFFRUZKkDh061Fi7cuVKzZkzR8uXL1e7du0C6SIAoJkK+BLf3LlzlZycrIqKCqWkpKhjx45KT0+X\nJCUnJys+Pl59+/ZVbGysQkJCKp0RVVcrSc8++6zKy8v1yCOPSJJ69+6t119/PdCuAgCaEYe58gOi\nZsLhcFT5bAsA0PQa6/2YJ0kAAKxEQAEArERAAQCsREABAKxEQAEArERAAQCsREABAKxEQAEArERA\nAQCsREABAKxEQAEArERAAQCsREABAKxEQAEArERAAQCsREABAKxEQAEArERAAQCsREABAKxEQAEA\nrERAAQCsREABAKxEQAEArERAAQCsREABAKxEQAEArERAAQCsREABAKxEQAEArERAAQCsREABAKwU\ncEBlZWUpKipKERERSktLq7bN9OnTFR4erl69emnnzp111n7wwQe699571bJlS23ZsiXQLgIAmqGA\nA2rKlClKT0/XmjVrNG/ePBUXF1fa7vV6tX79em3atElTp07V1KlT66y97777tGzZMiUmJgbaPQBA\nMxVQQJ08eVKSlJiYqC5dumjAgAHyeDyV2ng8Ho0aNUohISEaPXq08vLy6qyNjIzUPffcE0jXAADN\nXKtAinNychQZGelbjo6OVnZ2toYMGeJb5/V6NXbsWN9yp06dVFBQoMLCwjpr6zJjxgzfz0lJSUpK\nSvLvhQAA6s3tdsvtdjf6cQIKqPowxsgYU2mdw+H4TvZ9eUABAJrGlScEqampjXKcgC7xxcXFVbrp\nYceOHUpISKjUxuVyKTc317d87NgxhYeHKzY2ts5aAMC1K6CACg4OlnTxbryioiJlZmbK5XJVauNy\nubR06VKVlJRo8eLFioqKkiR16NChzlpJVc6+AADXhoAv8c2dO1fJycmqqKhQSkqKOnbsqPT0dElS\ncnKy4uPj1bdvX8XGxiokJEQZGRm11krSsmXLlJKSouLiYg0ZMkROp1P/+te/Au0qAKAZcZhmeori\ncDg4uwIACzTW+zFPkgAAWImAAgBYiYACAFiJgAIAWImAAgBYiYACAFiJgAIAWImAAgBYiYACAFiJ\ngAIAWImAAgBYiYACAFiJgAIAWImAAgBYiYACAFiJgAIAWImAAgBYiYACAFiJgAIAWImAAgBYiYAC\nAFiJgAIAWImAAgBYiYACAFiJgAIAWImAAgBYiYACAFiJgAIAWImAAgBYiYACAFgpoIDKyspSVFSU\nIiIilJaWVm2b6dOnKzw8XL169dLOnTvrrC0tLdWwYcMUFham4cOH69SpU4F0EQDQTAUUUFOmTFF6\nerrWrFmjefPmqbi4uNJ2r9er9evXa9OmTZo6daqmTp1aY21JSYkkaf78+QoLC1N+fr5CQ0O1YMGC\nQLoYsIKCAhlj6tX2q6++UlFRUY3bT58+rUOHDmn//v06d+6cJOncuXPav3+/r01RUZHOnz+vgwcP\n6syZM5Xqt23bpj179ujIkSMNeg0HDhzQ0aNHdfToUd+68+fPq7CwUAUFBb51Z86c0cGDByVJe/fu\nVUVFhUpLSxt8vFOnTunw4cP1antp/0ePHtW3335badu3335bqc9XOnjwoLZv396gvtXl+PHjOn78\neI3bz549qwMHDtS5n8LCQl24cMG3/J///Ed79uypVx8qKiq0d+/eerX9+uuvVVZWVmndyZMndezY\nMd/y5X+vkvz6O61JcXGxvvzyS5WXl9e7nzt37qz29VU352tz5RjXR1lZmb7++usG1Vxy6ff3krrm\n59VWXFysEydO+JavnAe1jfel96Hqfi+blPHTiRMnTExMjG/52WefNStWrKjU5k9/+pP54x//6FsO\nDw+vs3bkyJFm69atxhhjNm/ebEaNGlXt8QPoeoO0atXKlJeX16ttbGysGTx4cI3bP/nkE/PQQw+Z\nHj16mG3bthljjNm2bZvp0aOHr03nzp3NoUOHTN++fU1WVlal+uuvv94MHjzYPP744w16DQkJCebF\nF18048eP963bt2+fuf32203r1q196z799FOTlJRkjDHmzjvvNHv27DHvvPOOGT16dIOO995775kf\n/vCH9Wq7aNEi89Of/tSMGzfOvPnmm5W2/fWvfzU/+9nPaqwdPXq0ue222xrUt7q8+uqr5tVXX61x\ne3Z2tomPj69zPyEhIaa4uNi3XFpaaq6//vp69aGoqMiEhYXVq+0PfvCDan/vJk+e7FvOysoyffv2\n9S1nZGSYH//4x/Xaf11SUlJM586dzfbt22ttN3ToUPPhhx8aY4zp3r27GTlyZJU2ffr0MevXr6/3\nsYODg80333zToP5++OGHZujQoQ2queTS7+8l6enpZsKECX7tqyk899xz5g9/+INvee3ataZfv36+\n5ereYy659dZbzcGDB82ECRNMenp6ncdqrPdjv8+gcnJyFBkZ6VuOjo5WdnZ2pTZer1fR0dG+5U6d\nOqmgoKDW2su3RUZGyuv1+ttFAEAz1qoxd26MqXJ5zOFwVNv20vor29dmxowZvp+TkpKUlJTU4D4C\nABrG7XbL7XY3+nH8Dqi4uDhNmzbNt7xjxw4NGjSoUhuXy6Xc3FwNHDhQknTs2DGFh4crJCSkxtq4\nuDjl5eXJ6XQqLy9PcXFxNfbh8oACADSNK08IUlNTG+dAgVwfjImJMevWrTOFhYWmW7du5tixY5W2\nezwe06dPH1NcXGzeeecdM2TIkDprZ8+ebSZPnmxOnz5tnn76aTNnzpxqjx1g1+vt/fffNxcuXKhX\n2yVLlpiPP/64xu2HDx82a9euNStXrvRdO//mm2/MypUrfW3++c9/mtOnT5tPPvnEHD16tFJ9Wlqa\nWb58ufnss88a9BrWrFljcnJyjNfr9a0rKyszy5YtMx988IFv3ZEjR8ynn35qjDFmxYoVprS01BQV\nFZmNGzc26Hh79+6tdx8LCwtNdna28Xq9pqCgoNK2PXv2GI/HU2Ot2+02b731VoP6Vpft27fX+nlK\ncXGxyczMrHM/y5YtM2fPnvUtl5eXm6VLl9arD6dOnTIfffRRvdpmZWWZgwcPVlr31Vdfmc2bN/uW\njx49aj755BPfsj9/pzXZsmWLeeONN8yJEydqbbd+/Xpz4MABY8zFz8BWr15dpU11c742//jHP8y5\nc+ca1N8DBw406HOuy136/b1k9+7dJicnx699NYUtW7aYXbt2+ZYv//02pvbxvvQ+lJOTY3bv3l3n\nsRrr/djx3537Zd26dZo4caIqKiqUkpKilJQUpaenS5KSk5MlSS+++KKWLFmikJAQZWRkKCoqqsZa\n6eIdRmPGjNHWrVt1//33KyMjQzfccEOVYzscjgZdDgQANI7Gej8OKKCuJgIKAOzQWO/HPEkCAGAl\nAgoAYCUCCgBgJQIKAGAlAgoAYCUCCgBgJQIKAGAlAgoAYCUCCgBgJQIKAGAlAgoAYCUCCgBgJQIK\nAGAlAgoAYCUCCgBgJQIKAGAlAgoAYCUCCgBgJQIKAGAlAgoAYCUCCgBgJQIKAGAlAgoAYCUCCgBg\nJQIKAGAlAgoAYCUCCgBgJQIKAGAlAgoAYCUCCgBgJQIKAGAlvwOqtLRUw4YNU1hYmIYPH65Tp05V\n2y4rK0tRUVGKiIhQWlpanfXHjx/XQw89pKCgID377LP+dg8A0Mz5HVDz589XWFiY8vPzFRoaqgUL\nFlTbbsqUKUpPT9eaNWs0b948lZSU1Frfrl07/epXv9Lvfvc7f7sGAPge8DugvF6vxo8fr7Zt22rc\nuHHyeDxV2pw8eVKSlJiYqC5dumjAgAHKzs6utb59+/bq06eP2rZt62/XAADfA34HVE5OjiIjIyVJ\nkZGR8nq9tbaRpOjoaF9A1VXvcDj87RoA4HugVW0b+/fvr8OHD1dZP2vWLBlj/DrgpeDxt/5yM2bM\n8P2clJSkpKSkgPcJAKid2+2W2+1u9OPUGlCZmZk1bnv77beVl5cnp9OpvLw8xcXFVWkTFxenadOm\n+ZZ37NihQYMG+bbVVV+XywMKANA0rjwhSE1NbZTj+H2Jz+VyaeHChTpz5owWLlyohISEKm2Cg4Ml\nXbyTr6ioSJmZmXK5XPWq/y7OsAAAzZfD+JkEpaWlGjNmjLZu3ar7779fGRkZuuGGG3To0CFNmDBB\nH3/8sSRp3bp1mjhxoioqKpSSkqKUlJRa6yXpzjvvVGlpqcrLy3XjjTdq9erVlT7Lki5eKiTEAODq\na6z3Y78D6mojoADADo31fsyTJAAAViKgAABWIqAAAFYioAAAViKgAABWIqAAAFYioAAAViKgAABW\nIqAAAFYioAAAViKgAABWIqAAAFYioAAAViKgAABWIqAAAFYioAAAViKgAABWIqAAAFYioAAAViKg\nAABWIqAAAFYioAAAViKgAABWIqAAAFYioAAAViKgAABWIqAAAFYioAAAViKgAABWIqAAAFYioAAA\nVvI7oEpLSzVs2DCFhYVp+PDhOnXqVLXtsrKyFBUVpYiICKWlpdVZn5mZqdjYWPXo0UPDhw+X1+v1\nt4sAgGbM74CaP3++wsLClJ+fr9DQUC1YsKDadlOmTFF6errWrFmjefPmqaSkpNb6Tp06acWKFfri\niy/0/PPPa+rUqf52EQDQjPkdUF6vV+PHj1fbtm01btw4eTyeKm1OnjwpSUpMTFSXLl00YMAAZWdn\n11ofExOjzp07S5IefPBBbd++XRcuXPC3mwCAZsrvgMrJyVFkZKQkKTIystpLcZe3kaTo6GhfQNWn\n/t1331Xv3r3VsmVLf7sJAGimWtW2sX///jp8+HCV9bNmzZIxxq8DOhwOSaqz/ssvv9Qvf/lLZWZm\n1thmxowZvp+TkpKUlJTkV58AAPXndrvldrsb/0DGTyNGjDBbtmwxxhizadMmM3LkyCptTpw4YWJi\nYnzLkydPNitWrKizfv/+/eaee+4xn332WY3HD6DrAIDvUGO9H/t9ic/lcmnhwoU6c+aMFi5cqISE\nhCptgoODJV28k6+oqEiZmZlyuVy11p84cUJDhgzR7Nmz1bt3b3+7BwBo5vwOqEmTJmnfvn3q1q2b\nDh48qIkTJ0qSDh06pCFDhvjazZ07V8nJyXrkkUf09NNPq2PHjrXW//nPf1ZBQYFSU1PldDrldDpV\nXFwcyGsEADRDjv+enjU7DofD78/BAADfncZ6P+ZJEgAAKxFQAAArEVAAACsRUAAAKxFQAAArEVAA\nACsRUAAAKxFQAAArEVAAACsRUAAAKxFQAAArEVAAACsRUAAAKxFQAAArEVAAACsRUAAAKxFQAAAr\nEVAAACsRUAAAKxFQAAArEVAAACsRUAAAKxFQAAArEVAAACsRUAAAKxFQAAArEVAAACsRUAAAKxFQ\nAAArEVAAACsRUAAAK/kdUKWlpRo2bJjCwsI0fPhwnTp1qtp2WVlZioqKUkREhNLS0uqs93q9cjqd\niomJ0cMPP6yVK1f628VrmtvtvtpdsBZjUzPGpmaMTdPzO6Dmz5+vsLAw5efnKzQ0VAsWLKi23ZQp\nU5Senq41a9Zo3rx5KikpqbX+vvvu0+bNm7Vt2zalp6crJSVFxhh/u3nN4pepZoxNzRibmjE2Tc/v\ngPJ6vRo/frzatm2rcePGyePxVGlz8uRJSVJiYqK6dOmiAQMGKDs7u9b66667Ti1aXOxWaWmpWrZs\nKYfD4W83AQDNlN8BlZOTo8jISElSZGSkvF5vrW0kKTo62hdQtdV7vV5FRETogQce0N/+9jd/uwgA\naMZa1baxf//+Onz4cJX1s2bN8vuy26Wzodrq4+PjlZ+frw0bNujRRx/VwYMHfWdV1e0L1UtNTb3a\nXbAWY1MzxqZmjE3TqjWgMjMza9z29ttvKy8vT06nU3l5eYqLi6vSJi4uTtOmTfMt79ixQ4MGDfJt\nq6u+b9++uv3225Wfn69u3bpV2sbnUgDw/eb3JT6Xy6WFCxfqzJkzWrhwoRISEqq0CQ4OlnTxTr6i\noiJlZmbK5XLVWl9UVKTz589Lkr744gudO3euSjgBAL7//A6oSZMmad++ferWrZsOHjyoiRMnSpIO\nHTqkIUOG+NrNnTtXycnJeuSRR/T000+rY8eOtdZv2LBBMTExcjqd+r//+z/Nnz8/kNcHAGiuzFX0\nxBNPmJtvvtl0797dt+7bb781Q4cONXfccYcZNmyYKS0tNcYYU1hYaNq1a2diYmJMTEyMmTRpkq8m\nNzfXOJ1Oc9ddd5mXXnrJt768vNyMGzfOhIWFmX79+pmvv/666V5cgKobm/fff99ER0ebFi1amM2b\nN1dq/9prr5muXbuaqKgos379et/6a31smDfGTJ061URGRhqn02mmTJliTp8+7dt2Lc0bYxo2Pswd\nY37xi1+YHj16mJ49e5oxY8aY4uJi37ammDtXNaCysrLMli1bKg3I7NmzzeTJk83Zs2fNM888Y+bM\nmWOMuThZLm93ucGDB5v33nvPFBcXmz59+picnBxjjDFLliwxI0eONGVlZebXv/61eeaZZxr/RX1H\nqhubvLw8s2vXLpOUlFTpTfjIkSOmW7duZu/evcbtdhun0+nbdq2PDfPGmNWrV5sLFy6YCxcumCef\nfNK8+eabxphrb94Y07DxYe5cPGG4JDU11bzyyivGmKabO1f1UUcPPvigbrzxxkrr6vP9qivt2rVL\nP/rRj3TTTTdpxIgRvhqPx6MxY8aoffv2euqpp+q1L1tUNzaRkZG65557qrT1eDwaNGiQwsLC1K9f\nPxljfE/muNbHpjbXytj0799fLVq0UIsWLTRw4ECtW7dO0rU3b6SGjU9tvo/jU93YBAUFSZLOnz+v\nsrIytWvXTlLTzR3rnsVX2/ejCgsLFRMTo+TkZH3++eeSpN27d+vmm2/2tbn8u1Zer1fR0dGSpJCQ\nEB05ckTnzp1rqpfSZLxer6KionzL3bp1k8fjYWz+i3nzP2+88YYeffRRScyb6lw+PhJzR5Jefvll\nde7cWRs2bPDdld1Uc8e6gDI13D5+2223af/+/dq2bZuGDx+usWPHVtveGFPpu1aXb69p381dda+r\nuu+IXYtjw7z5n5kzZyooKEiPPfaYJObNla4cH+bORbNmzdK+ffsUHx+vF154QVLTzR3rAurS96Mk\nVfp+VJs2bXynn4MHD1arVq20e/duRURE6MiRI7763NzcSrey5+bmSpKOHz+uW265RW3btm3Kl9Mk\nLn+dkrRz507FxcWpa9eu1/zYMG8uWrRokVatWqWMjAzfOubN/1Q3Psyd/2nfvr3GjRunjRs3Smq6\nuWNdQNX0/aji4mJduHBBkrRlyxadOXNGXbt2lXTxUuB7772n4uJiLVu2rNKAZGRkqKysTH/5y1+q\n/a5Wc3X5vz7i4+O1atUq7du3T263Wy1atPBdO77Wx4Z5I61cuVJz5szR8uXLfZ8hSMybS2oaH+aO\nlJ+fL+niZ1DvvvuuRowYIakJ50597u5oLI8//ri59dZbTZs2bUxoaKhZuHBhjbeZL1261Nx7772m\nZ8+eZuTIkWbdunW+/ezYscM4nU5z5513mhdffNG3vry83DzxxBPmjjvuaHa3fF4am9atW5vQ0FDz\n1ltvmWXLlpnQ0FDTrl07c8stt5hBgwb52s+dO9fcfffdJioqymRlZfnWX+tj8/e///2anzddu3Y1\nYWFh1d4ufS3NG2MaNj7MnbfMyJEjTffu3U1cXJyZNm2aOX78uK99U8wdhzHfg4ukAIDvHesu8QEA\nIBFQAABLEVAAACsRUAAAKxFQwBVKSkrkdDrldDp16623KjQ0VE6nU0FBQZo8efJ3frz09HT+52ig\nGtzFB9QiNTVVQUFBev755692V4BrDmdQQB0u/RvO7Xb7ntM2Y8YMJScnKzExUXfffbdWr16tV155\nRd27d9ekSZN8Nbt27dKkSZPkcrn0zDPPqKSkpMr+Z8yYod///veSpKSkJKWmpio2Nlb9+vXT1q1b\nq7R3u916+OGHNXLkSHXt2lW/+c1vtGzZMsXGxmrw4ME6cOCApIv/I3ZiYqJ69uypfv36NcrYAI2J\ngAL85PF49PHHH2vhwoW+sPjyyy+Vn5+vLVu2SJKmTZuml156SR6PR/fee6/efPPNKvtxOBy+55U5\nHA7t3btXHo9HTz31lNLS0qo99oYNG/Tb3/5W27Zt0+zZs+V2u+X1epWQkKAlS5ZIuvgMtUWLFunz\nzz/XRx991EijADQeAgrwg8Ph0NChQxUUFKTevXvr3Llzevzxx+VwOORyubRx40YdO3ZM69ev19Ch\nQ+V0OrVgwQL9+9//rnPfP/nJT9SyZUs99NBDvmefXSk+Pl533323brjhBkVHR2vYsGFq0aKFHnjg\nAV9N3759NX78eC1atOh78Tw4XHtaXe0OAM1VcHCwpIsPFW3btq0vBNq0aaPy8nJduHBBN910U7WX\n6Wpz6QGlbdq00dmzZ6tt06FDB9/Pbdq08S23bt3a918Y/OpXv9IXX3yhjIwMde/eXbm5uWrdunXD\nXiRwFXEGBfihrnuLjDHq3Lmz7rrrLi1dulTGGFVUVFR6AnRD9uePgoIC9ejRQ7Nnz1bbtm0rPWUa\naA4IKKAOl38+VN3Pl7e5cvn111/X2rVrFRMTI6fTWeMlu+r+L52a1l957Jq2vfDCC+rRo4d69+6t\nMWPGKDQ0tLaXCViH28wBAFbiDAoAYCUCCgBgJQIKAGAlAgoAYCUCCgBgJQIKAGCl/wcbur6DXt07\nRwAAAABJRU5ErkJggg==\n" } ], "prompt_number": 42 }, { "cell_type": "code", "collapsed": false, "input": [ "# Slide 36", "import numpy as np", "import quantities as pq", "", "def load_spikes(filename):", " # Dummy implementation: just make a spike train", " spikes = np.random.uniform(0, 20 * pq.s, size=20 * pq.s * 10 * pq.Hz)", " spikes = np.append(spikes, np.random.normal(11.0 * pq.s, size=10 * pq.Hz * 5))", " return np.sort(spikes)", "", "def bin_spikes(spikes, binsize, tstart, tend):", " binsize.units = tstart.units", " bins = np.arange(", " tstart, tend + binsize, binsize)", " return np.histogram(spikes, bins=bins)[0]", "", "def binned_plot(bins):", " plt.bar(range(len(bins)), bins)", " plt.xlabel(\"Time bin\")", " plt.xlim(0, bins.shape[0])", "", "spikes = load_spikes('spikes.csv') * pq.s", "event = 11 * pq.s", "window = (-0.5, 2) * pq.s", "binned = bin_spikes(spikes, 20 * pq.ms, *(event + window))", "binned_plot(binned)" ], "language": "python", "outputs": [ { "output_type": "display_data", "png": "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\n" } ], "prompt_number": 53 }, { "cell_type": "code", "collapsed": true, "input": [], "language": "python", "outputs": [] } ] } ] }