Hi,
I am converting an old Brian1 code to the current version. It has a rate to PossonGroup
like this:
sim_duration = 1000
stimulus = sin(arange(0, sim_duration)*2*pi/sim_duration)
def input_rates(t):
'''
Returns firing rates for spatially patterned stimulus to E cells.
stimulus is array of stimulus orientations as function of time in ms.
Range of stimulus is 0 - 1.
'''
return 400*(1+0.35* cos(2*pi*stimulus[floor(t*1000)
% size (stimulus)] + pi + linspace(2*pi/N], 2*pi,N)))*Hz
poisson_to_E = PoissonGroup(N, input_rates)
So the input _rates
give an array of size N at each time step, right?
and for the current version should be converted to something like this:
input_rates = b2.TimedArray(400.0*(1 + 0.35 * np.cos(2*pi*stimulus[int(floor(t*1000) % stimulus.size)]))*b2.Hz, dt=dt0)
Making an array stimulus at each time step is not clear for me.