SpikeSourceArray
inputs.SpikeSourceArray.SpikeSourceArray(self,
spike_times,=None,
name=False,
copied )
Spike source generating spikes at the times given in the spike_times array.
Depending on the initial array provided, the population will have one or several neurons, but the geometry can only be one-dimensional.
You can later modify the spike_times attribute of the population, but it must have the same number of neurons as the initial one.
The spike times are by default relative to the start of a simulation (ANNarchy.get_time()
is 0.0). If you call the reset()
method of a SpikeSourceArray
, this will set the spike times relative to the current time. You can then repeat a stimulation many times.
# 2 neurons firing at 100Hz with a 1 ms delay
= [
times 10, 20, 30, 40],
[ 11, 21, 31, 41]
[
]= ann.SpikeSourceArray(spike_times=times)
inp
compile()
ann.
# Spikes at 10/11, 20/21, etc
50)
ann.simulate(
# Reset the internal time of the SpikeSourceArray
inp.reset()
# Spikes at 60/61, 70/71, etc
50) ann.simulate(
Parameters
Name | Type | Description | Default |
---|---|---|---|
spike_times | list[float] | a list of times at which a spike should be emitted if the population should have only 1 neuron, a list of lists otherwise. Times are defined in milliseconds, and will be rounded to the closest multiple of the discretization time step dt. | required |
name | str | optional name for the population. | None |