{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# On-off control\n", "Here we will see how to set up a minimum, working closed loop with a very simple threshold-triggered control scheme.\n", "\n", "Preamble:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import brian2.only as b2\n", "from brian2 import np, ms, Mohm, mA, mV, Hz, nA\n", "import matplotlib.pyplot as plt\n", "import cleo\n", "\n", "cleo.utilities.style_plots_for_docs()\n", "\n", "# the default cython compilation target isn't worth it for\n", "# this trivial example\n", "b2.prefs.codegen.target = \"numpy\"\n", "b2.seed(16320829)\n", "cleo.utilities.set_seed(17041028)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Set up network\n", "We will use a simple leaky integrate-and-fire network with Poisson spike train input. We use Brian's standard `SpikeMonitor` to view resulting spikes here for simplicity, but see the electrodes tutorial for a more realistic electrode recording scheme." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Recorded population's equations:\n" ] }, { "data": { "text/latex": [ "\\begin{align*}\\frac{\\mathrm{d}v}{\\mathrm{d}t} &= \\frac{I Rm - 70 mV - v}{\\tau} && \\text{(unit of $v$: $\\mathrm{V}$)}\\\\\n", "\\tau &&& \\text{(unit: $\\mathrm{s}$)}\\\\\n", "Rm &&& \\text{(unit: $\\mathrm{ohm}$)}\\\\\n", "I &&& \\text{(unit: $\\mathrm{A}$)}\\end{align*}" ], "text/plain": [ "dv/dt = (I*Rm - 70*mV - v)/tau : volt\n", "tau : second\n", "Rm : ohm\n", "I : amp\n" ] }, "execution_count": null, "metadata": {}, "output_type": "execute_result" } ], "source": [ "n = 10\n", "population = b2.NeuronGroup(\n", " n,\n", " \"\"\"\n", " dv/dt = (-v - 70*mV + Rm*I) / tau : volt\n", " tau: second\n", " Rm: ohm\n", " I: amp\"\"\",\n", " threshold=\"v>-50*mV\",\n", " reset=\"v=-70*mV\",\n", ")\n", "population.tau = 10 * ms\n", "population.Rm = 100 * Mohm\n", "population.I = 0 * mA\n", "population.v = -70 * mV\n", "\n", "input_group = b2.PoissonGroup(n, np.linspace(0, 100, n) * Hz + 10 * Hz)\n", "\n", "S = b2.Synapses(input_group, population, on_pre=\"v+=5*mV\")\n", "S.connect(condition=\"abs(i-j)<=3\")\n", "\n", "pop_mon = b2.SpikeMonitor(population)\n", "\n", "net = b2.Network([population, input_group, S, pop_mon])\n", "\n", "print(\"Recorded population's equations:\")\n", "population.user_equations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Run simulation" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO No numerical integration method specified for group 'neurongroup', using method 'exact' (took 0.04s). [brian2.stateupdaters.base.method_choice]\n" ] } ], "source": [ "net.run(200 * ms)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[Text(0.5, 1.0, 'population spiking'),\n", " Text(0, 0.5, 'neuron index'),\n", " Text(0.5, 0, 'time (ms)')]" ] }, "execution_count": null, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sptrains = pop_mon.spike_trains()\n", "fig, ax = plt.subplots()\n", "ax.eventplot([t / ms for t in sptrains.values()], lineoffsets=list(sptrains.keys()))\n", "ax.set(title=\"population spiking\", ylabel=\"neuron index\", xlabel=\"time (ms)\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Because lower neuron indices receive very little input, we see no spikes for neuron 0. Let's change that with closed-loop control." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## IO processor setup\n", "We use the `IOProcessor` class to define interactions with the network.\n", "To achieve our goal of making neuron 0 fire, we'll use a contrived, simplistic setup where\n", "1. the recorder reports the voltage of a given neuron (of index 5 in our case),\n", "2. the controller outputs a pulse whenever that voltage is below a certain threshold, and\n", "3. the stimulator applies that pulse to the specified neuron. \n", "\n", "So if everything is wired correctly, we'll see bursts of activity in just the first neuron." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "CLSimulator(io_processor=None, devices={VoltageRecorder(name='rec', save_history=True, voltage_var_name='v', mon=), StateVariableSetter(name='stim', save_history=True, value=0, variable_to_ctrl='I', unit=namp, neuron_groups=[])})" ] }, "execution_count": null, "metadata": {}, "output_type": "execute_result" } ], "source": [ "i_rec = int(n / 2)\n", "i_ctrl = 0\n", "sim = cleo.CLSimulator(net)\n", "v_rec = cleo.recorders.VoltageRecorder(name=\"rec\")\n", "sim.inject(v_rec, population[i_rec])\n", "sim.inject(\n", " cleo.stimulators.StateVariableSetter(name=\"stim\", variable_to_ctrl=\"I\", unit=nA),\n", " population[i_ctrl],\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We need to implement the {class}`~cleo.ioproc.LatencyIOProcessor` object.\n", "Especially important is the {meth}`~cleo.ioproc.LatencyIOProcessor.process` function:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "CLSimulator(io_processor=ReactivePulseIOProcessor(sample_period=1. * msecond, sampling='fixed', processing='parallel'), devices={VoltageRecorder(name='rec', save_history=True, voltage_var_name='v', mon=), StateVariableSetter(name='stim', save_history=True, value=0, variable_to_ctrl='I', unit=namp, neuron_groups=[])})" ] }, "execution_count": null, "metadata": {}, "output_type": "execute_result" } ], "source": [ "class ReactivePulseIOProcessor(cleo.ioproc.LatencyIOProcessor):\n", " def __init__(self, pulse_current=1):\n", " super().__init__(sample_period=1 * ms)\n", " self.pulse_current = pulse_current\n", " self.trigger_threshold = -60 * mV\n", " self.out = {}\n", "\n", " def process(self, state_dict, time_ms):\n", " v = state_dict[\"rec\"]\n", " if v is not None and v < self.trigger_threshold:\n", " self.out[\"stim\"] = self.pulse_current\n", " else:\n", " self.out[\"stim\"] = 0\n", "\n", " return (self.out, time_ms)\n", "\n", "\n", "sim.set_io_processor(ReactivePulseIOProcessor(pulse_current=1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And run the simulation:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "sim.run(200 * ms)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, (ax1, ax2) = plt.subplots(2, 1, sharex=True)\n", "ax1.plot(pop_mon.t / ms, pop_mon.i, \"|\")\n", "ax1.plot(\n", " pop_mon.t[pop_mon.i == i_ctrl] / ms,\n", " pop_mon.i[pop_mon.i == i_ctrl],\n", " \"|\",\n", " c=\"#C500CC\",\n", ")\n", "ax1.set(title=\"population spiking\", ylabel=\"neuron index\", xlabel=\"time (ms)\")\n", "ax2.fill_between(\n", " v_rec.mon.t / ms,\n", " (v_rec.mon.v.T < sim.io_processor.trigger_threshold)[:, 0],\n", " color=(0.0, 0.72, 1.0),\n", ")\n", "ax2.set(title=\"pulses\", xlabel=\"time (ms)\", ylabel=\"pulse on/off (1/0)\", yticks=[0, 1])\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Yes, we see the IO processor triggering pulses as expected.\n", "And here's a plot of neuron 5's voltage to confirm that those pulses\n", "are indeed where we expect them to be, whenever the voltage is\n", "below -60 mV." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "ax.set(title=f\"Voltage for neuron {i_rec}\", ylabel=\"v (mV)\", xlabel=\"time (ms)\")\n", "ax.plot(v_rec.mon.t / ms, v_rec.mon.v.T / mV)\n", "ax.hlines(-60, 0, 400, color=\"#c500cc\")\n", "ax.legend([\"v\", \"threshold\"], loc=\"upper right\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Conclusion\n", "In this tutorial we've seen the basics of configuring a {class}`~cleo.ioproc.LatencyIOProcessor` to implement a closed-loop intervention on a Brian network simulation." ] } ], "metadata": { "kernelspec": { "display_name": "python3", "language": "python", "name": "python3" } }, "nbformat": 4, "nbformat_minor": 2 }