def run(parameters, sim_list): sim_time = parameters.sim_time spike_interval = parameters.spike_interval stgen = StGen() seed = parameters.seed stgen.seed(seed) model_parameters = ParameterSet({ 'system': parameters.system, 'input_spike_times': stgen.poisson_generator(1000.0 / spike_interval, t_stop=sim_time, array=True), 'cell_type': parameters.cell.type, 'cell_parameters': parameters.cell.params, 'plasticity': { 'short_term': None, 'long_term': None }, 'weights': parameters.weights, 'delays': parameters.delays, }) networks = MultiSim(sim_list, SimpleNetwork, model_parameters) networks.run(sim_time) spike_data = networks.get_spikes() vm_data = networks.get_v() networks.end() return spike_data, vm_data, model_parameters
def build_static_bar(self, f0=100,stim_start=0, stim_duration=4000, phi=0, save=None): if rank()==0: print "Creating or loading the LGN input: static bar at %s rad...."%phi sx=.7*self.N sy=0.1*self.N n0=(self.N-1)/2. spk = StGen(seed=5423689) st = [] for i in range(self.N): for j in range(self.N): bar_fr=f0*np.exp(-((i-n0)*np.cos(phi)+(j-n0)*np.sin(phi))**2/sx**2-(-(i-n0)*np.sin(phi)+(j-n0)*np.cos(phi))**2/sy**2) spk_times = spk.poisson_generator(bar_fr, 0, stim_duration, array=True) st.append(spk_times) for cell,spikes in zip(self.LGN, st): cell.spike_times = spikes+stim_start if save: cPickle.dump(st, open(save,'w'))
def run(parameters, sim_list): sim_time = parameters.sim_time spike_interval = parameters.spike_interval stgen = StGen() seed = parameters.seed stgen.seed(seed) model_parameters = ParameterSet({ 'system': parameters.system, 'input_spike_times': stgen.poisson_generator(1000.0/spike_interval, t_stop=sim_time, array=True), 'cell_type': parameters.cell.type, 'cell_parameters': parameters.cell.params, 'plasticity': { 'short_term': None, 'long_term': None }, 'weights': parameters.weights, 'delays': parameters.delays, }) networks = MultiSim(sim_list, SimpleNetwork, model_parameters) networks.run(sim_time) spike_data = networks.get_spikes() vm_data = networks.get_v() networks.end() return spike_data, vm_data, model_parameters
sim_time = 200.0 spike_interval = 20.0 # ms recording_interval = 1.0 stgen = StGen() seed = int(1e9 * (time() % 1)) stgen.seed(seed) parameters = ParameterSet({ 'system': { 'timestep': 0.01, 'min_delay': 0.1, 'max_delay': 10.0 }, 'input_spike_times': stgen.poisson_generator(rate=1000.0 / spike_interval, t_stop=sim_time, array=True), 'trigger_spike_times': stgen.poisson_generator(rate=1000.0 / spike_interval, t_stop=sim_time, array=True), 'cell_type': 'IF_curr_exp', 'cell_parameters': { 'tau_refrac': 10.0, 'tau_m': 2.0, 'tau_syn_E': 1.0 }, 'plasticity': { 'short_term': None, 'long_term': {
cellsA.randomInit(voltDistr) cellsB.randomInit(voltDistr) freq = 150 # Hz number = int(tstop*freq/1000.0) print "Number of spikes expected in %d ms at %dHz: %d"%(tstop, freq, number) from NeuroTools.stgen import StGen stgen = StGen() stgen.seed(seed) spike_times = stgen.poisson_generator(rate=freq, t_stop=tstop, array=True) input_population = Population(cellNumA, SpikeSourceArray, {'spike_times': spike_times}, label="inputsToA") for i in input_population: i.spike_times = stgen.poisson_generator(rate=freq, t_stop=tstop, array=True) print "spike_times: " +str(i.spike_times) inputConns = [] for i in range(0,cellNumA): inputConns.append([i, i, 0.1, 3.0]) connector2= FromListConnector(inputConns) input_proj = Projection(input_population, cellsA, connector2, target='excitatory', label='InputProj' ,synapse_dynamics=None)
from NeuroTools.stgen import StGen from simple_network import SimpleNetwork from calc import STDPSynapse PLOT_FIGURES = True sim_list = [nest, neuron, pcsim] sim_time = 200.0 spike_interval = 20.0 # ms recording_interval = 1.0 stgen = StGen() seed = int(1e9*(time()%1)) stgen.seed(seed) parameters = ParameterSet({ 'system': { 'timestep': 0.01, 'min_delay': 0.1, 'max_delay': 10.0 }, 'input_spike_times': stgen.poisson_generator(rate=1000.0/spike_interval, t_stop=sim_time, array=True), 'trigger_spike_times': stgen.poisson_generator(rate=1000.0/spike_interval, t_stop=sim_time, array=True), 'cell_type': 'IF_curr_exp', 'cell_parameters': { 'tau_refrac': 10.0, 'tau_m': 2.0, 'tau_syn_E': 1.0 }, 'plasticity': { 'short_term': None, 'long_term': { 'timing_dependence': { 'model': 'SpikePairRule', 'params': { 'tau_plus': 20.0, 'tau_minus': 20.0 }}, 'weight_dependence': { 'model': 'AdditiveWeightDependence', 'params': { 'w_min': 0, 'w_max': 0.1, 'A_plus': 0.01, 'A_minus': 0.01 }}, 'ddf': 1.0, } }, 'weights': 0.01,
cellsA.randomInit(voltDistr) cellsB.randomInit(voltDistr) freq = 150 # Hz number = int(tstop * freq / 1000.0) print "Number of spikes expected in %d ms at %dHz: %d" % (tstop, freq, number) from NeuroTools.stgen import StGen stgen = StGen() stgen.seed(seed) spike_times = stgen.poisson_generator(rate=freq, t_stop=tstop, array=True) input_population = Population(cellNumA, SpikeSourceArray, {'spike_times': spike_times}, label="inputsToA") for i in input_population: i.spike_times = stgen.poisson_generator(rate=freq, t_stop=tstop, array=True) print "spike_times: " + str(i.spike_times) inputConns = [] for i in range(0, cellNumA): inputConns.append([i, i, 0.1, 3.0])