Source code for neurodynex.test.test_spike_tools

[docs]def test_filter_spike_trains(): """Test filtering of spike train dict""" import neurodynex.tools.spike_tools as spike_tools from brian2 import ms from brian2 import ms st0 = [0, 1, 2] * ms st1 = [10, 11] * ms st2 = [2, 3, 4, 5] * ms spike_trains = dict() spike_trains[0] = st0 spike_trains[1] = st1 spike_trains[2] = st2 fst = spike_tools.filter_spike_trains(spike_trains) assert len(fst) == 3, "filtered spike trains does not have same number of neurons as spike_trains (a)" assert ((fst[0]) == st0).all(), "Default filter does not preserve data (a)" assert ((fst[1]) == st1).all(), "Default filter does not preserve data (b)" assert ((fst[2]) == st2).all(), "Default filter does not preserve data (c)" fst = spike_tools.filter_spike_trains(spike_trains, 2*ms) assert len(fst) == 3, "filtered spike trains does not have same number of neurons as spike_trains (b)" assert (fst[0]) == [2]*ms, "unexpected result from filter_spike_trains(spike_trains, 2*ms) (1) (a)" assert ((fst[1]) == st1).all(), "unexpected result from filter_spike_trains(spike_trains, 2*ms) (b)" assert ((fst[2]) == st2).all(), "unexpected result from filter_spike_trains(spike_trains, 2*ms) (c)" fst = spike_tools.filter_spike_trains(spike_trains, 2.999999*ms, 5*ms) assert len(fst) == 3, "filtered spike trains does not have same number of neurons as spike_trains (c)" assert (len(fst[0]) == 0), "1unexpected result from filter_spike_trains(spike_trains, 2.999999*ms, 5*ms) (a)" assert (len(fst[1]) == 0), "2unexpected result from filter_spike_trains(spike_trains, 2.999999*ms, 5*ms) (b)" assert ((fst[2]) == [3, 4]*ms).all(), \ "3unexpected result from filter_spike_trains(spike_trains, 2.999999*ms, 5*ms) (c)"