model of DCN pyramidal neuron
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
754 B

import numpy as np
from numpy.testing import assert_raises
from cnmodel.util import stim
from neuron import h
h.dt = 0.025
def test_make_pulse():
params = dict(delay=10, Sfreq=50, dur=1, amp=15, PT=0, NP=5)
assert_raises(Exception, lambda: stim.make_pulse(params))
params["dt"] = 0.025
w, maxt, times = stim.make_pulse(params)
assert w.min() == 0.0
assert w.max() == 15
assert w.dtype == np.float64
triggers = np.argwhere(np.diff(w) > 0)[:, 0] + 1
assert np.all(triggers == times)
assert w.sum() == 15 * len(times) * int(1 / h.dt)
params["PT"] = 100
w, maxt, times = stim.make_pulse(params)
triggers = np.argwhere(np.diff(w) > 0)[:, 0] + 1
assert triggers[-1] - triggers[-2] == 100 / h.dt