Example: offline_electrode_compensation (electrophysiology)ΒΆ

Offline compensation example Input current: 1 second of filtered noise Raw trace: Rothman Mannis model of the cochlear nucleus

from brian import *
from brian.experimental.modelfitting import *
import numpy

if __name__ == '__main__':

    # load input current
    input = numpy.load("compensation_I.npy")

    # load neuron trace
    neurontrace = numpy.load("compensation_Vm.npy")

    # raw trace: add electrode resistance to neuron trace
    rawtrace = neurontrace + 500 * Mohm * input

    # time
    t = linspace(0.0, 1.0, 10000)

    # compensate the raw trace using 100 particles and 20 iterations
    comp, full, electrode, results = compensate(input,
                                                rawtrace,
                                                gpu=1,
                                                popsize=100,
                                                maxiter=20)

    print "The procedure found an electrode resistance Re=%.1f MOhm" \
        % (results["Re"]/Mohm)

    # plot the input current
    subplot(211)
    plot(t, input, 'k')
    xlabel("Time (s)")
    ylabel("Input current (A)")

    # plot the neuron trace, the raw trace, and the compensated trace
    subplot(212)
    plot(t, rawtrace, 'k', label="raw")
    plot(t, neurontrace, 'g', label="neuron")
    plot(t, comp, 'r', label="compensated")
    xlabel("Time (s)")
    ylabel("Membrane potential (V)")
    legend()

    show()

Previous topic

Example: lp_compensation (electrophysiology)

Next topic

Example: SEVC (electrophysiology)