18  Correlograms

18.1 Autocorrelograms

import pynapple as nap
import numpy as np
dt = 0.01
times = np.arange(0, 4, dt)
rate = 40 * (1 + np.sin(2*np.pi*times)) / 2
units = nap.TsGroup({
    1: nap.Ts(times[np.random.rand(len(times)) < rate * dt]),
    2: nap.Ts(times[np.random.rand(len(times)) < rate*2 * dt]),
})
autocorrelogram = nap.compute_autocorrelogram(
    units, binsize=0.1, windowsize=1.0, norm=False
)
autocorrelogram
1 2
-0.9 16.666667 42.980132
-0.8 16.111111 35.364238
-0.7 12.777778 27.218543
-0.6 10.694444 17.748344
-0.5 11.805556 14.172185
-0.4 11.944444 18.079470
-0.3 15.000000 29.337748
-0.2 19.444444 41.192053
-0.1 22.222222 52.715232
0.0 0.000000 0.000000
0.1 22.083333 52.715232
0.2 20.277778 41.258278
0.3 13.888889 28.807947
0.4 12.500000 18.410596
0.5 10.833333 14.039735
0.6 10.833333 17.350993
0.7 12.638889 26.887417
0.8 15.972222 34.900662
0.9 16.805556 42.913907


18.2 Crosscorrelograms

crosscorrelogram = nap.compute_crosscorrelogram(
    units, binsize=0.1, windowsize=1.0, norm=False
)
crosscorrelogram
1
2
-0.9 39.722222
-0.8 36.388889
-0.7 30.277778
-0.6 19.444444
-0.5 16.944444
-0.4 19.166667
-0.3 28.750000
-0.2 39.166667
-0.1 48.611111
0.0 54.305556
0.1 50.833333
0.2 43.888889
0.3 34.166667
0.4 25.416667
0.5 20.138889
0.6 19.861111
0.7 25.416667
0.8 32.361111
0.9 38.611111