예제 #1
0
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
예제 #2
0
파일: network.py 프로젝트: colliauXD/PyCB
  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'))
예제 #3
0
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
예제 #4
0
파일: test_stdp.py 프로젝트: tclose/PyNN
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)
예제 #6
0
파일: test_stdp.py 프로젝트: agravier/pynn
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,
예제 #7
0
    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])