Esempio n. 1
0
 def testCvIsi(self):
     poisson_param = 1. / 40
     isi = numpy.random.exponential(poisson_param, 1000)
     poisson_times = numpy.cumsum(
         isi) * 1000.  # To convert the spikes_time in ms
     spk1 = spikes.SpikeTrain(poisson_times)
     spk2 = spikes.SpikeTrain(range(10), t_stop=10)
     assert 0.9 < spk1.cv_isi() < 1.1
     self.assertEqual(spk2.cv_isi(), 0)
Esempio n. 2
0
 def testTime_Slice(self):
     spk1 = spikes.SpikeTrain(numpy.arange(0, 1010, 10))
     spk1 = spk1.time_slice(250, 750)
     assert len(
         numpy.extract((spk1.spike_times < 250) | (spk1.spike_times > 750),
                       spk1.spike_times)) == 0
     spk2 = spikes.SpikeTrain([0.0, 0.1, 0.3, 0.6, 0.15])
     self.assert_(
         arrays_are_equal(
             spikes.SpikeTrain([0.15, 0.3]).spike_times,
             spk2.time_slice(0.11,
                             0.4).spike_times))  # should not include 0.1
     self.assert_(
         arrays_are_equal(
             spikes.SpikeTrain([0.1, 0.15, 0.3]).spike_times,
             spk2.time_slice(0.10, 0.4).spike_times))  # should include 0.1
Esempio n. 3
0
 def testMeanRate(self):
     poisson_param = 1. / 40
     isi = numpy.random.exponential(poisson_param, 1000)
     poisson_times = numpy.cumsum(
         isi) * 1000.  # To convert the spikes_time in ms
     spk = spikes.SpikeTrain(poisson_times)
     assert 35 < spk.mean_rate() < 45
Esempio n. 4
0
 def testHistogram(self):
     poisson_param = 1. / 40
     isi = numpy.random.exponential(poisson_param, 1000)
     poisson_times = numpy.cumsum(
         isi) * 1000.  # To convert the spikes_time in ms
     spk = spikes.SpikeTrain(poisson_times)
     hist = spk.time_histogram(5000)
     N = len(hist) - 1
     assert numpy.all((30 < hist[0:N]) & (hist[0:N] < 60))
Esempio n. 5
0
    def testKreuzDistance(self):
        poisson_param = 1. / 40
        isi = numpy.random.exponential(poisson_param, 20)
        poisson_times = numpy.cumsum(
            isi) * 1000.  # To convert the spikes_time in ms
        spk = spikes.SpikeTrain(poisson_times)

        isi = numpy.random.exponential(poisson_param, 20)
        poisson_times = numpy.cumsum(
            isi) * 1000.  # To convert the spikes_time in ms
        spk2 = spikes.SpikeTrain(poisson_times)

        poisson_param = 1. / 5
        isi = numpy.random.exponential(poisson_param, 20)
        poisson_times = numpy.cumsum(
            isi) * 1000.  # To convert the spikes_time in ms
        spk3 = spikes.SpikeTrain(poisson_times)

        assert (spk.distance_kreuz(spk2) <
                spk.distance_kreuz(spk3)) and (spk.distance_kreuz(spk) == 0)
Esempio n. 6
0
    def testVictorPurpuraDistance(self):
        poisson_param = 1. / 40
        isi = numpy.random.exponential(poisson_param, 20)
        poisson_times = numpy.cumsum(
            isi) * 1000.  # To convert the spikes_time in ms
        spk = spikes.SpikeTrain(poisson_times)

        isi = numpy.random.exponential(poisson_param, 20)
        poisson_times = numpy.cumsum(
            isi) * 1000.  # To convert the spikes_time in ms
        spk2 = spikes.SpikeTrain(poisson_times)

        poisson_param = 1. / 5
        isi = numpy.random.exponential(poisson_param, 20)
        poisson_times = numpy.cumsum(
            isi) * 1000.  # To convert the spikes_time in ms
        spk3 = spikes.SpikeTrain(poisson_times)

        assert (spk.distance_victorpurpura(spk2,0.1) < spk.distance_victorpurpura(spk3,0.1)) \
                and (spk.distance_victorpurpura(spk, 0.1) == 0)
Esempio n. 7
0
 def testDuration(self):
     spk = spikes.SpikeTrain(numpy.arange(0, 110, 10), 0, 100)
     assert spk.duration() == 100
Esempio n. 8
0
 def testCopy(self):
     spk = spikes.SpikeTrain(numpy.arange(0, 110, 10), 0, 100)
     spk2 = spk.copy()
     assert spk.is_equal(spk2)
Esempio n. 9
0
 def testCreateWithTStopOnly(self):
     spk = spikes.SpikeTrain(numpy.arange(0, 110, 10), t_stop=70)
     assert (spk.t_start == 0) and (spk.t_stop == 70)
     assert arrays_are_equal(spk.spike_times, numpy.arange(0, 80, 10))
Esempio n. 10
0
 def testCreateSpikeTrainFull(self):
     spk = spikes.SpikeTrain(numpy.arange(0, 110, 10), 0, 100)
     assert (spk.t_start == 0) and (spk.t_stop == 100)
Esempio n. 11
0
 def testCreateSpikeTrainFromList(self):
     spk = spikes.SpikeTrain(range(0, 110, 10))
     assert (spk.t_start == 0) and (spk.t_stop == 100)
     self.assert_(
         arrays_are_equal(spk.spike_times, numpy.arange(0, 110, 10)))
Esempio n. 12
0
 def testAppend(self):
     spktrain = spikes.SpikeTrain(numpy.arange(10))
     self.assertRaises(Exception, self.spk.append, 0, spktrain)
Esempio n. 13
0
 def testFanoFactorIsi(self):
     spk = spikes.SpikeTrain(numpy.arange(0, 1010, 10))
     assert spk.fano_factor_isi() == 0.
Esempio n. 14
0
 def testIsi(self):
     spk = spikes.SpikeTrain(numpy.arange(0, 200, 10))
     assert numpy.all(spk.isi() == 10)
Esempio n. 15
0
 def testMerge(self):
     spk = spikes.SpikeTrain(numpy.arange(0, 110, 10))
     spk2 = spikes.SpikeTrain(numpy.arange(100, 210, 10))
     spk.merge(spk2)
     assert (spk.t_stop == 200) and (len(spk) == 22)
Esempio n. 16
0
 def testSetItem(self):
     spktrain = spikes.SpikeTrain(numpy.arange(10))
     self.spk[11] = spktrain
     assert len(self.spk) == 11
Esempio n. 17
0
 def testTimeAxis(self):
     spk = spikes.SpikeTrain(numpy.arange(0, 1010, 10))
     if newnum:
         assert len(spk.time_axis(100)) == 11
     else:
         assert len(spk.time_axis(100)) == 10
Esempio n. 18
0
 def testAddOffset(self):
     spk = spikes.SpikeTrain(numpy.arange(0, 1010, 10))
     spk.time_offset(50)
     assert (spk.t_start == 50) and (spk.t_stop == 1050) and numpy.all(
         spk.spike_times == numpy.arange(50, 1060, 10))