import numpy as np import matplotlib.pyplot as plt from plotstyle import * def hompoisson(rate, trials, duration) : spikes = [] for k in range(trials) : times = [] t = 0.0 while t < duration : t += np.random.exponential(1/rate) times.append( t ) spikes.append( times ) return spikes def inhompoisson(rate, trials, dt) : spikes = [] p = rate*dt for k in range(trials) : x = np.random.rand(len(rate)) times = dt*np.nonzero(x= vthresh : v = vreset times.append(k*dt) spikes.append( times ) return spikes def isis( spikes ) : isi = [] for k in range(len(spikes)) : isi.extend(np.diff(spikes[k])) return np.array( isi ) def plotreturnmap(ax, isis, lag=1, max=1.0) : ax.set_xlabel(r'ISI$_i$', 'ms') ax.set_ylabel(r'ISI$_{i+1}$', 'ms') ax.set_xlim(0.0, 1000.0*max) ax.set_ylim(0.0, 1000.0*max) isiss = isis[isis