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 Soma
s, 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 totrue
to evaluate every time step even in the absence of events