graphics.py 文件源码

python
阅读 29 收藏 0 点赞 0 评论 0

项目:NeoAnalysis 作者: neoanalysis 项目源码 文件源码
def __cal_firing_rate(self,data,channel,bin_size,overlap,pre_time,post_time):
        bins_left = [pre_time]
        while bins_left[-1] < post_time:
            bins_left.append(bins_left[-1]+bin_size-overlap)
        bins_left = np.array(bins_left)
        bins_right = bins_left+bin_size
        bins_mean = (bins_left+bins_right)/2.0
        zero_offset = bins_mean[bins_mean>0][0]
        bins_left = bins_left - zero_offset
        bins_right = bins_right - zero_offset
        bins_mean = bins_mean - zero_offset

        bins_left = bins_left[bins_right<=post_time]
        bins_mean = bins_mean[bins_right<=post_time]
        bins_right = bins_right[bins_right<=post_time]

        bins_mean = bins_mean[bins_left>=pre_time]
        bins_right = bins_right[bins_left>=pre_time]
        bins_left = bins_left[bins_left>=pre_time]
        def cal_fr(ite_spike):
            ite_fr = list()
            for i in range(bins_left.shape[0]):
                ite_fr_i = ite_spike[(ite_spike>=bins_left[i])&(ite_spike<bins_right[i])].shape[0]
                ite_fr.append(ite_fr_i)
            ite_fr = np.array(ite_fr)
            ite_fr = ite_fr*1000.0/bin_size
            return ite_fr
        firing_rate = data[channel].apply(cal_fr)
        return firing_rate, bins_mean

    # Group data by experimental conditions and plot PSTH and raster of each condition
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号