{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Analytics for IF neurons driven by ecitatory shot noise - Examples"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "\n",
    "import analytics.shot_noise_driven.lif_neuron as snlif  # analytics for LIF neurons driven by SN\n",
    "import analytics.shot_noise_driven.if_neuron as snif # analytics for general IF neurons driven by SN\n",
    "import analytics.gaussian_white_noise_driven.lif_neuron as dalif\n",
    "import analytics.gaussian_white_noise_driven.if_neuron as daif\n",
    "import numpy as np\n",
    "import pylab as pl"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "## Firing rate\n",
    "\n",
    "Functions in the analytics module enforce the use of named parameters. This makes it easier to understand what is going on, avoids bugs due to a wrong order of parameters, and allows to give feedback about missing parameters. \n",
    "E.g. the following call to calculate the firing rate of a leaky integrate-and-fire neuron (LIF) is missing parameters:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "r0 is missing arguments: 'rin_e','vt','tr'\n"
     ]
    }
   ],
   "source": [
    "try:\n",
    "    snlif.r0(mu=0.1, vr=0, a_e=0.15)\n",
    "except TypeError as e:\n",
    "    print e"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If instead we supply all of them:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.660220667961072"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "snlif.r0(mu=0.1, rin_e=17.6, a_e=0.15, vr=0, vt=1, tr=0.1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that for all of the supplied functions, time is measured in units of the membrane time constant. For a membrane time constant of 20ms, the above corresponds to:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "r0 = 83.011 Hz\n"
     ]
    }
   ],
   "source": [
    "tau = 0.02 # s\n",
    "rin_si = 880 # Hz\n",
    "tr_si = 0.002 # s\n",
    "print \"r0 = %g Hz\" % (snlif.r0(mu=0.1, rin_e=rin_si*tau, a_e=0.15, vr=0, vt=1, tr=tr_si/tau) / tau)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The provided functions also accept one non-keyword argument, which is interpreted as a dictionary with default parameters:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.660220667961072"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "prms = {\"mu\": 0.1, \"rin_e\": 17.6, \"a_e\": 0.15, \"vr\": 0, \"vt\": 1, \"tr\": 0.1}\n",
    "snlif.r0(prms)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "When a parameter dict is passed, individual parameters can still be overwritten:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.1583099022343237"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "snlif.r0(prms, tr=0.2, mu=-0.5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The firing rate can also be calculated using the functions for general IF neurons:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.6602206679610714"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "snif.r0(prms, model=snif.LIF())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Obviously, the result is different if we use a different neuron model, e.q. the quadratic integrate-and-fire (QIF) neuron:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2.129546663431224"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "snif.r0(prms, model=snif.QIF())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The model can also be an EIF, for which we need to supply an \"effective\" threshold vtb and the spike onset parameter d. Compared to PIF, LIF, and QIF, evaluating the anayltics for an EIF entails one more numerical integration. To speed this up, we rely on a small C library that implements the integrand. Let's see if this is present.."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      ":) library present, r0 = 0.969802\n"
     ]
    }
   ],
   "source": [
    "if snif.eiflib is not None:\n",
    "    print \":) library present, r0 = %g\" %snif.r0(prms, model=snif.EIF(vtb=1.0, d=0.5), vt=10)\n",
    "else:\n",
    "    import os\n",
    "    print \":( library not present. You probably need to go to %s and compile it, using e.g. %s)\" % (os.path.dirname(snif.eiflibpath), \"cc -fPIC -O2 --shared -o libeif_phi.so eif_phi.c\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Finally, let's compare the firing rate of a shot-noise-driven perfect integrator (PIF) to the diffusion approximation (DA) for different mean spike weights"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fc610709690>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def mueff(mu, rin_e, a_e):\n",
    "    return mu  + rin_e*a_e\n",
    "\n",
    "def Deff(rin_e, a_e):\n",
    "    return a_e**2 * rin_e\n",
    "\n",
    "a_es = np.logspace(-2,0,100)\n",
    "\n",
    "pl.plot(a_es, [snif.r0(prms, model=snif.PIF(), a_e=a_e) for a_e in a_es], label=\"shotnoise\")\n",
    "pl.plot(a_es, [daif.r0(prms, model=daif.PIF(), mu=mueff(prms[\"mu\"], prms[\"rin_e\"], a_e), D=Deff(prms[\"rin_e\"], a_e)) for a_e in a_es], label=\"DA\")\n",
    "pl.xlabel(\"a\")\n",
    "pl.ylabel(\"$r_0$\")\n",
    "pl.xscale(\"log\")\n",
    "pl.legend();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Stationary voltage distribution\n",
    "\n",
    "We first define the voltage axis:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "vs = np.linspace(-0.2, 1, 100)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We plot the stationary probability density $P_0(v)$ for $\\mu > v_T$ and $\\mu < v_T$. One can see that the density at the threshold is only non-vanishing if trajectories can cross the threshold even between input spikes (by drifting)... "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fc6106dfc10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pl.plot(vs, [snif.P0(prms, model=snif.LIF(), v=v, mu=1.5) for v in vs], label=\"mu = 1.5\")\n",
    "pl.plot(vs, [snif.P0(prms, model=snif.LIF(), v=v, mu=0.5) for v in vs], label=\"mu = 0.5\")\n",
    "pl.xlabel(\"v\")\n",
    "pl.ylabel(\"P(v)\")\n",
    "pl.legend();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This can be quantified by looking at $\\alpha$, the fraction of trajectories that cross the threshold due to input spikes:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fc60d934190>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mus = np.linspace(0.5, 1.5, 100)\n",
    "pl.plot(mus, [snif.alpha(prms, model=snif.LIF(), mu=mu) for mu in mus])\n",
    "pl.xlabel(r\"$\\mu$\")\n",
    "pl.ylabel(r\"$\\alpha$\");"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For a perfect integrate-and-fire (PIF), there is no leak term, so the two regimes are above or below $\\mu = 0$, respectively:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nrkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fc60d8a4c50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pl.plot(vs, [snif.P0(prms, model=snif.PIF(), v=v, mu=0.5) for v in vs], label=\"mu=0.5\")\n",
    "pl.plot(vs, [snif.P0(prms, model=snif.PIF(), v=v, mu=-0.5) for v in vs], label=\"mu=-0.5\")\n",
    "pl.xlabel(\"v\")\n",
    "pl.ylabel(\"P(v)\")\n",
    "pl.legend();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Power spectrum and susceptibility"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The spectral quantities are expressed in terms of (confluent) hypergeometric functions. The only library I found (in either C/C++ or Python) that supports these with complex-valued arguments is mpmath, which is excellent but not too fast. We thus provide a small C library and its Python interface in analytics.specfunc. To make it available to the analytics implementations, it needs to be compiled. Let's see whether this has already happened..."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Library has been loaded :)\n"
     ]
    }
   ],
   "source": [
    "import analytics.specfunc as sf\n",
    "if sf.lib is None:\n",
    "    msg = \"\"\"Library not loaded, you probably need to go to %s \n",
    "and compile it (e.g: cc -fPIC -O2 --shared -o libspecfunc.so specfunc.c).\n",
    "Until then, I fall back to the mpmath implementation\"\"\"\n",
    "    print msg % sf.libdir\n",
    "else:\n",
    "    print \"Library has been loaded :)\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The frequency range to be considered (including 0 would give division-by-zero issues):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "fs = np.linspace(1e-4, 10, 500)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's look at power spectra for different input rate/avg. spike weight combinations:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nnRN4ilhw0WIAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fc60dc78790>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pl.plot(fs, snlif.powspec(prms, fs=fs, rin_e=18.0, a_e=0.05), label=\"rin = 18, a = 0.05\")\n",
    "pl.plot(fs, snlif.powspec(prms, fs=fs, mu=-0.1, rin_e=9, a_e=0.1), label=\"rin = 9, a = 0.1\")\n",
    "pl.plot(fs, snlif.powspec(prms, fs=fs, mu=-0.1, rin_e=4.5, a_e=0.2), label=\"rin = 4.5, a = 0.2\")\n",
    "pl.xlabel(\"f\")\n",
    "pl.ylabel(\"power\")\n",
    "pl.legend();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The power spectrum of a shot-noise-driven IF neuron vs the diffusion approximation (the implementation of the DA-spectral quantities is quite small, due to the lack of efficient implementations for the parabolic cylinder functions):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nAGh84yadE/noAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fc60d6f7e90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pl.plot(fs, dalif.powspec(prms, fs=fs, mu=mueff(0.5, 25.0, 0.1), D=Deff(25.0, 0.1)), label=\"DA\")\n",
    "pl.plot(fs, snlif.powspec(prms, fs=fs, mu=0.5, rin_e=25.0, a_e=0.1), label=\"shotnoise\")\n",
    "pl.xlabel(\"f\")\n",
    "pl.ylabel(\"power\")\n",
    "pl.legend();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And the same for the susceptibility (the firing rate response) to a current signal:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fc60d84c7d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pl.plot(fs, np.abs(dalif.suscep(prms, fs=fs, mu=mueff(0.5, 25.0, 0.1), D=Deff(25.0, 0.1))), label=\"DA\")\n",
    "pl.plot(fs, np.abs(snlif.suscep(prms, fs=fs, mu=0.5, rin_e=25.0, a_e=0.1)), label=\"shotnoise\")\n",
    "pl.xlabel(\"f\")\n",
    "pl.ylabel(\"|susceptibility|\")\n",
    "pl.legend();"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "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.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}