Miind
|
#include <libs/GeomLib/SpikingQifNeuralDynamics.hpp>
Public Member Functions | |
SpikingQifNeuralDynamics (const OdeParameter &, const QifParameter &) | |
SpikingQifNeuralDynamics (const SpikingQifNeuralDynamics &) | |
virtual | ~SpikingQifNeuralDynamics () |
virtual SpikingQifNeuralDynamics * | Clone () const |
virtual Potential | EvolvePotential (Potential, MPILib::Time) const =0 |
virtual Potential | EvolvePotential (Potential, Time) const |
virtual std::vector< Potential > | InterpretationArray () const |
const OdeParameter & | Par () const |
const CurrentCompensationParameter & | ParCur () const |
const QifParameter & | ParQif () const |
virtual Time | TimeToInf (Potential) const |
virtual Time | TPeriod () const |
virtual Time | TStep () const |
Protected Attributes | |
const OdeParameter | _par |
const CurrentCompensationParameter | _par_current |
const QifParameter | _par_qif |
This class models the dynamics of of Quadratic Integrate and Fire (QIF) neurons.
This model is discussed extensively in Izhikevich's book 'Dynamical Systems in Neuroscience'. By a suitable choice of units a more complex equation can be simplified to a 'topological normal form':
\[ \frac{dV}{dt} = I + V^2 \]
Under this equation V may reach infinity in finite time. It is assumed that the neuron's potential will be reset to \( V_{reset} \) after this time. In simulations it is necessary to chose a finite value \( V_{peak} \) as the maximum that a neuron's membrane potential can attain. In the QIF model an instantaneous reset to \( V_{reset} \) will occur. Configuration requires a QIFParameter and an OdeParameter.
Definition at line 43 of file SpikingQifNeuralDynamics.hpp.
SpikingQifNeuralDynamics::SpikingQifNeuralDynamics | ( | const OdeParameter & | par_ode, |
const QifParameter & | par_qif | ||
) |
Standard constructor.
par_ode | general parameters |
par_qif | parameter specific to QIF dynamics |
Definition at line 26 of file SpikingQifNeuralDynamics.cpp.
Referenced by Clone().
SpikingQifNeuralDynamics::SpikingQifNeuralDynamics | ( | const SpikingQifNeuralDynamics & | dyn | ) |
Definition at line 39 of file SpikingQifNeuralDynamics.cpp.
|
virtual |
Definition at line 47 of file SpikingQifNeuralDynamics.cpp.
|
virtual |
virtual construction mechanism
Implements GeomLib::SpikingNeuralDynamics.
Definition at line 69 of file SpikingQifNeuralDynamics.cpp.
References SpikingQifNeuralDynamics().
|
pure virtualinherited |
Given a potential, specify how it evolves over a given time step The range of validity of this function is determined by the overloaded function.
|
virtual |
Definition at line 51 of file SpikingQifNeuralDynamics.cpp.
References GeomLib::AbstractNeuralDynamics::_par, GeomLib::OdeParameter::_par_pop, _par_qif, GeomLib::NeuronParameter::_tau, GeomLib::QifParameter::Gammasys(), and TimeToInf().
|
virtualinherited |
Generate the bin boundaries for geometric binning based on the dyn.
Implements GeomLib::AbstractNeuralDynamics.
Definition at line 45 of file SpikingNeuralDynamics.cpp.
References i.
|
inlineinherited |
Provide efficient access. For use in time critical code.
Definition at line 65 of file AbstractNeuralDynamics.hpp.
References GeomLib::AbstractNeuralDynamics::_par.
|
inlineinherited |
Return the current compensation object; can be used to test whether current compensation is applied.
Definition at line 78 of file AbstractNeuralDynamics.hpp.
References GeomLib::AbstractNeuralDynamics::_par_current.
|
inline |
Definition at line 77 of file SpikingQifNeuralDynamics.hpp.
References _par_qif.
|
virtual |
calculate time to reach threshold for the given potential
Implements GeomLib::SpikingNeuralDynamics.
Definition at line 62 of file SpikingQifNeuralDynamics.cpp.
References GeomLib::AbstractNeuralDynamics::_par, GeomLib::OdeParameter::_par_pop, _par_qif, GeomLib::NeuronParameter::_tau, GeomLib::NeuronParameter::_theta, GeomLib::QifParameter::Gammasys(), and t.
Referenced by EvolvePotential(), and TPeriod().
|
virtual |
time it takes for a neuron to traverse from V_min to threshold
Implements GeomLib::AbstractNeuralDynamics.
Definition at line 75 of file SpikingQifNeuralDynamics.cpp.
References GeomLib::AbstractNeuralDynamics::_par, GeomLib::OdeParameter::_V_min, and TimeToInf().
Referenced by TStep().
|
virtual |
time it takes to move density one grid forwards
Implements GeomLib::AbstractNeuralDynamics.
Definition at line 81 of file SpikingQifNeuralDynamics.cpp.
References GeomLib::OdeParameter::_nr_bins, GeomLib::AbstractNeuralDynamics::_par, and TPeriod().
|
protectedinherited |
Time critical access for derived classes.
Definition at line 83 of file AbstractNeuralDynamics.hpp.
Referenced by GeomLib::SpikingLifNeuralDynamics::EvolvePotential(), EvolvePotential(), GeomLib::LifNeuralDynamics::InterpretationArray(), GeomLib::LifNeuralDynamics::Nneginit(), GeomLib::LifNeuralDynamics::Nposinit(), GeomLib::AbstractNeuralDynamics::Par(), GeomLib::LifNeuralDynamics::TimePeriod(), GeomLib::SpikingLifNeuralDynamics::TimeToInf(), TimeToInf(), GeomLib::SpikingLifNeuralDynamics::TPeriod(), TPeriod(), GeomLib::SpikingLifNeuralDynamics::TStep(), and TStep().
|
protectedinherited |
For use in the concrete dynamics instantiation.
Definition at line 86 of file AbstractNeuralDynamics.hpp.
Referenced by GeomLib::AbstractNeuralDynamics::ParCur().
|
protected |
Definition at line 81 of file SpikingQifNeuralDynamics.hpp.
Referenced by EvolvePotential(), ParQif(), and TimeToInf().