Populations
A population of neurons is a collection of a single type of neuron connected by a single type of synapse. A learning mechanism is associated with the synapses of a population.
SpikingNN.Population — TypePopulation{T<:Soma,
NT<:AbstractArray{T, 1},
WT<:AbstractMatrix{<:Real},
ST<:AbstractArray{<:AbstractSynapse, 2},
LT<:AbstractLearner} <: AbstractArray{T, 1}A population of neurons is an array of Somas, a weighted matrix of synapses, and a learner.
Fields:
somas::AbstractArray{<:Soma, 1}: a vector of somasweights::AbstractMatrix{<:Real}: a weight matrixsynapses::AbstractArray{<:AbstractSynapse, 2}: a matrix of synapseslearner::AbstractLearner: a learning mechanism
Base.size — Methodsize(pop::Population)Return the number of neurons in a population.
SpikingNN.neurons — Functionneurons(pop::Population)Return an array of neurons within the population.
SpikingNN.synapses — Functionsynapses(pop::Population)Return an array of edges representing the synapses within the population.
SpikingNN.evaluate! — Methodevaluate!(pop::Population, t::Integer; dt::Real = 1.0, dense = false, inputs = nothing)
(::Population)(t::Integer; dt::Real = 1.0, dense = false)Evaluate a population of neurons at time step t. Return a vector of time stamps (t if the neuron spiked and zero otherwise).
Missing docstring for update!(::Population, ::Integer; ::Real). Check Documenter's build log for details.
SpikingNN.reset! — Methodreset!(pop::Population)Reset pop.synapses and pop.somas.
SpikingNN.simulate! — Methodsimulate!(pop::Population, dt::Real = 1.0)Simulate a population of neurons. Optionally specify a learner. The prespike and postspike functions will be called immediately after either event occurs.
Fields:
pop::Population: the population to simulateT::Integer: number of time steps to simulatedt::Real: the simulation time stepcb::Function: a callback function that is called after event evaluation (expects(neuron_id, t)as input)dense::Bool: set totrueto evaluate every time step even in the absence of events