【发布时间】:2019-08-23 18:36:46
【问题描述】:
是否有处理任何一般 bin 的直方图函数?
在我的神经科学应用程序中,我有两个一维数组:spikes 和 time_centers 以及一个参数 time_window。我的目标是输出名为firing_rate 的数组,其大小与time_centers 相同,定义为firing_rate[i]=len(abs(spikes-time_centers[i])<time_window),以便计算宽度time_window 区间内每个time_center bin 附近的尖峰数。
我很快起草了一个函数,但我有点担心性能,因为我需要处理大量的脉冲序列。
def fr(spikes,time_bins,time_window):
rate=np.zeros(time_bins.size)
for i,t in enumerate(time_bins):
rate[i]= sum(np.abs(spikes-t)<time_window)
return rate
是否可以利用spikes 数组已排序的事实?
即使我使用相同大小的垃圾箱 (time_window),我的垃圾箱也可能重叠,或者垃圾箱之间可能存在可变间隙。
通常spikes 包含 ~ 1000 个元素,time_centers ~ 50 个 bin,我需要为每个会话计算 30000 个神经元。
【问题讨论】:
-
考虑接受最适合您的那个?
-
@Divakar 是的,我通常会等一两天
标签: python numpy neuroscience