""" This is just a 1ms Izhikevich model that spikes every 10ms. from istanbul. Now use that in the earlier (RetNetI.py) configuration, to get variable behaviour. In this we get 6 different behaviours. It spikes fastest and most with just the centre on. It decreases with 1-5 surround on. With 5 to 8 surround on there is no firing. """ from pyNN.utility import get_script_args, normalized_filename #from neo.io import NeoHdf5IO from neo.io import PyNNTextIO #from neo import io #DELAY = 10.0 DELAY = 1.0 SIM_LENGTH = 200.0 simulator_name = get_script_args(1)[0] exec("from pyNN.%s import *" % simulator_name) setup(timestep=DELAY,min_delay=DELAY,max_delay=DELAY,debug=True) #input neurons #default a .02, b .2, c -65, d 2.0, i_offset 0 cell_params = {'a' : 0.0, 'b' :0.2, 'c' : -65, 'd' : 0.0 } inpPop = Population(17,Izhikevich(**cell_params)) inpPop.initialize(v=-58.0) #output neuron outCell = create(Izhikevich, {'a' : 0.2, 'b':0.2, #fatigue 'c' : -65, 'd':2.0 }) #set up clamped input pulse = DCSource(amplitude=0.0038, start=0.0, stop=SIM_LENGTH) inputAssembly = Assembly(inpPop[1,2,3,4,5,6]) pulse.inject_into(inputAssembly) #setup connections connE = connect(inpPop[5], outCell, weight=25.0, delay=DELAY) connI = connect(inpPop[1], outCell,weight=-2.0, delay=DELAY) connI = connect(inpPop[2], outCell,weight=-2.0, delay=DELAY) connI = connect(inpPop[3], outCell,weight=-2.0, delay=DELAY) connI = connect(inpPop[4], outCell,weight=-2.0, delay=DELAY) connI = connect(inpPop[6], outCell,weight=-2.0, delay=DELAY) #setup recording inpPop.record(['spikes','v']) outCell.record(['spikes','v']) print inpPop[0].get_parameters() run(SIM_LENGTH) #ifIn = inpPop.get_data() #print(ifIn) #print(ifIn.segments) #for seg in ifIn.segments: # print(seg.spiketrains) # print(seg.analogsignalarrays) outDat = outCell.get_data() for seg in outDat.segments: print(seg.spiketrains) # print(seg.analogsignalarrays) end()