def setUp(self): spike_time_array = np.array([0.5, 0.6, 0.7, 1.1, 11.2, 23.6, 88.5, 99.2]) channel_id_array = np.array([0, 0, 1, 2, 1, 0, 2, 0]) all_channel_ids = (0, 1, 2, 3) self.stl_from_array = SpikeTrainList.from_spike_time_array( spike_time_array, channel_id_array, all_channel_ids=all_channel_ids, units='ms', t_start=0 * pq.ms, t_stop=100.0 * pq.ms, identifier=["A", "B", "C", "D"] # annotation ) self.stl_from_obj_list = SpikeTrainList(items=( SpikeTrain([0.5, 0.6, 23.6, 99.2], units="ms", t_start=0 * pq.ms, t_stop=100.0 * pq.ms, channel_id=101), SpikeTrain([0.0007, 0.0112], units="s", t_start=0 * pq.ms, t_stop=100.0 * pq.ms, channel_id=102), SpikeTrain([1100, 88500], units="us", t_start=0 * pq.ms, t_stop=100.0 * pq.ms, channel_id=103), SpikeTrain([], units="ms", t_start=0 * pq.ms, t_stop=100.0 * pq.ms, channel_id=104), )) self.stl_from_obj_list_incl_proxy = SpikeTrainList(items=( SpikeTrain([0.5, 0.6, 23.6, 99.2], units="ms", t_start=0 * pq.ms, t_stop=100.0 * pq.ms), SpikeTrain([0.0007, 0.0112], units="s", t_start=0 * pq.ms, t_stop=100.0 * pq.ms), SpikeTrainProxy(rawio=MockRawIO(), spike_channel_index=0), SpikeTrain([], units="ms", t_start=0 * pq.ms, t_stop=100.0 * pq.ms), ))
def setUp(self): test_data = np.random.rand(100, 8) * pq.mV channel_names = np.array(["a", "b", "c", "d", "e", "f", "g", "h"]) self.test_signal = AnalogSignal(test_data, sampling_period=0.1 * pq.ms, name="test signal", description="this is a test signal", array_annotations={"channel_names": channel_names}, attUQoLtUaE=42) self.test_view = ChannelView(self.test_signal, [1, 2, 5, 7], name="view of test signal", description="this is a view of a test signal", array_annotations={"something": np.array(["A", "B", "C", "D"])}, sLaTfat="fish") self.test_spiketrains = [SpikeTrain(np.arange(100.0), units="ms", t_stop=200), SpikeTrain(np.arange(0.5, 100.5), units="ms", t_stop=200)] self.test_segment = Segment() self.test_segment.analogsignals.append(self.test_signal) self.test_segment.spiketrains.extend(self.test_spiketrains)
def setup_spiketrains(self): trainname11 = 'spiketrain 1 1' trainname12 = 'spiketrain 1 2' trainname21 = 'spiketrain 2 1' trainname22 = 'spiketrain 2 2' traindata11 = np.arange(0, 10) * pq.ms traindata12 = np.arange(10, 20) * pq.ms traindata21 = np.arange(20, 30) * pq.s traindata22 = np.arange(30, 40) * pq.s self.trainnames1 = [trainname11, trainname12] self.trainnames2 = [trainname21, trainname22] self.trainnames = [trainname11, trainname12, trainname21, trainname22] train11 = SpikeTrain(traindata11, t_stop=100 * pq.s, name=trainname11) train12 = SpikeTrain(traindata12, t_stop=100 * pq.s, name=trainname12) train21 = SpikeTrain(traindata21, t_stop=100 * pq.s, name=trainname21) train22 = SpikeTrain(traindata22, t_stop=100 * pq.s, name=trainname22) self.train1 = [train11, train12] self.train2 = [train21, train22] self.train = [train11, train12, train21, train22]
def test_add_list_of_spiketrains(self): """Adding a list of SpikeTrains to a SpikeTrainList should return a new SpikeTrainList""" extended_stl = self.stl_from_array + [ SpikeTrain([], units="ms", t_start=0 * pq.ms, t_stop=100.0 * pq.ms), SpikeTrain([22.2, 33.3], units="ms", t_start=0 * pq.ms, t_stop=100.0 * pq.ms), SpikeTrain([], units="ms", t_start=0 * pq.ms, t_stop=100.0 * pq.ms), ] self.assertIsInstance(extended_stl, SpikeTrainList) self.assertEqual(len(extended_stl), 7) self.assertNotEqual(id(extended_stl), id(self.stl_from_array)) extended_stl = self.stl_from_obj_list_incl_proxy + [ SpikeTrain([], units="ms", t_start=0 * pq.ms, t_stop=100.0 * pq.ms), SpikeTrain([22.2, 33.3], units="ms", t_start=0 * pq.ms, t_stop=100.0 * pq.ms), SpikeTrain([], units="ms", t_start=0 * pq.ms, t_stop=100.0 * pq.ms)] self.assertIsInstance(extended_stl, SpikeTrainList) self.assertEqual(len(extended_stl), 7)
def test_radd_list_of_spiketrains(self): """ """ extended_stl = [ SpikeTrain([], units="ms", t_start=0 * pq.ms, t_stop=100.0 * pq.ms), SpikeTrain([22.2, 33.3], units="ms", t_start=0 * pq.ms, t_stop=100.0 * pq.ms), SpikeTrain([], units="ms", t_start=0 * pq.ms, t_stop=100.0 * pq.ms) ] + self.stl_from_array self.assertIsInstance(extended_stl, SpikeTrainList) self.assertEqual(len(extended_stl), 7) extended_stl = [ SpikeTrain([], units="ms", t_start=0 * pq.ms, t_stop=100.0 * pq.ms), SpikeTrain([22.2, 33.3], units="ms", t_start=0 * pq.ms, t_stop=100.0 * pq.ms), SpikeTrain([], units="ms", t_start=0 * pq.ms, t_stop=100.0 * pq.ms) ] + self.stl_from_obj_list_incl_proxy self.assertIsInstance(extended_stl, SpikeTrainList) self.assertEqual(len(extended_stl), 7)
def test_append(self): """Appending a SpikeTrain to a SpikeTrainList should make the STL longer""" for stl in (self.stl_from_obj_list, self.stl_from_array): stl.append(SpikeTrain([22.2, 33.3], units="ms", t_start=0 * pq.ms, t_stop=100.0 * pq.ms)) self.assertEqual(len(stl), 5)