Source code for brainbox.tests.test_singlecell

from brainbox.singlecell import acorr, calculate_peths
import unittest
import numpy as np


[docs] class TestPopulation(unittest.TestCase):
[docs] def test_acorr_0(self): spike_times = np.array([0, 10, 10, 20]) bin_size = 1 winsize_bins = 2 * 3 + 1 c_expected = np.zeros(7, dtype=np.int32) c_expected[3] = 1 c = acorr(spike_times, bin_size=bin_size, window_size=winsize_bins) self.assertTrue(np.allclose(c, c_expected))
[docs] def test_acorr_1(self): spike_times = np.array([0, 10, 10, 20], dtype=np.float64) bin_size = 1 winsize_bins = 2 * 3 + 1 c_expected = np.zeros(7, dtype=np.float64) c_expected[3] = 1 c = acorr(spike_times, bin_size=bin_size, window_size=winsize_bins) self.assertTrue(np.allclose(c, c_expected))
[docs] class TestPeths(unittest.TestCase):
[docs] def test_peths_synthetic(self): n_spikes = 20000 n_clusters = 20 n_events = 200 record_length = 1654 cluster_sel = [1, 2, 3, 6, 15, 16] np.random.seed(seed=42) spike_times = np.sort(np.random.rand(n_spikes, ) * record_length) spike_clusters = np.random.randint(0, n_clusters, n_spikes) event_times = np.sort(np.random.rand(n_events, ) * record_length) peth, fr = calculate_peths(spike_times, spike_clusters, cluster_ids=cluster_sel, align_times=event_times) self.assertTrue(peth.means.shape[0] == len(cluster_sel)) self.assertTrue(np.all(peth.means.shape == peth.stds.shape)) self.assertTrue(np.all(fr.shape == (n_events, len(cluster_sel), 28))) self.assertTrue(peth.tscale.size == 28)
[docs] def test_firing_rate(): pass
if __name__ == "__main__": np.random.seed(0) unittest.main(exit=False)