add convolve freq calculation
This commit is contained in:
parent
3577b86cbb
commit
4c0bde5833
@ -187,6 +187,21 @@ def calculate_isi_frequency_trace(spiketimes, sampling_interval, time_in_ms=Fals
|
||||
return full_frequency
|
||||
|
||||
|
||||
def gaussian_kernel(sigma, dt):
|
||||
x = np.arange(-4. * sigma, 4. * sigma, dt)
|
||||
y = np.exp(-0.5 * (x / sigma) ** 2) / np.sqrt(2. * np.pi) / sigma
|
||||
return y
|
||||
|
||||
|
||||
def calculate_gauss_convolve_freq(spiketimes, duration, sampling_interval, gauss_sigma):
|
||||
binary = np.zeros(int(np.rint(duration / sampling_interval)))
|
||||
g = gaussian_kernel(gauss_sigma, sampling_interval)
|
||||
for s in spiketimes:
|
||||
binary[int(np.rint(s / sampling_interval))] = 1
|
||||
rate = np.convolve(binary, g, mode='same')
|
||||
return rate
|
||||
|
||||
|
||||
def calculate_time_and_frequency_trace(spiketimes, sampling_interval, time_in_ms=False):
|
||||
if len(spiketimes) < 2:
|
||||
return [0], [0]
|
||||
|
Loading…
Reference in New Issue
Block a user