using Pkg
pkg"dev SpikingNeuralNetworks"Spiking Neural Network library for Julia.
The library allows us to define and simulate models from computational neuroscience easily. The library exposes two functions:
function sim!(p::Vector{AbstractPopulation}, c::Vector{AbstractConnection}, duration<:Real) end
function train!(p::Vector{AbstractConnection}, c:Vector{AbstractConnection}, duration<:Real) endThe functions support simulation with and without neural plasticity; the model is defined within the arguments passed to the functions. Models are composed of 'AbstractPopulation' and 'AbstractConnection' arrays.
Any elements of AbstractPopulation must implement the method:
function integrate!(p, p.param, dt) endConversely, elements of AbstractConnection must implement the methods:
function forward!(p, p.param) end
function plasticity!(c, c.param, dt) endThe library is rich in examples of common neuron models that can be used as a basis.
In the notebook folder, there is a tutorial about how to use SparseMatrices in the SNN framework.