Beispiel #1
0
    def test_transition_matrix(self):
        patterns = np.array([[0, 0],
                             [0, 1],
                             [0, 1],
                             [1, 1],
                             [0, 0],
                             [0, 1]])
        states = kl_tools.spikes2states(patterns)

        desired = np.zeros((4, 4))
        desired[0,1] = 2
        desired[1,1] = 1
        desired[1,3] = 1
        desired[3,0] = 1

        tr = kl_tools.transition_matrix(states, 4, dt=1)
        self.assertEqual(tr.shape, (4,4))
        assert_array_equal(desired, tr)

        desired = np.zeros((4, 4))
        desired[0,1] = 1
        desired[1,3] = 1
        desired[1,0] = 1
        desired[3,1] = 1

        tr = kl_tools.transition_matrix(states, 4, dt=2)
        assert_array_equal(desired, tr)
Beispiel #2
0
 def test_spikes2states(self):
     patterns = np.array([[1, 0, 1, 0],
                          [1, 1, 1, 1],
                          [0, 0, 0, 0]])
     desired = np.array([10, 15, 0])
     assert_array_equal(desired,
                        kl_tools.spikes2states(patterns))
Beispiel #3
0
    def test_states2distr(self):
        nchannels = 4
        patterns = np.array([[1, 0, 1, 0],
                             [1, 0, 1, 0],
                             [1, 0, 1, 0],
                             [1, 1, 1, 1],
                             [0, 0, 0, 0]])
        states = kl_tools.spikes2states(patterns)

        # histogram over all possible states
        desired = np.zeros(16)
        desired[10] = 3
        desired[-1] = 1
        desired[0] = 1

        distr = kl_tools.states2distr(states, nchannels, normed=False)
        self.assertEqual(len(distr), 2**nchannels)
        assert_array_equal(desired, distr)

        distr = kl_tools.states2distr(states, nchannels, normed=True)
        self.assertEqual(len(distr), 2**nchannels)
        assert_array_equal(desired/5., distr)