def test_shuffle_isis_output_decimals(self): st = neo.SpikeTrain([90, 150, 180, 350] * pq.ms, t_stop=500 * pq.ms) surrog = surr.shuffle_isis(st, n=1, decimals=95)[0] st_pq = st.view(pq.Quantity) surr_pq = surrog.view(pq.Quantity) isi0_orig = st[0] - st.t_start ISIs_orig = np.sort([isi0_orig] + [isi for isi in np.diff(st_pq)]) isi0_surr = surrog[0] - surrog.t_start ISIs_surr = np.sort([isi0_surr] + [isi for isi in np.diff(surr_pq)]) self.assertTrue(np.all(ISIs_orig == ISIs_surr))
def test_shuffle_isis_output_format(self): st = neo.SpikeTrain([90, 150, 180, 350] * pq.ms, t_stop=500 * pq.ms) nr_surr = 2 surrs = surr.shuffle_isis(st, n=nr_surr) self.assertIsInstance(surrs, list) self.assertEqual(len(surrs), nr_surr) for surrog in surrs: self.assertIsInstance(surrs[0], neo.SpikeTrain) self.assertEqual(surrog.units, st.units) self.assertEqual(surrog.t_start, st.t_start) self.assertEqual(surrog.t_stop, st.t_stop) self.assertEqual(len(surrog), len(st))
def test_shuffle_isis_same_isis(self): spiketrain = neo.SpikeTrain([90, 150, 180, 350] * pq.ms, t_stop=500 * pq.ms) surrogate_train = surr.shuffle_isis(spiketrain, n_surrogates=1)[0] st_pq = spiketrain.view(pq.Quantity) surr_pq = surrogate_train.view(pq.Quantity) isi0_orig = spiketrain[0] - spiketrain.t_start ISIs_orig = np.sort([isi0_orig] + [isi for isi in np.diff(st_pq)]) isi0_surr = surrogate_train[0] - surrogate_train.t_start ISIs_surr = np.sort([isi0_surr] + [isi for isi in np.diff(surr_pq)]) self.assertTrue(np.all(ISIs_orig == ISIs_surr))
def test_shuffle_isis_output_format(self): spiketrain = neo.SpikeTrain([90, 150, 180, 350] * pq.ms, t_stop=500 * pq.ms) n_surrogates = 2 surrogate_trains = surr.shuffle_isis(spiketrain, n=n_surrogates) self.assertIsInstance(surrogate_trains, list) self.assertEqual(len(surrogate_trains), n_surrogates) self.assertIsInstance(surrogate_trains[0], neo.SpikeTrain) for surrogate_train in surrogate_trains: self.assertEqual(surrogate_train.units, spiketrain.units) self.assertEqual(surrogate_train.t_start, spiketrain.t_start) self.assertEqual(surrogate_train.t_stop, spiketrain.t_stop) self.assertEqual(len(surrogate_train), len(spiketrain))
def test_shuffle_isis_empty_train(self): st = neo.SpikeTrain([] * pq.ms, t_stop=500 * pq.ms) surrog = surr.shuffle_isis(st, n=1)[0] self.assertEqual(len(surrog), 0)
def test_shuffle_isis_empty_train(self): spiketrain = neo.SpikeTrain([] * pq.ms, t_stop=500 * pq.ms) surrogate_train = surr.shuffle_isis(spiketrain, n_surrogates=1)[0] self.assertEqual(len(surrogate_train), 0)