{ "metadata": { "name": "", "signature": "sha256:6405b5ab2365aa5e94af2e126ff2a4ba70012a8f0f2ce979b4c969e25b6482cf" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "#pyKCSD - implementation step by step\n", "Implementation of 1-dimensional kCSD method in Python. This is a brutal port with minimal changes to the existing version." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Data\n", "Let's work with two gaussian sources - generate CSD and calculate potentials.\n", "\n", "Potentials measured by an electrode at the height H from the tissue:\n", "$$ \\phi(x_e) = \\frac{1}{4\\pi\\sigma}\\int_{-\\infty}^{\\infty} \\frac{I(x) dx}{\\sqrt{(x-x_e)^2 + H^2}}$$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%pylab inline" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] }, { "output_type": "stream", "stream": "stderr", "text": [ "WARNING: pylab import has clobbered these variables: ['csd']\n", "`%matplotlib` prevents importing * from pylab and numpy\n" ] } ], "prompt_number": 97 }, { "cell_type": "code", "collapsed": false, "input": [ "rcParams['figure.figsize'] = 14, 7" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 98 }, { "cell_type": "code", "collapsed": false, "input": [ "x = linspace(-4.0, 4.0, 400)\n", "h = 0.7\n", "H = 0.7\n", "sigma = 0.1 #conductance\n", "true_csd = 0.7*np.exp(-(x-0.6)**2 / sigma) - 0.9*np.exp(-(x+0.6)**2 / sigma)\n", "\n", "fig, (ax1, ax2) = plt.subplots(1, 2, sharex=True)\n", "ax1.plot(x, true_csd)\n", "ax1.set_title('True CSD')\n", "\n", "def calculate_pot(x, r):\n", " return 1.0/(4*np.pi* sigma) * np.trapz( true_csd/np.sqrt( (x - r)**2 + H**2), x)\n", "\n", "pots = [calculate_pot(x,r) for r in x]\n", "ax2.plot(x, pots)\n", "ax2.set_title('Potentials')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 99, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAzgAAAGxCAYAAACurBO7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl4lNXB/vF7QsK+hTWQsCeQhL2CLIoNStgEtKAILo2I\ny4t7qa+ibS36EwUFrRTbYt1AFGjrwiJGUUxVEBAFZCcsgRB2CYsgBML8/jhvIktCJpnlPDPz/VxX\nLhLyZJ67U5wn95zznONyu91uAQAAAEAIiLAdAAAAAAB8hYIDAAAAIGRQcAAAAACEDAoOAAAAgJBB\nwQEAAAAQMig4AAAAAEIGBQcAAACSpHfeeUd9+vTx6NixY8fqtttu83MioPQoOAhpVatWVbVq1VSt\nWjVFRESocuXKhV/PnDnTr+fes2ePRo4cqYYNG6p69epKSkrS2LFjdeLECUnSnDlz1KFDB9WoUUN1\n69bVNddco6ysLEnmohEVFaXq1aurevXqatWqlR544AHt3bvXr5kBAIHTtGnTwutSTEyMRowYoePH\nj5f4M4sWLfLJ+bOyshQREaGzZ88W/t0tt9yiTz75xKOfd7lcPskB+BoFByHtp59+0rFjx3Ts2DE1\nadJE8+fPL/x6+PDhhcedOXPGp+c9dOiQunXrplOnTmnp0qU6evSoFi5cqCNHjmjbtm3asmWL0tLS\n9NJLL+nIkSPavn277rvvPpUrV06SuWgMHz5cR48eVW5urj744APt3btXl112GSUHAEKEy+UqvC59\n//33WrFihZ555pkSf8bXe7SX9fHYKx5ORcFBWMrIyFBcXJyef/55NWjQQHfccYemTZumHj16nHdc\nRESEtm3bJkk6deqUHnnkETVp0kQxMTEaNWqUTp48WeTjv/jii6pRo4ZmzJihxo0bS5Li4uL00ksv\nqU2bNlq1apWaNWumnj17SjIjTYMHD1ajRo0kmYtGwYWjXLlySk5O1uzZs1W3bl1NmjTJL88JAMCe\nhg0bqm/fvlq7dq3mzp2r1q1bKzo6Wj179tTGjRslSbfddpt27typgQMHqlq1apo4caIkaenSpere\nvbuio6PVoUMH/fe//y183JSUFD355JO68sorVb16dfXp00c//vijJOmqq66SJNWsWVPVq1fX0qVL\n9dZbb513LXzooYfUuHFj1ahRQ506ddLXX39dZP6TJ0/q1ltvVZ06dRQdHa3LL79c+/fv98tzBZSE\n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\nRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 99 }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Sampling\n", "Lets now insert 10 uniformly distributed electrodes and plot their readings." ] }, { "cell_type": "code", "collapsed": false, "input": [ "elec_pos = [ h * i for i in xrange(-5,5)]\n", "print elec_pos\n", "\n", "meas_pot = [pots[int(200+r*50)] for r in elec_pos]\n", "print len(meas_pot)\n", "scatter(elec_pos, meas_pot)\n", "print meas_pot" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[-3.5, -2.8, -2.0999999999999996, -1.4, -0.7, 0.0, 0.7, 1.4, 2.0999999999999996, 2.8]\n", "10\n", "[-0.060020526557476174, -0.085156845172231349, -0.13366952756985112, -0.23511735830787805, -0.32986291502619441, -0.092151882151558534, 0.14900777994365988, 0.10477135691038296, 0.045569642538395544, 0.019849696932428045]\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 100 }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we were now to calculate CSD using finite difference approximation, we would get:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$c \\approx -\\frac{\\phi_{i-1} + \\phi_{i+1} - 2\\phi_{i}}{(x_i - x_{i-1})^2}$$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "csd = np.array([ -(meas_pot[i-1]+meas_pot[i+1] -2*meas_pot[i])/(elec_pos[i]-elec_pos[i-1])**2 for i in xrange(1, len(elec_pos)-1)])\n", "plot(elec_pos[1:9], csd)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 101, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 101 }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Now time for kCSD\n", "\n", "Travel through the existing Matlab code with partial Python adaptation.\n", "\n", "Firstly we are setting some basic parameters." ] }, { "cell_type": "code", "collapsed": false, "input": [ "n_sources = 200 #looks best when n_sources == dist_density\n", "space_extension = 0.0\n", "estimation_area = linspace(min(elec_pos), max(elec_pos), 200)\n", "source_space = linspace(min(elec_pos)-space_extension, max(elec_pos)+space_extension, n_sources)\n", "max_dist = max(estimation_area)-min(estimation_area)\n", "\n", "#extension of the sources space\n", "ext = 0" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 102 }, { "cell_type": "code", "collapsed": false, "input": [ "#define the positions of the basis functions\n", "xmin = min(elec_pos) - ext\n", "xmax = max(elec_pos) + ext\n", "src = linspace(xmin, xmax,n_sources)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 103 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calculating contributions of sources at different distances." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def pot_intarg(src, arg, current_pos, h, R, sigma, src_type):\n", "# only gauss implemented! needs expansion for step basis functions\n", "\n", " y=(1./(2*sigma))*(sqrt((arg-current_pos)**2+R**2)-abs(arg-current_pos))* gauss_rescale(src, current_pos, h);\n", " # this is formula (8) from Pettersen et al., 2006\n", "\n", " return y" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 104 }, { "cell_type": "code", "collapsed": false, "input": [ "def gauss_rescale(x, mi, three_sigma):\n", "\n", "# INPUT \n", "# r - radius of the point at which we calculate the density\n", "# three_sigma - three times the std of the distribution\n", "\n", "# OUTPUT\n", "# gauss_rescale - value of a density proportional to\n", "# - standard gaussian with std=three_sigma/3\n", "\n", "#comment outdated\n", "\n", " sigma_n2 = (three_sigma/3.0)**2\n", "\n", " g = 1./sqrt(2.*pi*sigma_n2) * exp(-(1./(2.*sigma_n2))* (x-mi)**2) * (abs(x-mi)]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nHlal+vZNLrusGBObPbvsNAAAUJustHSAM84oHh08CQBAvbLSUuUuuSSZODH5/e/LTgIAALXHSksH\nueeeZOTI5P77k222KTsNAAB0LCstNWCffZJPfzo55ZRk8eKy0wAAQO1QWjrQeecl8+cnP/xh2UkA\nAKB2rNF42Pbbb59NN9006623Xrp27ZpJkyYtfQLjYWvlqaeKVZcJE5I99yw7DQAAdIzW9IaGNX2B\npqambLHFFuv0IizVv39y8cXJiScm996bbLhh2YkAAKC6rfF4mNWUtnPyycluuyVf+ELZSQAAoPqt\nUWmpVCo55JBDsvfee+cXv/hFe2fq9CqV5Gc/S8aPT373u7LTAABAdVuj8bA777wzW2+9dV588cUc\neuih2WWXXbL//vsv+ffRo0cv+bixsTGNjY1tnbPT6dEjufba5EMfSvbaK9lhh7ITAQBA22lqakpT\nU1ObPNdan9Ny/vnnp3v37vniF79YPIEb8Vvl+99Prr8+uf32pGvXstMAAED7aNdzWubNm5fZs2cn\nSebOnZvx48dn9913X6cX453OOSfp2TP5+tfLTgIAANVpteNhM2fOzFFHHZUkWbhwYU488cQMHz68\n3YPViy5dkquuSoYMSQ48MPnAB8pOBAAA1WWtx8Pe8QTGw9rExInJcccl99+fbL112WkAAKBttet4\nGB3jgAOSs85KTjopWbSo7DQAAFA9lJYq8o1vFIXloovKTgIAANXDeFiVefbZYgvk3/0uGTas7DQA\nANA2jId1Ittsk1xxRXLCCcmLL5adBgAAymelpUp95SvJ3/6WjBuXrLde2WkAAKB1rLR0Qt/+dnF/\nyze/WXYSAAAol5WWKvbCC8X9LZddlhxxRNlpAABg3bWmNygtVe6uu5Ijjywe+/cvOw0AAKwb42Gd\n2NChyde/nowalcyfX3YaAADoeFZaakBzc3LiiUm3bsmVVyaVStmJAABg7Vhp6eQqleQXv0juvbd4\nBACAemKlpYY8+mhx4OTYscnee5edBgAA1pyVljrx7ncnl1+eHHNM8tJLZacBAICOYaWlBn3pS8mD\nDya33po0NJSdBgAAVs9KS5258MLi5vwvf7nsJAAA0P6UlhrU0JBcd13yhz8kV11VdhoAAGhfxsNq\n2JQpSWNjUV723bfsNAAAsHLGw+rUoEHFuS2jRiXPPlt2GgAAaB9KS4074ojks59NjjwymT+/7DQA\n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\n3LMoLueem7zyStnJAACqh9ICVWDDDZOvf70YGXv99eTd704uuSRZsKDsZAAA5VNaoIpstVXy858n\nf/5zMm5ccb7LmDHOdwEA6pt7WqCKjR9fjItttlly8cXJe99bdiIAgHXjnhbopIYPTx54IDn55OSo\no5KPfCR59NGyUwEAdCylBapcy/kujz+e7L13MmxY8vGPJ9Onl50MAKBjKC1QIzbaKPnyl5PHHku2\n3LLYbexLX0peeqnsZAAA7UtpgRqz+ebJhRcmDz2UzJlT7DT2v/5XMndu2ckAANqH0gI1qm/f5LLL\nkrvuSh5+OBkwIPn+95N588pOBgDQtpQWqHE77ZRcc03yxz8mf/1rsuOOxRkv8+eXnQwAoG0oLdBJ\n7L578rvfJbfemvzlL0WZ+fGPkzffLDsZAEDrKC3QyQwenNxwQ3Ljjcl//3dRXi67THkBAGqX0gKd\n1F57JTfdVKy+3HRTMTZ26aXGxgCA2qO0QCf33vcWI2NjxiR//nPSv3/y3e8ms2eXnQwAYM0oLVAn\n9t67KC5//GMyeXJRXi64IHnllbKTAQCsmtICdWa33ZKrr07uvDN55plibOyrX01mziw7GQDAiikt\nUKd23jm58srk/vuT119PBg5Mzj47efzxspMBACxLaYE69653JT/5SfLoo0mfPsl++yXHHJNMmlR2\nMgCAQqW5ubm5VU9QqaSVTwFUkblzixWY//2/k+23T/7H/0gOPzypVMpOBgDUstb0BqUFWKGFC5Pr\nry92Glu0KDnnnOSEE5INNyw7GQBQi5QWoN00NycTJiSXXJLce2/y8Y8nn/pU0rdv2ckAgFrSmt7g\nnhZglSqV5NBDk5tvTm67LXn11WTXXZOTTipKDABAe7PSAqy1V19NrrgiufTSZJttitGxo45KGhrK\nTgYAVCvjYUApFi5MbryxGB175pnkM59Jzjwz2WKLspMBANXGeBhQioaGZNSoYmxszJjk4YeTAQOK\n814efLDsdABAZ6G0AG1ir72SX/0qmTKluEn/iCOSoUOLr82fX3Y6AKCWGQ8D2sXChcmttyaXXVbc\nsH/yycUKzM47l50MACiD8TCg6jQ0JCNHJmPHJpMmJd26Jfvvnxx8cPK73yVvvVV2QgCgVlhpATrM\nm28W975cfnny6KPJGWckn/hEst12ZScDANqblRagJnTrlhx3XNLUlPzpT8ns2cmQIckHP1isvrz5\n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\nAFiZ1R4uuSoOnqSebb/99tljjz0yZMiQvPe9702SvPzyyzn00EOz8847Z/jw4Xn11VdLTglt7/TT\nT0+fPn2y++67L/naqn73L7zwwuy0007ZZZddMn78+DIiQ7tZ0fth9OjR6devX4YMGZIhQ4Zk7Nix\nS/7N+4HOatq0aTnwwAOz6667ZrfddsuPfvSjJG3392GdS4uDJ6l3lUolTU1NeeCBBzJp0qQkyUUX\nXZRDDz00jz32WA4++OBcdNFFJaeEtnfaaadl3Lhxy3xtZb/7U6ZMyXXXXZcpU6Zk3Lhx+dSnPpXF\nixeXERvaxYreD5VKJV/4whfywAMP5IEHHsjhhx+exPuBzq1r1675wQ9+kEceeSR33313fvKTn2Tq\n1Klt9vdhnUuLgychWX668g9/+ENOOeWUJMkpp5ySG264oYxY0K7233//bL755st8bWW/+zfeeGOO\nP/74dO3aNdtvv3123HHHJSUfOoMVvR+Sd/59SLwf6Ny22mqrDB48OEnSvXv3DBw4MM8++2yb/X1Y\n59Li4EnqXaVSySGHHJK99947v/jFL5IkM2fOTJ8+fZIkffr0ycyZM8uMCB1mZb/7zz333DJb5ftb\nQb249NJLs+eee+aMM85YMg7j/UC9eOaZZ/LAAw9kn332abO/D+tcWhwoSb27884788ADD2Ts2LH5\nyU9+kttvv32Zf69UKt4n1KXV/e57X9DZffKTn8zTTz+dyZMnZ+utt84Xv/jFlX6v9wOdzZw5czJq\n1Khccskl2WSTTZb5t9b8fVjn0rImB09CZ7b11lsnSXr16pWjjjoqkyZNSp8+fTJjxowkyfPPP5/e\nvXuXGRE6zMp+95f/WzF9+vRss802pWSEjtK7d+8l/3N25plnLhl58X6gs3vrrbcyatSofOxjH8uR\nRx6ZpO3+PqxzaXHwJPVs3rx5mT17dpJk7ty5GT9+fHbfffeMHDkyV111VZLkqquuWvKGhc5uZb/7\nI0eOzLXXXpsFCxbk6aefzuOPP75ktz3orJ5//vklH48ZM2bJzmLeD3Rmzc3NOeOMMzJo0KCcc845\nS77eVn8fVnm45Ko4eJJ6NnPmzBx11FFJkoULF+bEE0/M8OHDs/fee+fYY4/NFVdcke233z7XX399\nyUmh7R1//PGZOHFiZs2alW233TYXXHBBvvKVr6zwd3/QoEE59thjM2jQoDQ0NOSnP/2pcRg6leXf\nD+eff36ampoyefLkVCqV7LDDDvnZz36WxPuBzu3OO+/Mb37zmyXHQSTFlsZt9ffB4ZIAAEBVa9Xh\nkgAAAO1NaQEAAKqa0gIAAFQ1pQUAAKhqSgsAAFDVlBYAAKCqKS0AAEBV+3+RvcQo8KMiVAAAAABJ\nRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 106 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can adjust the number of points used to calculate the integrals in the dimensions where we assume the current distribution.\n", "Doing this we can balance between the accuracy and performance." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def bPotMatrixCalc(x, src, elPos, distTable, dist_dens):\n", " \"\"\" \n", " compute the matrix of potentials generated by every source basis function\n", " at every electrode position. This procedure can be optimized\n", " bPotMatrix(j,k) = b_j(x_k) \n", " with x_k electrode position, b_j j-th basis source from the paper\n", " \"\"\"\n", " nEl = len(elPos);\n", " nSrc = len(src);\n", "\n", " distMax = max(x) - min(x) \n", " \n", " bPotMatrix = zeros((nSrc, nEl))\n", " for srcInd in xrange(0,nSrc):\n", " currentSrc = src[srcInd];\n", " for argInd in xrange(0,nEl):\n", " arg = elPos[argInd]\n", " r = abs(currentSrc - arg);\n", " \n", " distTableInd = uint16(dist_dens *float(r)/distMax);\n", " bPotMatrix[srcInd, argInd] = distTable[distTableInd];\n", " \n", " return bPotMatrix\n", " \n", "bpm = bPotMatrixCalc(estimation_area, source_space, elec_pos, dt, dist_density)\n", "#print bpm\n", "imshow(bpm, interpolation=\"none\")\n", "colorbar()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 107, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 107 }, { "cell_type": "code", "collapsed": false, "input": [ "KPot=dot(transpose(bpm),bpm)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 108 }, { "cell_type": "code", "collapsed": false, "input": [ "# Kernel matrix K from (2.14) from the paper\n", "imshow(KPot, interpolation=\"none\")\n", "colorbar()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 109, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\niDPOYnO7AAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 109 }, { "cell_type": "code", "collapsed": false, "input": [ "def bSrcMatrixCalc(X, src, h):\n", " nSrc = len(src);\n", " nGx = len(X);\n", "\n", " bSrcMatrix = zeros((nGx, nSrc));\n", "\n", " for currentSrc in xrange(0, nSrc):\n", " bSrcMatrix[:, currentSrc] = gauss_rescale(X, src[currentSrc], h);\n", "\n", " return bSrcMatrix\n", " \n", "bSrcMatrix = bSrcMatrixCalc(estimation_area, source_space, h);\n", "\n", "imshow(bSrcMatrix, interpolation=\"none\")\n", "colorbar()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 110, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 110 }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Note**: this is definitely a sparse and potentialy large matrix." ] }, { "cell_type": "code", "collapsed": false, "input": [ "load_factor = float(count_nonzero(bSrcMatrix))/bSrcMatrix.size * 100\n", "print \"Just %f%% of elements of basis source matrix is nonzero.\" %load_factor" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Just 21.235000% of elements of basis source matrix is nonzero.\n" ] } ], "prompt_number": 111 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Possibly some memory can be saved here, especially for bigger simulations." ] }, { "cell_type": "code", "collapsed": false, "input": [ "interpCross = dot(bSrcMatrix, bpm)\n", "imshow(interpCross, interpolation=\"none\")\n", "colorbar()\n", "# cross-kernel matrix from (2.17) in the paper" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 112, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n/gAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 112 }, { "cell_type": "code", "collapsed": false, "input": [ "def bInterpPotMatrixCalc(X, src, distTable, dist_dens):\n", " \"\"\"\n", " compute the matrix of potentials generated by every source basis function\n", " at every electrode position. This procedure can be optimized\n", " bPotMatrix(j,k) = b_j(x_k) \n", " with x_k electrode position, b_j j-th basis source from the paper\n", " \"\"\"\n", " npoints = len(X);\n", " nSrc = len(src);\n", "\n", " distMax = max(X) - min(X);\n", "\n", " bInterpPotMatrix = zeros((nSrc, npoints));\n", " for srcInd in xrange(0, nSrc):\n", " currentSrc = src[srcInd]\n", " for argInd in xrange(0, npoints):\n", " arg = X[argInd];\n", " r = abs(currentSrc - arg);\n", " \n", " distTableInd = uint16(dist_dens*float(r)/distMax)-1; \n", " bInterpPotMatrix[srcInd, argInd] = distTable[distTableInd];\n", " \n", " return bInterpPotMatrix\n", "\n", "distTable = dt\n", "bInterpPotMatrix = bInterpPotMatrixCalc(estimation_area, source_space, distTable, dist_density);\n", "\n", "imshow(bInterpPotMatrix, interpolation=\"none\")\n", "colorbar()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 113, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nu1sdHR267LLLtHLlyjKH0NI0r518+umndeWVV0qSrrzySn3ve9+rYli15pxzztGECRNGlUV93Veu\nXMXOFPsAAAJySURBVKnFixero6ND3d3dmjZt2sgbMTAj7Psgjf2dkPg+QD0odXLv7+/X1KlTR467\nurrU399f5hBalra2Np133nmaPXu2HnroIUnStm3b1NnZKUnq7OzUtm3bqhxiyxD1dd+yZYu6urpG\n6vH7UTz333+/Zs6cqauvvnrk9gjfB6gDpU7utp8VhPQ8//zzWrdunZ555hn9wz/8g372s5+NOt/W\n1sb3pwKSvu58T4rjuuuu02uvvab169dr8uTJ+vKXvxxZl+8D+Eapk/uUKVO0adOmkeNNmzaNeocM\nxTF58tAuUMcdd5wWLlyovr4+dXZ26o033pAkbd26VZMmTapyiC1D1Ne9+fdj8+bNmjJlSiVjbAUm\nTZo08ubqmmuuGbn0zvcB6kCpk/vs2bO1ceNGvf7669qzZ4+efPJJLViwoMwhtCS7du3Szp1De1G/\n8847evbZZ3XKKadowYIFWrFihSRpxYoVuvjii6scZssQ9XVfsGCBvvOd72jPnj167bXXtHHjxpEn\nG8A+W7duHfn3d7/73ZGV9HwfoA6Uurd8e3u7HnjgAX3iE5/QwMCArr76ap188sllDqEl2bZtmxYu\nXChJ2rdvny6//HLNnz9fs2fP1qJFi/TII4+ou7tbTz31VMUjrR+LFy/WmjVrtH37dk2dOlV33XWX\nvvrVr4Z+3Xt6erRo0SL19PSovb1dDz74IJeDLdH8fbjzzjvV29ur9evXq62tTSeeeKKWL18uie8D\n1AO2nwUAAKgZ7FAHAABQM5jcAQAAagaTOwAAQM1gcgcAAKgZTO4AAAA1g8kdAACgZjC5AwAA1Awm\ndwAAgJrx/wE2jQszGoROewAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 113 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Unfortunately this matrix is dense." ] }, { "cell_type": "code", "collapsed": false, "input": [ "load_factor = float(count_nonzero(bInterpPotMatrix))/bSrcMatrix.size * 100\n", "print \"%f%% of elements of basis source matrix is nonzero.\" %load_factor" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "100.000000% of elements of basis source matrix is nonzero.\n" ] } ], "prompt_number": 114 }, { "cell_type": "code", "collapsed": false, "input": [ "InterpPot = dot(transpose(bInterpPotMatrix),bpm)\n", "imshow(InterpPot, interpolation=\"none\")\n", "colorbar()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 115, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAI0AAAGnCAYAAACKHtRBAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnX9wFMe177+r/SUJ4ki4jH4gEglJWJKN8QIWkOsU62eE\njargyZIjWzI2xvBSheoau7Bdz+GPWLieLfKc3JR/RK+oFLYpJQ9EVS6B3GerKFyRbJwXlGsJbkrK\nLfZdJJdYCdlcGwdZP1azzPtjpnt3e3ckBs1opof+VHWt5tfuTKvn9Dmnu89xybIsQyDQQZrVNyDg\nD9FoBLoRjUagG9FoBLoRjUagG9FoBLoxvNF0dHSgrKwMpaWl+NnPfmb01wtsgMtIP000GsWdd96J\n06dPY8mSJbjvvvtw5MgRlJeXG/UTAhtgqKTp7u5GSUkJCgsL4fV68fjjj+PEiRNG/oTABhjaaMLh\nMJYuXUq3CwoKEA6HjfwJgQ0wtNG4XK5Zz1ke/Ae4XC7DSjAYNPIRDCXDwOd0uVxYtGiR1Y8EAPAY\n+WVLlizB0NAQ3R4aGkJBQUHCOaGuP8G34T5sDEYAAN8Pfh//0TmMrOZ/BACcjm7E+P5fYHLlPykX\ndAD4rBn4slnZvvQbAG8ByITL5UJXV6eRj2AokwCaDfy+5q+/NvDbbh5DG82aNWsQCoUwODiI/Px8\ntLe348iRI0nnZQbXoL75PwEA48jA552fIwPjyjH3OKbTpjGZHneHafF3+g8A/gIgG253GiSp08hH\nMBxDK9gmGPpMHo8H77zzDh566CFEo1Hs3LlTWE4OxPAXYfPmzdi8efOM52QF70Em/g/dXhHMxtdQ\nuisfIlgYXIVrUfVgOoDCIPANOdsL4H4AF8CDb9Jr9Q2YgCW1vjC4OmG7PLg4YTsjWJl4wdIg8w3r\njb8pk/AYWOyCJffiwxTVYdxQREqmuu3HlHJSvE4Tv42MuAP2lzROxE4N2JE4sXuypNFkYgKZmFBv\nQJE0Geo2kUBUsrASh/4bvOBB0jjxrbR/rQtsh2U6TaamTqNYUdqSxhP3af82L7ongW6cWMGWPFN6\nCuvJp1pNPipp1BkbHhe5SIUvncaJOPFFsBWiezKIjBTWE9nOpNYT8deoIialTjP7qLrVOPGtFPJd\noBtLXgR/gvUkAYhJGKLbeNMV3WaaSBqq0xDp4gUPkkZ0TwLdiEZjEKnGnjIYP41f1Wmm41WYBPjQ\naZyIkDQm48QKtkinicA/pUgUj0eRNH63sk0kji+d8Qwn3SkfOo0TceKLYCuETmMQbkSR+e11AIDk\nVj4zv5uo0/jcqp+GnU9DtiU+dBonvpXCTyPQjSWNxo8IXN8Crm8Br1oyMIEMTMCHKfgwpeg9iCgS\nJh0p5j56wYPw9xpYWIaGhvDAAw/grrvuwt1334233noLAPDYY48hEAggEAigqKgIgUAAADA4OIiM\njAx6rKmpiX7XZ599hhUrVqC0tBTPPffcjM/kROlpK8ysYK/Xi1/+8pe49957MTY2htWrV6Oqqgrt\n7e30nBdffBFZWVl0u6SkBL29vUnftXv3bhw6dAiVlZWorq5GR0cHHn744ZS/a4mk8SGirCSbBPCt\nUvyYUj3FyrgUkTi8Sxozyc3Nxb333gsAWLhwIcrLyzE8PEyPy7KMY8eOoaGhYcbvGRkZwbVr11BZ\nqUzof+qpp/D73/9e83yh05iMmd1TPIODg+jt7cXatWvpvk8++QQ5OTkoLi6m+wYGBhAIBBAMBnHm\nzBkAyhr8+JWwS5YsmXENvmXWE1l0oA49xfwz6gE6g0/LeuLEIzwfFTw2NoZHH30Ub775JhYuXEj3\nHzlyBI2NjXQ7Pz8fQ0NDyM7ORk9PD2pqatDX16f79yxqNJLSNQG08ZCpEdTk1lrKkjDB3P6NZi78\nBcC/znLO9PQ06urqsG3bNtTU1ND9kiTh+PHj6Onpoft8Ph98Ph8AYNWqVSguLkYoFMKSJUtw6dIl\net6lS5ewZMkSzd8U3ZPJzKU7+gGAPXGFRZZl7Ny5ExUVFXj++ecTjp0+fRrl5eXIz8+n+65cuYJo\nVPHAX7x4EaFQCMuWLUNeXh5uu+02nD17FrIso62tLaEBslg0YBlRFGAA6ngllSyaE8yTJI3onj79\n9FP85je/wT333EPN6paWFjz88MNob29PUoA//vhj/PSnP4XX60VaWhoOHjxILavW1lY8/fTTmJiY\nQHV1tablBAiTm2vuv/9+XL9+PeWx9957L2lfbW0tamtrU56/evVq/PWvf72h37VOESYL/MeUD6LT\nkInlZMpEkiKcMMHc/pLGiU4BIWlMRjQag0iwnlTdJnNK1WX8ZCnLbNaTwCrEv8BknFjBljyTJ965\np376JhWFzudXp3tS5x6zaC5pKYu98Rp5m5KB3zUHhJ9GoBvrXldGp/ES3ea7icMJ2ovm+FAxPQ6U\nNHzIeI7xuq2+A+Ox3k/DjEERPw3RaeiiOY/W8lzBfCNq3mQM7Z5sgnWShtFpyKefCTni9igdefKi\nOT50GkOtJ5sgrCeBbqx7D4hOQ/w1quSJ6TTqZCxVp5nUDKNmc4QiLNCNA2vYurEn4nMgkob4aei0\nT6LTMKPdnOk0TsSB74HNcGANW/dIRNJo+mlUK4pdniskjeU48D2wGQ6sYeslzSx+GhLIUTvkiM1x\noPUk/DQC3Vg3n2YWP01SMOqUqxE4gJPb1IMDH8lmOLCGrddp2LnCqp+G6DI0aZiwnmyDA98Dm+FA\nRdh6ScPOFY5LgAqkWP8kdBrLEdaTQDfWvweMbuOPqqPbbo31T0kpfGyO9TVsOA58JJshdBqDkJHs\np1GtJ9/ktPK5gPEI86rTOBBR82bjwBq2/pGYUW4/+Vwwm0eYE3i73xtAWE8C3Vjvp2F0GxfRbRYx\nfpqkUW77x6YB4EhJ48BHshnCejIBotOMJW7HQsNqjT0JrEL8C8zGgTVsySNJ8TJbYwzKz4xBcStp\neLvfG0BYTxyjlYWlubkZBQUFNNvKhx9+SK9paWlBaWkpysrKcOrUKbqfrywsjIRhdRqSghnpTEQs\nXjBREdbKwuJyubB3717s3bs34fz+/n60t7ejv78f4XAYGzduRCgUgsvlsn8WlgQktZCsLFNK8SAK\nD6KxvE8eSS1gsrHYHPZ+51IYUmVhIYkwZFlOOv/EiRNoaGiA1+tFYWEhSkpKcPbsWZGF5VaFZGFZ\nt24dAODtt9/GypUrsXPnTly9ehUAMDw8nJBtpaCgAOFwOGn/bFlYLGk00fjXJqqWqcTiQwQ+ROBG\nVHHweUgBHxKGYKKkIbBZWHbv3o2BgQGcO3cOeXl5eOGFFwx/JIGZzEGn6RwBOi/PfE6qLCyLFy+m\nx3ft2oUtW7YAUCTI0NAQPXbp0iUUFBRwmIWF1WnGlEIyy5GS5okiLV7S8CZxboJgHtAciBUWrSws\nIyMj9O/jx49jxYoVAICtW7fi6NGjiEQiGBgYQCgUQmVlJXJzc+2fheWWwsQaTpWF5fXXX8eRI0dw\n7tw5uFwuFBUV4eDBgwCAiooK1NfXo6KiAh6PB62trXC5FGvU9llYonDTX5ZVi9ql4dwjk7B8amjY\nSc8CqAdu+SavlYVl8+bNmtfs27cP+/btS9pv+ywstxQOrGHLH0lSZz54k5ayMIEAUgU3svzubwAe\n7lEn1ivCAu6w/D2YVnUaL5kiQZayMMGNUoZRs/zubwAxn0agGwfWsDXWk8tN30BJc3kuGbBUrSc/\nM0VCYBniX2A2Dqxh6ydhETR0mlggAFUkCZ3GcoT1JNCNde+q+gZOszqNqrqwEibl8lweJA0P96gT\nBz6SzXBgDVs09hT7WeIRZsegiITxzxTcyIH/EB4Q1W42Dqxh6x6J+eUJVcJkEutpSrWe2OTuvEka\nYT0JBHN4VwsLC3HbbbfB7XbD6/Wiu7sbX331FR577DF8/vnnKCwsxLFjx5CVlZV0bRTupDdwQpUw\nmUxyd48/qt4oo9PwAm/3ewPctKRxuVzo7OxEb28vuru7AQAHDhxAVVUVLly4gAcffBAHDhww7Ea5\nZR4mls83c+qe2LU1J0+exPbt2wEA27dv11w7c53M3IurCCmqWlLqXGHvlFKSVyXAlhV5KzEnSbNx\n40asWbMGv/71rwEAo6OjyMnJAQDk5ORgdHTUmLvkGbeBxSbc9Lv66aefIi8vD19++SWqqqpQVlaW\ncNzlctFJyyxS3BzhaSR+sqPdxF/DrfXEwz3q5KYfKS8vDwBwxx134JFHHkF3dzdycnJw+fJl5Obm\nYmRkJGH9TTxdzZ+gWVGDcBeA9Xp+uK8T6O8ERoGosP0s4aaqfXx8HNeuXQMAfPvttzh16hRWrFiB\nrVu34vDhwwCAw4cPa66d2dD8QzRXA83VsQZDlj/RVZaqbkPWcpO13VgVBLY1A0ua4V7afDO3P784\nUBG+qVsZHR3FI488AgCQJAlPPPEENm3ahDVr1qC+vh6HDh2iJvctj410EaO4qUZTVFSEc+fOJe1f\ntGgRTp8+Pev18eueCBPkD41EqCnHnhz4D+EBGwk9h+LAGrZuhSUjJZKsJ1XixKwnTucI83a/N4Cw\nPwS6sXwtN0nAQybwJYW9n2mOMA86jZA0AoGN5tNoeYSJJzjlHGEeJA0P96gTBwpPm+HAGraN9UR1\nGsZ6ovFpUgWhduBbzAMOfA9shgNr2LoVluove1RpMUFS+EzSkwDMssKSB0nDwz3qxLolLH6Ng05T\nhB2IA4WnzXBgDVvv3COTsdjuic650lCEeYG3+70BhHOPY7SysLz00ksoLy/HypUrUVtbi2+++QaA\nEgo/IyODZmdpamqi36UnC4t1jYaZWDStFnYSFvcTy02cI0yysPT19eHPf/4zfvWrX+Fvf/sbNm3a\nhL6+Ppw/fx7Lly9HS0sLvaakpAS9vb3o7e1Fa2sr3U+ysIRCIYRCIXR0dGg+kpA0ZmPizL1UWViG\nh4dRVVWFtDTlX7t27dqEEPap4CILC9VpPIBHLWS6pyypwQBUiePHVELhTtLMEyQLy9q1axP2v/vu\nu6iurqbbAwMDCAQCCAaDOHPmDAAgHA7rysIiqt1s5qGG2SwshNdeew0+nw+NjY0AgPz8fAwNDSE7\nOxs9PT2oqalBX1+f7t+zzrmn9tHUelKPsYEAyDTP2HTPuAxzPPhp5lDDnX8BOv915nNSZWEBgPff\nfx8ffPABPvroI7rP5/PB5/MBAFatWoXi4mKEQiHdWViEpLExwfuUQth/MPG4VhaWjo4OvPHGG+jq\n6kJ6ejrdf+XKFWRnZ8PtduPixYsIhUJYtmwZsrKyaBaWyspKtLW1Yc+ePZr3ZZ1HmBlGINBAADSM\nWmJoWHjIcIKXD0lj4j1qZWHZs2cPIpEIqqqqAADr169Ha2srurq68Morr8Dr9SItLQ0HDx6kARps\nn4XllsLEGtbKwhIKhVKeX1dXh7q6upTHbJ+FJQp30tgTmRpBwqmx0z391EVMTiATRQXzjZA0ZuPA\nGrZ87MnF3ME4iV6iYT150xXJM+1Jv+V1GqsQHmGBbiyXNJrLczUSa7hV62mal/k0onsS6MaBNWz5\ndE8a7p4eS/yDDQ2bkJaQB0njQBz4HtgMB9aw9XOEZ9NpmNCwCWkJOVDjZQdKQw6qXWA3rF+Wq7U8\nlyyWUwULXcpCPcJ8EBXdk0AvotEYRMKyXGYMitVpXExwI7ebL53GiTjwPbAXktvIlp08om0FtvMI\n6wpuJCSNJQhJYzJRj5FVHDHwu24eyzzC06ou49WynqboyQBiY08Ja7o5kDRRt/McNRxUu8BuWOYR\nJqaol6xKUI9RScOkXqbWE2+SxoEDZEKnMRlJNBpjiMKNqEcVE+mJZiTrpyFWFLGeElL4cCBpnIiQ\nNCYTdWAVWyZppvzKSr8F7smEY0kBG6lOw1hPnOBEnUYIeIFurNNp6BLLxBtJSuHDBmx0CevJapzX\n4doM0WgMQlLjWgHQXGnJ6jQeTv00TkRIGpMRfhqDiMKDKfgS7kDTIzxJjitHeBvlFia3QUTju6d0\njZM0uifeBiydiPNeA5shFGGDSDC53Yk3QnolWe2WXEk5EviSNE5sNBxUu8BuWGZyR2ZRhElwIy8z\njOCzyey1G0VYTwLdCOvJQCTGuccGQyMBG71JIUf4MrmdiPNeA5shFGGDiMJDCw13r3zQcPcTU2og\najWxhifhqrjEGjaH+KSMKCxaWVi++uorVFVVYfny5di0aROuXr1Kr2lpaUFpaSnKyspw6tQpup+P\nLCyCOaOVheXAgQOoqqrChQsX8OCDD+LAgQMAgP7+frS3t6O/vx8dHR1oamqCLCtBDm2fhSWqWk8R\n+BSPcLqi08TrNTSVjyp6Uqbw4UDymylpUmVhCYfDOHnyJLZv3w4A2L59O82ocuLECTQ0NMDr9aKw\nsBAlJSU4e/as7iwsHAh4vpkvkzs+C8vo6ChycnIAADk5ORgdHQUADA8PY926dfSagoIChMNheL1e\n+2dhicIdq0zGI0wTa5CTI+S0FFMjXObeJy+MjY2hrq4Ob775Jr7zne8kHHO5XHC5jK0oIWlMZi5+\nmn/r/Br/1nl1xnNIFpYnn3ySZmHJycnB5cuXkZubi5GRESxevBiAIkGGhobotZcuXUJBQYHuLCyW\n6DSSOvZEw6j5U+g0slJiycIiamGShTmYe4LZ2NZcRAuLVhaWrVu34vDhwwCAw4cP08a0detWHD16\nFJFIBAMDAwiFQqisrERubi7NwiLLMtra2hLSALE4vNqtx0w/TaosLC0tLXj55ZdRX1+PQ4cOobCw\nEMeOHQMAVFRUoL6+HhUVFfB4PGhtbaVdl+2zsEThQcSljj35U98IO8E8OVkYuNBpzGw0WllYAOD0\n6dMp9+/btw/79u1L2q8nC4vw0wh0Y42kibpjITiYUW4CnWBOAzUyycI4QYxyC3QjRrkNIiq5IbkT\nR7nZG0kKDcupTuNEnPca2AwnjnJbJmmi/sT1uBnMOckpfFIEauRA0jix0QjrSaAba+YIS3FzhDVm\n7rEpfIiEIcGNeJE0wnoS6EZYTwYRlTyxN1DDT8OGhiXJwtx+YT1ZjfNeA5vhREXYOuuJ/LSq02SQ\nkCOqZGH9NCRZmNsvrCerEdaTQDeWdU/sCkuaQkCVNNRPQwQLVWX40mmcKGmETmMywuQ2iOtScvi0\ndOKv+Vb5ZMOokWRhPqLtcCJpnIiQNCYj/DRGIcWtRlAjYaXNlsInqizq4m0+jRN1GmE9CXRjkaTx\nIMJOpGE22bEnMAlQedFpbjlJ88wzzyAnJwcrVqyg+25mcfmtjKQuDDSi2IUZG82OHTuSFoLrWVyu\nNVMekiu2Plld96S5jkld9+SKKoW3tdxOZMZG88Mf/hDZ2dkJ+/QsLu/u7jbptvkhMUDK3Ipd0H0n\neheXp0RC0ig3O6+GHXuiY1Dx82k4wIk6zZyqfrbF5ZrHpDj/BRmoZLKxJCnCTC5LXhqNE9Fd9XoW\nl2stIpf/VzNO5/5fAMD6JUBwzY3//n90XsLFzjDwRTMXHhsnShrdfhq9i8tT4fpvzdjQvAEbmjcg\neD9oYKP44EY0qJGqCJPgRncG87C5eQ3wXDPczzXrvX2BAcwoaRoaGtDV1YUrV65g6dKlePXVV29q\ncfmtjBMlzYyN5siRIyn3611cziLHK8KkTv0aJyfpNGRqhDzr79gBO/lXjEIMIwh0Y9EwQpzYJql7\ntKynqcQdsbzc9AxbYyf/ilE474lsxi2n05iHK1aZjE7DLmWRVYHiYgIB0PmfgnlHSBqTEZLGKKTY\nxHJZ1WlczNQIGhpWVWEyGespzRPlQosX1pNAAAslDXkDJfVF9GqEHJGk2DUAf0nCnGg9CUljMmbm\nRkg1Se7xxx9HIBBAIBBAUVERDRU7ODiIjIwMeqypqYleoycDC2Cpn0b56Ui60m696cqEraRkYaou\ncxszyu32OFHF1MeOHTvw7LPP4qmnnqL7jh49Sv9+8cUXkZWVRbdLSkrQ29ub9D0kA0tlZSWqq6vR\n0dExYxxhIWlMxkxJk2qSHEGWZRw7dgwNDQ0z3p/eDCyAVY1GilXmlN+HKb9PO9w9ElP4kHlsbo8E\nNwdeYTMbzUx88sknyMnJQXFxMd03MDCAQCCAYDCIM2fOAADC4bCuDCyA8NM4liNHjqCxsZFu5+fn\nY2hoCNnZ2ejp6UFNTQ36+vpu6rst02mmVD9NlBl00gwNywRs9Hj4sEvm4qf5ovNv+KLz3/X/piTh\n+PHj6Onpoft8Ph98PqXOV61aheLiYoRCId0ZWAAhaUxnLk379uAK3B6MWUb9+0/c0HWnT59GeXk5\n8vPz6b4rV64gOzsbbrcbFy9eRCgUwrJly5CVlUUzsFRWVqKtrQ179uyZ8fst1GkU7YSmJVR1mgwk\n+mom1EJ0GroKyBOF+xYff2poaMAPfvADXLhwAUuXLsV7770HAGhvb09SgD/++GOsXLkSgUAAP/rR\nj3Dw4EFqWbW2tmLXrl0oLS1FSUnJjJYTICSN6ZjpGNCaJEcaTzy1tbWora1Neb6eDCyADebTsIEA\nNEPDkmk0JNw9J34aPu5SH8JPI9CNZd0TeQNpIABm7RyBWk80CLUqadx8vMNOHOUWOo3J8OEY0Ifl\nOg0bRi1plJssOlAHt+MTazjvHeYD570GNoOPTlQfFnqEFdEy5Zo5sQYbCICMctsrjoI2Tmw0wnoS\n6MYGOg0T7l49xRs7FeqJABLTEvLwDjtR8xKSRqAbyyUNG+5+Np0mZj3xIWn40Lz04bwnshl8NG19\nWL8agRl7Iil8PFP01IQ/6BxhR2oLfCAkjckISWMU8asRiNlErCcSRYJNFsaMcvOCExuNsJ4EurE8\nSRg79uQhKy7V89hRbjpHmBO7xImaFw/1zjV8NG19WO6nmWL8NK70hM0kj3DMeorCzUNGDQfivNfA\nZjhREbbQT6P8dFLkcq0on3SUO37syf6SRjQao4hrNHQYgQnYqKUI++MmYaVx0GiciOieTEZYT0YR\nTbGEhemekm6MCZ/m4aZ7ct57KZx7At1YbnIn5bJkFs1pD1jyImlE9yTQiWg0BkJ0GXYYQTNrrurc\n80+p1pOfD0njRISkMZnodSFpjEGK6TJTrJ+GmWB+jVxDnHuSEtCRF0kjSc5rNMJ6EujGcutJKwFq\nkkeYDFjGWVE8SJqo5DwNwHlPZDOiDuyeLJ9YTq0njfzc8dcAgDdu2icPksaJCEljMkLSGEXcxHJq\nPRGdhpmEFX9N/CcvHmFp2nmNRlhPAt1YFxI26laKOkVcTlcThmmEhqVJ3aNKIcHf7c71qMewwpIq\nC0tzczMKCgpotpUPP/yQHmtpaUFpaSnKyspw6tQpul9vFhYhaThmx44d6OjoSNjncrmwd+9e9Pb2\nore3F5s3bwYA9Pf3o729Hf39/ejo6EBTUxNkWQkzRrKwhEIhhEKhpO9ksazRRCU3opIb0/BhGj5I\nbjVhWLpS2MQaJPg0LbxAHsyIwqCVhYU0hnhOnDiBhoYGeL1eFBYWoqSkBGfPnuUoC8uthImNRou3\n334bK1euxM6dO3H16lUAwPDwcEK2lYKCAoTD4aT9N5KFxTqdhkoapUTS05SEYVo6DZEwqm5Dwt0L\nEtm9ezcGBgZw7tw55OXl4YUXXjD8N4SfxmykObgFznYC3Z26Llm8eDH9e9euXdiyZQsARYIMDQ3R\nY5cuXUJBQcFNZWGxTNJIkhuS5EYEfkTgjyUL8wDw0I+YbqNaTWyyMNvD6mJ6yuogsLs5Vm6AkZER\n+vfx48epZbV161YcPXoUkUgEAwMDCIVCqKysRG5uLs3CIssy2traUFNTM+NvCEnDMQ0NDejq6sKV\nK1ewdOlS7N+/H52dnTh37hxcLheKiopw8OBBAEBFRQXq6+tRUVEBj8eD1tZWuFyKFGxtbcXTTz+N\niYkJVFdX2zQLixQb/U2aK+xXJs6wQah59QibqXalysLyzDPPaJ6/b98+7Nu3L2k/H1lYbiUcqKtb\nJmmmJxNDjbBzhTOZS2ReJY0DEZLGbKZnP4U3rGs0Egk1kjrcPQlulJRxMG6lJReShgMDTy/CIyzQ\njWU6DTStJ+WDBmz8Vr2EhLlPmCPMQZsXirBAN6LRGIQE6l5Psp6YINReVdJMq5XviUus4UbyaK7A\nfISkMRshaQwibk4MtZ4Yncal3hld053CT5PGg6RxYKPhQJMU2A3LJU1SCh9mTbfW+idu4O1+bwCh\n05iNaDQGolYmkTBJsfeYiFjTvOo0DkRIGrMRY08GEafTSBoeYc0g1HTsSUIaD3q8A8eeLG80sbxP\niTkSqJOPXBKNuxaKc090T9YguiezEYqwQcRJmiRFmDG5k26QZmPhRNI4sNFwoBQI7IblkmY2RVg4\n9+yH0GnMRjQag0hhPc0W3IhN4cONTuNAhKQxGyFpDISxnmho2NkGLKOKdBGSxjqEpDEbB0qaGU1u\no8JzJRG3yD2qLkaJwKdIHTXUCAlupBVyhJtQI9MGFpswY6OZa3iu69evm3fnAsuYsdHMNTxXd3d3\n6i+WoCTImIQqL9yYgk+xoFQJQyQOCTnCLVEDi024KY+wnvBctzxziU9j0ziDuhuNnvBcJP5JEnEV\nQYIakdCwVKdRSyaUQoIbuSSlcBPUyIHolvx6wnNphuH6shn4nfLn2JJcLAyuvuHf7wwBnf8P6Pz6\nDFw8rOW2kYQwCt2NZmRkBHl5eQCSw3M1NjZi7969CIfDNDxXSrKbgf+q/JkR7EEUMX/NNPHPEI+w\nOvit5gZDsEgp/+OF9UhDGjr3f6r3EeaXW63RGBWeS+AsZmw0RoXnSkJG0ig3He1OV9Qsr18RLSQQ\nwLVx9Vre5tPYyL9iFFxbs1zgQF3d8lFuMo+GJkL1K7rNgnQ1YKOq41BJ40AdgTfEzD2zMdFPk2qY\n56WXXkJ5eTlWrlyJ2tpafPPNNwCAwcFBZGRk0OGfpqYmeg0fWVhSjD0Rj3DU5UHUFfPXuDxK8aQp\nhcDN2JOJjSbVMM+mTZvQ19eH8+fPY/ny5WhpaaHHSkpK6PBPa2sr3c9NFhbB3Ek1zFNVVYW0NOXf\nunbt2oSDQHkLAAAKmUlEQVQQ9qngJwtL3NtDxp6IRzhptFstXo9S7DYOMysWjnK/++67qK6uptsD\nAwMIBAIIBoM4c+YMACAcDuvOwiKsJ7OxqIG/9tpr8Pl8aGxsBADk5+djaGgI2dnZ6OnpQU1NDfr6\n+m7quy23ntgVllNsyJH0xEuJa+aWWGE50glc7tR92fvvv48PPvgAH330Ed3n8/ng8yl1u2rVKhQX\nFyMUCt1UFhYhacxmLrr6HUGlEM7tn/WSjo4OvPHGG+jq6kJ6euyNu3LlCrKzs+F2u3Hx4kWEQiEs\nW7YMWVlZNAtLZWUl2trasGfPnhl/w/o5wlPqHGH/zOufPORO1TEobjzCJhp4qYZ5WlpaEIlEUFVV\nBQBYv349Wltb0dXVhVdeeQVerxdpaWk4ePAgsrKyAPCShUVgCHqGeerq6lBXV5fyGB9ZWOJ1GhLu\n3k8CNqbWaby8Nm8x9iTQDU/ugRvEckkjSYmBGjV1mhtPFiswGSFpzIaDkQ69WC5pIpOKKJG+S1L5\nMGu6mWDUiWu5OcCBjYaLehfYC8slzXUp0T9DdZqF6rnEiuK1I3Wg9SQkjUA3lnuESVrCpHD3bGhY\nxnpSQsJy4BEWJrdANw5UhC3XaUhawqlZwt2L5m0frO+eJkmGOTJFQm0tTHAjzQjmdkdIGoFuHGg9\nWS9pmDBqWs499k49iPKwktuRCEljNsJ6MhBG0kyxzj2i07BOPt5woE4jnHsC3VgkaWSQvNxQVt8m\nOffkBcp+F+vc422KhAMljdBpzEZYTwaiaT2RQADK/nTWySdMJssRksZshPVkFBIgeemfygcz7TNd\nOZ6+QJXvROLwpro7UKfh7V8gsAEWSZppYFKVNKr1RIMakU83UWpUScNrR+pAScPrv4IfhPVkFFKS\n9cT6aTQnY4lmbjniX2A2wnoyimnNsSdiRY0jUzmw4Cvlk9fJWA7UaYT1JNCNbXQadlluhA0EwIxB\nSXAjjYeBKAdKGt6EPX8I68lA6BxhsploPREdB+poN/0UzdxyxL/AbIT1ZBTJ1lMkmugJTvLT8Go9\ncbCeTy/CehLoxjaShoRRi7gVCRPz06jnMR7hKDyQebCeHIiQNALdWNRopNjSXDXV8tSkTynwYwr+\nWLh7JuUy3OBvnrBJpMrC8tVXX6GqqgrLly/Hpk2baDZjAGhpaUFpaSnKyspw6tQpup+PLCwCQ0iV\nheXAgQOoqqrChQsX8OCDD+LAgQMAgP7+frS3t6O/vx8dHR1oamqi+dU5ycIynZSWJip5EJViCTWI\nxMECJBZV8kT5CaBmGqmysJw8eRLbt28HAGzfvp1mVDlx4gQaGhrg9XpRWFiIkpISnD179qaysPBm\nwHLI/LqER0dHkZOTAwDIycnB6OgoAGB4eBjr1q2j5xUUFCAcDsPr9fKShSV57Gl6MnEtt6afRtVn\nonBD5kLSWDf45HK5TMlYLCSNrflYLTdOTk4OLl++jNzcXIyMjGDx4sUAFAkyNDREz7t06RIKCgpu\nKguL9TrNJCl+YNKPCJQyjkyMIxPTC4DpFDoNP8wlK9h6AP89rszO1q1bcfjwYQDA4cOHUVNTQ/cf\nPXoUkUgEAwMDCIVCqKysRG5uLs3CIssy2tra6DVaCEljOuZ1T2wWlldffRUvv/wy6uvrcejQIRQW\nFuLYsWMAgIqKCtTX16OiogIejwetra2069KbhcUlE7trnlBu9M9AyVplx+PqgW3Kx3+581/U3e0A\ngMap/w0AWPDPas6e7yof/7P6H5GGNLzkegvz/Ag3jPKs/2ngN95ui2cVksZ0nDehxvr5NMy8Gnb9\n07hfGYNasGBMOUHVZ5SxJx6sJ+c1Gh5qXWAzLFxhqf5JPjXWP40jQzmwUJU0wk9jOUKnMR3ndU+2\n8QgTiTOFxPk0bNIw2R87L40LSeM8hKQxHdE9GUTyzL1k64nRaZjVCMJ6sg7ruydGEZ5iFs1NsNM+\nQcLi86IIOw/RPZmO6J4MYvbuiXRLSYvmouQ8XhRh53VPPNS6wGbYTtIk6zSKxJlWJY07Ss7zcyJp\nRPck0I3zuifbWU+x5bmJTr6JhUpgxzRJmSIhrCfrEJLGdET3ZBBxIpu1ntQJ5hMLFAlDnXxuZdvr\njtD9bi4kjfO6Jx5qXWAzrNNp2D+JR3hS1WkWqBJH1WmI38YXlyDVzUV2Ded1T0LSCHRjoU6jTpCe\nTEwWRhbNxTzDqvWkfkYRUY/7OJE0ztNphPVkOqLRGARZKYdYCh86/TNRwhBdhmzHB6fmQ9I4DyFp\nTMd5irCFOo0qticTk4URHYcNRj1OdRpF0kwJncYyhPUk0I0NdBp1F7OkhZ1gTka7Y0tchJ/GKoRO\nYzrO656s12k0JM0EI2GSracMTiSN8xCSxnRE92QQEoAJ5U9mPk1Mp0m0mq7hOwCAzDidxsOFpHFe\n9ySsJ4FuLGo0IVC9RgJwrTMujBqA7s640LA+fN45iHFkqCUTn3WOqeHVMqy5fV1IBhZ7YFGjGUzc\nnOxM3P5r4vblzgsJ2//e+YXhd2Qec4m5xxZ7YKEiHOenuY5EnUYCxqOq9eTOxDS8sZWWAKbhRQQ+\nXJ/P2xVQLGk0ubkLkZ+vLoLLAYZDQP731INZwHA6UA5leKEIixBGBhZjKQDAj0lkYgAr4IcbSTLL\nhtinWzEMeZ7ZsGGDDGUyjSFlw4YN8/0IN4yRzwlAzs7OtvqRZFmW5XmP7ingH2FyC3QjGo1AN/Pe\naDo6OlBWVobS0lL85Cc/wQMPPIC77roLd999N9566y0AQDQaRSAQwJYtW3D16lU8+uijKC8vR0VF\nBXbv3o277roLK1asQGNjI6ampub7EQTzqUBJkiQXFxfLAwMDciQSkSsqKuTf/e53sizL8rVr1+Tl\ny5fL/f398i9+8Qu5sbFR3rJli/zUU0/Jhw4dkmVZlkOhkPz9739fnpyclGVZluvr6+X3339/Ph9B\nIMvyvEqa7u5ulJSUoLCwEF6vF08++SQuXFAcdwsXLkR5eTnOnz+PDz74ALt27UIkEsEnn3yCZ555\nBgCwaNEi+P1+jI+PQ5IkjI+Pz5oxRGA88+qnCYfDWLp0Kd0uKCjA2bNnAQCDg4Po7e2Fy+XCG2+8\ngb///e8YHx/HHXfcgR07duD8+fNYvXo1nn32WXzve99DRkYGHnroIWzcuHE+H0GAedZptBJWjY2N\n4dFHH8W2bduQn5+PQCAAWZYhyzJ6enrQ1NSEnp4eTE9PY//+/RgcHMTw8DDGxsbw29/+dj4fQYB5\nbjRsoqqhoSHk5eWhrq4O27ZtgyzLOHnyJIqKitDQ0IDPPvsMfr8f9913HwCgqKgIGRkZuP322+Hx\neFBbW4s//elP8/kIAsxz97RmzRqEQiEMDg4iPz8fR48eRWFhISoqKvD8888DAF5//XUAQFdXF37+\n85/jm2++wYULF7B8+XKMjIxgYmICExMTSE9Px+nTp2nCTsH8Ma+SxuPx4J133sFDDz2EiooKrFu3\nDn/4wx/wxz/+EYFAAIFAICG9r8vlwttvv40nnngCK1euxBdffIFnn30Wa9aswT333AMA+PGPfzyf\njyCABUnCBPwjPMIC3YhGI9CNaDQC3YhGI9CNaDQC3YhGI9CNaDQC3YhGI9DN/wfOWalF/ySkbQAA\nAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 115 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now give me my pots!" ] }, { "cell_type": "code", "collapsed": false, "input": [ "estimation_table = InterpPot;\n", "lambd=0.0\n", "\n", "KInv = linalg.inv(KPot + lambd *identity(sqrt(size(KPot))))\n", "imshow(KInv, interpolation=\"none\")\n", "colorbar()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 116, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 116 }, { "cell_type": "code", "collapsed": false, "input": [ "def estimate_pots():\n", " estimation_table = InterpPot;\n", " lambd=0.0\n", " \n", " KInv = linalg.inv(KPot + lambd *identity(sqrt(size(KPot))))\n", " beta = dot(KInv, meas_pot) \n", " output = dot(estimation_table, beta)\n", " return output\n", "\n", "output = estimate_pots()\n", " \n", "plot(linspace(min(elec_pos), max(elec_pos), len(output)), output)\n", "plot(elec_pos, meas_pot) # measured potential\n", "plot(x,pots) #real pot\n", "\n", "legend((r'kCSD estimated potential', r'linearly interpolated potential', r'true potential'), shadow = True, loc = (0.01, 0.75))" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 117, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nEYSEQNnyBsw3HkPall9hxAjtlpyc84CFEOIlJMF5xebMmcOoUaOYMGECd+/e5caNG3z66afs2LED\ngFGjRpGYmEhgYCBxcXFs374dV1fXTOc4d+4c8fHxBAUF0a9fP4YNG8bkyZNfSbyva6Y6+dAuhHjr\nnTihHXOzdSuYPF7AMyoxiq2XtjLEfYhuX3Iy9OoFvr7afGjAgBesUfMfFTIsxAfvfMDfH/3NL91+\nISg6iHKLytHvt36cvHUy2+dxcYGffoL9+7WtTNU/rcdfi85o559u0ECb/QghxKuk8oiXhZKHQn2G\ni4uL2r9/v1JKqYsXL6pSpUqpjRs3qvv37ysTExO1devW5x7r5uamfvvtt+eWazQadfXq1Uz7tm7d\nqgoXLqxiYmKyPCY8PFx16dJF2djYqFKlSqkFCxboyo4fP65q1qypzM3NVfHixdXnn3+ulFKqZMmS\nSqPRKFNTU2VmZqaOHj2qVq1apRo0aJAplsWLFytXV1dlZmamvv76axUcHKzq1q2rLCwsVPfu3VVK\nSopSSql79+6pd999V9nY2ChLS0vVvn17dfPmTaWUUuPGjVMFChRQhQsXVqampmr48OFKKaUuXbqk\nWrRooaysrFT58uXV5s2bddeOiopSHTp0UObm5qp27dpqwoQJmWJ70vXr15VGo1HLli1T9vb2qkSJ\nEmrWrFm68uTkZDVy5Ehlb2+v7O3tlaenp3r48KFKSEhQhQsXVgYGBrrXISIiQmVkZKhp06apMmXK\nqGLFiqlu3brpXvtH1/rpp5+Uk5OTsra2VlOnTlVKKbV7925VsGBBZWRkpExNTVW1atWUUko1btxY\n/fjjj0oppYKDg1XTpk1VsWLFlLW1terVq5e6f/++LtYnf7deN0CtW7dOzZ07Vy/XFyJfu3dPqVKl\nlMri78PUw1NVv9/66Z5HRipVv75S3boplZj4OoNUKupBlJrx5wzlMs9F1V5eW60+u1olpyZn+/iM\nDKW2bFGqZEmlevbIUPcnzlbK1lap3btfYdRCiPwsOzlBnska8kOCc+rUKeXk5KR27dqllNJ+wDU0\nNFTp6enPPfbjjz9WlStXVqtWrVJBQUHPlGeV4KSkpChDQ0Pl6+v7TP309HRVo0YNNWXKFJWamqqu\nXbumSpcurfbs2aOUUqpu3bpq7dq1SimlHjx4oI4dO6aUUiokJERpNJpMsWaV4HTq1EnFx8erCxcu\n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\n8zXWPrh+upuHNWvWKDU1VdnZ2crOzlZOTo4yMzP1wQcfGJDS/HqbB8n33bjhhhs0f/78wY5nCX2Z\nAww+VtwELtfW1qannnpK+fn5CgkJMTqOJQUGBqqyslItLS1KTk6Wx+PRtGnTjI5lGTt27NDo0aPl\ndDrl8Xh6HT+oBae7jUNPnDih2tpaxcbGSvJdgnrggQd0+PDhK24giqvT0wau/2v+/PlcObiOepuH\nLVu2yO12a8+ePYOUyHr6+l3A4Bo7duxlC5x4vV6Fh4cbmAgwzoULF/Tkk09q4cKFSktLMzqO5d1y\nyy1KSUnRkSNHKDiD6MCBAyouLpbb7VZ7e7taW1uVnp6uwsLCK473i1vUJkyYoKamJtXW1qq2tlbh\n4eGqqKig3Bigpqam82eXyyWn02lgGusqKSlRbm6uXC6XgoODjY5jeVxRHlwPPvigampqVFdXp/Pn\nz+vjjz/WrFmzjI4FDLpLly7p2Wefld1u19KlS42OY1k//vijmpubJUlnz55VaWkp/z8aZGvWrJHX\n61Vtba0++ugjJSQkdFtuJD8pOP+P2xOMk5WVpZiYGDkcDnk8HuXl5RkdyZJeeukltbW1KSkpSU6n\nUy+88ILRkSynqKhIERERKi8vV0pKih599FGjI1nG0KFDtXHjRiUnJ8tut2vOnDmKjo42OpblzJs3\nTw899JCqq6sVERHB7coG2L9/vz788EOVlZXJ6XTK6XSysp0BTp8+rYSEBDkcDsXFxSk1NVWJiYlG\nx7K03roCG30CAAAAMA2/vIIDAAAAAANBwQEAAABgGhQcAAAAAKZBwQEAAABgGhQcAAAAAKZBwQEA\nAABgGhQcAAAAAKbxH13ici/m905QAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 117 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now its time for CSD" ] }, { "cell_type": "code", "collapsed": false, "input": [ "estimation_table = interpCross;\n", "\n", "KInv = linalg.inv(KPot + lambd *identity(KPot.shape[0]))\n", "imshow(KInv, interpolation=\"none\")\n", "colorbar()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 118, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 118 }, { "cell_type": "code", "collapsed": false, "input": [ "def estimate_csd():\n", " estimation_table = interpCross;\n", "\n", " KInv = linalg.inv(KPot + lambd *identity(KPot.shape[0]))\n", " beta = dot(KInv, meas_pot) \n", " output = dot(estimation_table, beta)\n", " return output\n", "\n", "output = estimate_csd()\n", "\n", "plot(linspace(min(elec_pos), max(elec_pos), len(output)), output) #csd calculated with kCSD\n", "plot(elec_pos[1:9], csd) #finite difference approximation\n", "plot(x, true_csd)\n", "\n", "legend((r'kCSD estimated CSD', r'finite difference approximation', r'true CSD'), shadow = True, loc = (0.01, 0.75))" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 119, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\niORtmzdD1arm9TLWVqqUuZraH39Yv28RkQIiRwlOdHQ0lW75A+7l5UV0dHS6NhEREcTFxdG+fXsa\nN27MokWLcjJknuTj48O6devsHYbVLVmyBH9/f3uHkakFCxbQunVre4chIpKRraan3dSjB/z8s+36\nFxHJ53KU4JhMpru2SU5OZteuXfz222+sXr2ad955h4iIiEzbTpw40XILCQnJSWi5ymQy3fG1+Oab\nb2jcuDHOzs54enry2GOPsWXLFsA8hW/gwIFUqFABFxcXatSokW4tk4ODAyVLlsTZ2RkPDw86derE\nd999Z/XncPLkSRwcHEhLS7M89swzz7B69WqrjwXQrl07goKCbNI3QFJSEhMnTqR69eqULFmSKlWq\nEBAQQGRkJAD79+/n0UcfpXTp0ri5udG4cWN+//13wLxmzMHBAWdnZ5ydnalUqRK9e/dm586dNotX\nRAoIw8idBGfVKkhNtd0YIiJ5REhISLocITtytA9OxYoVOXXqlOX+qVOnLFPRbqpUqRIeHh44OTnh\n5OREmzZt2L17N9Uy2fgsu0HnJx9++CEzZsxg7ty5+Pv7U6RIEYKDg/nll19o2bIlw4cP59q1axw6\ndAhXV1cOHz7Mvn370vWxZ88eqlatSlxcHL/99htDhw7l0KFDvPXWW1aPN7dK/2YnOc6Jp556itOn\nT7N06VIaNmxIYmIiS5YsYf369QwYMIDu3bszZMgQfvvtNwzDYMeOHeme+62/29HR0XzxxRe0bt2a\nX3/9lQ4dOtg0dhHJx/bvh0KFoFYt243h4wMVKsDWrdCqle3GERHJA9q1a5euSNnbb79995OMHEhO\nTjaqVq1qnDhxwrhx44ZRv35948CBA+naHDx40OjYsaORkpJiXLlyxahTp46xf//+DH3dLZQchmpT\nPj4+xrp16wzDMIwDBw4YVapUMZYtW2ZcunTJKFGihLFixYosz61Tp47x008/ZXncZDIZx44dS/fY\nihUrjGLFihlxcXGZnhMdHW307NnTKFOmjFGlShXj448/thzbvn270ahRI8PFxcUoV66cMWLECMMw\nDKNSpUqGyWQySpYsaTg7Oxtbt2415s+fb7Rq1SpdLJ9++qnh6+trODs7G+PHjzeOHj1qNG/e3HB1\ndTV69+5tJCUlGYZhGBcvXjT+9a9/GWXKlDHc3NyMbt26Gf/8849hGIYxZswYo1ChQkaxYsWMkiVL\n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\nl2U2mwkKCrq62NmtlKsCJzU1lZiYGJo2bWrvVFzWa6+9xo4dO9i+fTvh4eG8+eab9k7JJfXv3589\ne/awY8cOfH19mTp1qr1TcjnF2cxYbEObRJcPo0aNYtWqVfZOw6V5eHjwzjvvsGfPHhISEpg7d67+\nX7CDypUrs379erZv387OnTtZv349cXFx9k7LJc2aNQt/f39MJtNt25WrAufll19m2rRp9k7DpVWv\nXv3q15mZmdStW9eO2biusLAw3NyM/z27devG0aNH7ZyR6/Hz88PX19feabik6zeJ9vDwuLpJtJSt\n3r17U6tWLXun4dJ8fHwIDAwEoFq1arRt25bjx4/bOSvXVKVKFQByc3Mxm83Url3bzhm5nqNHj7Jy\n5Ur+/ve/33KBsyvKTYGzfPlyGjVqxL333mvvVFze66+/TpMmTViwYAERERH2TsflffjhhzzwwAP2\nTkOkzGiTaJHCDh8+zLZt2+jWrZu9U3FJBQUFBAYG4u3tTWhoKP7+/vZOyeW89NJLTJ8+/eofgG/n\ntvvgWNutNg6dPHkyU6dOZc2aNVePae0D27nTBq6TJ09m8uTJREVF8dJLL/HRRx/ZIUvnV5yNdCdP\nnkzFihV57LHHyjo9l1Cc50DK3p2GHoi4mszMTIYNG8asWbOoVq2avdNxSW5ubmzfvp1z584xYMAA\nYmNjCQkJsXdaLmPFihXUr1+foKAgYmNj79i+TAucW20cunv3blJSUujQoQNgdEF16tSJzZs3U79+\n/bJM0SUUdwPXxx57TD0HNnSn5+Hjjz9m5cqV/PDDD2WUkesp7WbGYht3s0m0iLPLy8vjoYce4i9/\n+Qvh4eH2TsfleXl5MXDgQH755RcVOGVow4YNfPPNN6xcuZKcnBzOnz/PiBEj+OSTT4psXy6GqLVv\n35709HRSUlJISUmhUaNGJCYmqrixg/3791/9evny5QQFBdkxG9e1atUqpk+fzvLly6lcubK903F5\n6lEuW9okWsRgsVgYPXo0/v7+jBs3zt7puKxTp05x9uxZALKzs4mJidHnozI2ZcoUUlNTSUlJYcmS\nJfTt2/eWxQ2UkwLnZhqeYD+RkZEEBAQQGBhIbGwsM2bMsHdKLumFF14gMzOTsLAwgoKCGDNmjL1T\ncjm32sxYbE+bRJcPjz76KD179iQ5OZnGjRtruLIdxMfHs2jRItavX09QUBBBQUFa2c4OTpw4Qd++\nfQkMDKRbt24MHjyYfv362Tstl3anWkEbfYqIiIiIiNMolz04IiIiIiIiJaECR0RERERisusmAAAA\nN0lEQVREnIYKHBERERERcRoqcERERERExGmowBEREREREaehAkdERERERJyGChwREREREXEa/x/W\nPw80B4hB7AAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 119 }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is the result for $\\lambda$ = 0. Not very impressive yet, but the direction is good." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Regularization\n", "Now let's calculate the regularization parameter $\\lambda$.\n", "\n", "The $\\lambda$ parameter measures the importance of solution smoothness against the importance of the training data. Higher $\\lambda$ means that the smoothness is more important and the training data -- not so much." ] }, { "cell_type": "code", "collapsed": false, "input": [ "lambdas = [1/(0.5*i)**2 for i in xrange(1,30)]\n", "plot([0]*29, lambdas, '.')\n", "yscale('log')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 120 }, { "cell_type": "markdown", "metadata": {}, "source": [ "def calc_err(lambd, Pot, K, Ind_test, Ind_train, norm_order, subset, subset_size):\n", " nr_of_frames = size(Pot,2);\n", " if subset == 'all':\n", " Time_ind = np.array(range(0,nr_of_frames-1))\n", " if subset == 'part':\n", " Time_ind = randperm(nr_of_frames,subset_size);\n", " if subset == 'one': \n", " diffs = max(Pot)-min(Pot);\n", " Time_ind = find(diffs==max(diffs),1);\n", "\n", " K_train = K(Ind_train, Ind_train);\n", " Pot_train = Pot(Ind_train,Time_ind);\n", " Pot_test = Pot(Ind_test,Time_ind);\n", " I = identity(len(Ind_train))\n", " beta = linalg.inv(K_train + lambd*I)*Pot_train;\n", " K_cross = K(Ind_test, Ind_train);\n", " Pot_est = K_cross * beta;\n", " err = norm(Pot_test - Pot_est, norm_order);\n", " return err" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "def get_choose_lambda_parameters(args):\n", " propertyArgIn = args;\n", " \n", " while len(propertyArgIn) >= 2:\n", " prop = propertyArgIn[0];\n", " val = propertyArgIn[1];\n", " propertyArgIn = propertyArgIn[2:];\n", " \n", " if prop == 'n_folds':\n", " n_folds = val;\n", " elif prop == 'n_iter':\n", " n_iter = val;\n", " elif prop == 'sampling':\n", " sampling = val;\n", " else:\n", " print 'no method defined for input: ', prop\n", " print 'Available inputs: n_folds, n_iter, sampling, choose_R'\n", " \n", " if n_folds is None:\n", " #[n_el, ] = size(pots);\n", " #n_folds = n_el;\n", " n_folds = size(pots)\n", " if n_iter is None:\n", " n_iter = 1;\n", " if sampling is None:\n", " sampling = 1\n", " \n", " return [n_folds, n_iter, sampling]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "def cross_validation(lambd, pot, K, n_folds, Ind_perm, norm_order, subset, subset_size): \n", " \"\"\" K - fold cross validation\n", " preparing subsets of electrodes\n", " \"\"\"\n", " \n", " nEl = len(pot);\n", " width = int(floor(nEl/n_folds))\n", " Ind = [0 for i in xrange(n_folds)]\n", " All_ind = range(0,nEl-1)\n", "\n", " for i in xrange(0, n_folds-1):\n", " Ind_set = np.array(range(0,int(width))) + width*(i-1) #check this out in Matlab\n", " print 'Ind_perm:', Ind_perm\n", " print 'Ind_set', Ind_set\n", " #Ind_set_perm = [Ind_perm[z] for z in Ind_set]\n", " Ind_set_perm = Ind_perm.copy()\n", " Ind[i] = Ind_set_perm\n", "\n", " last = max(Ind_set)\n", "\n", " if last < nEl:\n", " Ind[n_folds-1] = [Ind[n_folds-1], Ind_perm[last:nEl-1]]\n", "\n", " errors = np.zeros(n_folds);\n", "\n", " for i in xrange(0,n_folds-1):\n", " Ind_test = Ind[i];\n", " Ind_train = All_ind;\n", " Ind_train[Ind[i]] =[];\n", " errors[i] = calc_err(lambd, Pot, K, Ind_test, Ind_train, norm_order, subset, subset_size);\n", "\n", " err = mean(errors);\n", " return err" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "def calcCvError(varargin):\n", " \"\"\"A cross-validation estimator of the error of the estimation.\n", " Used in methods that choose parameters through cross-validation.\n", " \"\"\"\n", " if varargin==None:\n", " n_folds = len(elec_pos);\n", " else:\n", " n_folds = varargin[0];\n", " \n", " Ind_perm = np.random.permutation(range(len(elec_pos)))\n", " err = cross_validation(lambd, pots, KPot, n_folds, Ind_perm, norm_order, subset, subset_size)\n", " \n", " return err" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "def lambda_sampling_1(n_folds, n_iter):\n", " n = len(lambdas);\n", " errors = zeros(n);\n", " errors_iter = zeros(n_iter);\n", "\n", " for i in xrange(n-1):\n", " lambd = lambdas[i];\n", " for j in xrange(0,n_iter-1):\n", " errors_iter[j] = calcCvError([n_folds])\n", " errors[i] = mean(errors_iter)\n", " value = lambdas[np.where(errors == min(errors))[0][0]]\n", " return value" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "def chooseLambda(varargin):\n", " \"\"\" Chooses the regularisation lambda parameter for ridge regression. The\n", " user can enter options by providing 'property_name', property_value pairs:\n", " \n", " 'n_folds' number of folds to perform Cross validation (CV)\n", " 'n_iter' number of iterations for the CV procedure\n", " 'sampling' ways of looking for the optimal lambda:\n", " 1 - simple sampling\n", " 2 - using fminbnd function\n", " \"\"\"\n", " [n_folds, n_iter, sampling] = get_choose_lambda_parameters(varargin)\n", " lambd = lambda_sampling_1(n_folds, n_iter)\n", " return lambd" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "import sklearn\n", "from sklearn.cross_validation import KFold\n", "sklearn.linear_model import RidgeCV" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "def chooseLambda():\n", " validator = RidgeCV(alphas=lambdas, fit_intercept=True, normalize=False, scoring=None,\n", " score_func=None, loss_func=None, cv=None, gcv_mode=None, store_cv_values=True)\n", " lambd = 0.0\n", " return lambd" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "norm_order = 2\n", "subset = 'part'\n", "subset_size = 500\n", "lambd = chooseLambda(['n_folds', None, 'n_iter', 2, 'sampling', None])\n", "print 'lambda = ', lambd\n", "csd = estimate_csd()\n", "plot(x,true_csd)\n", "plot(linspace(min(elec_pos), max(elec_pos), len(output)),csd)\n", "lambd = 0.0\n", "csd = estimate_csd()\n", "plot(linspace(min(elec_pos), max(elec_pos), len(output)),csd)\n", "legend((r'kCSD estimated CSD, $\\lambda$=4.0', r'true CSD',r'kCSD estimated CSD, $\\lambda$=0.0'), shadow = True, loc = (0.01, 0.75))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "import sklearn\n", ">>> from sklearn.cross_validation import KFold\n", ">>> X = np.array([[0., 0.], [1., 1.], [-1., -1.], [2., 2.]])\n", ">>> Y = np.array([0, 1, 0, 1])\n", "\n", ">>> kf = KFold(len(Y), n_folds=2, indices=False)\n", ">>> print(kf)\n", "sklearn.cross_validation.KFold(n=4, n_folds=2)\n", "\n", ">>> for train, test in kf:\n", "... print(\"%s %s\" % (train, test))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#TODO" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Split into statistical part (independent of dimensionality) and basis function management part (dependent on dimensionality)\n", "* Currently used cross-validation: leave-one-out $\\rightarrow$ room for improvement, other method may be used (maybe SciPy has something interesting to offer)" ] } ], "metadata": {} } ] }