{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import os,sys\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import quantities as pq\n", "from scipy.optimize import curve_fit\n", "from neo.core import AnalogSignal\n", "from neuronunit.tests import TimeConstantTest" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def make_sweep(total_time,amplitude,offset_time,tau):\n", " # Construct x and y without an exponential signal\n", " sampling_rate = 10000*pq.Hz # samples per ms\n", " total_samples = (total_time * sampling_rate).simplified\n", " assert total_samples.dimensionality == pq.dimensionless\n", " total_samples = int(total_samples)\n", " noise_sigma = 0.3*pq.mV\n", " times = np.linspace(0,float(total_time),total_samples)*pq.ms\n", " vm = AnalogSignal(noise_sigma*np.random.randn(total_samples),\n", " times=times,\n", " sampling_rate=sampling_rate.rescale(1/pq.ms))\n", "\n", " # Add the exponential signal\n", " samples_until_offset = (offset_time * sampling_rate).simplified\n", " assert samples_until_offset.dimensionality == pq.dimensionless\n", " samples_until_offset = int(samples_until_offset)\n", " exponential = amplitude*np.exp(-(times[samples_until_offset:]-offset_time)/tau)\n", " vm[samples_until_offset:,0] += exponential.reshape(-1,1)\n", " return vm" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "total_time = 100*pq.ms\n", "amplitude = -10*pq.mV\n", "offset_time = 30*pq.ms\n", "tau = 7*pq.ms\n", " \n", "vm = make_sweep(total_time,amplitude,offset_time,tau)\n", "\n", "plt.plot(vm.times.rescale('ms'),vm)\n", "plt.xlabel(pq.ms.symbol)\n", "plt.ylabel(pq.mV.symbol);" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Estimated tau = 6.907 ms; Actual tau = 7.0 ms\n" ] } ], "source": [ "test = TimeConstantTest(observation={'mean':tau, 'std':np.sqrt(float(tau))*tau.units})\n", "i = {'duration':total_time, 'delay':offset_time}\n", "tau_estimated = test.get_tau(vm,i).round(3)\n", "print(\"Estimated tau = %s; Actual tau = %s\" % (tau_estimated,tau))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "assert 0.95 < tau_estimated/tau < 1.05" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.2" } }, "nbformat": 4, "nbformat_minor": 1 }