A leaky integrate & fire neuron, used by standard winner-take-all (WTA). More...
#include <Neuro/LeakyIntFire.H>
Public Member Functions | |
LeakyIntFire (const SimTime timeStep=SimTime::SECS(0.0001), const float El=0.0F, const float Ee=100.0e-3F, const float Ei=-20.0e-3F, const float Gl=5.0e-8F, const float Ge=0.0F, const float Gi=0.0F, const float Vth=0.001F, const float C=1.0E-9F) | |
constructor | |
void | input (const float current) |
set input current (A) | |
void | setV (const double val) |
set membrane potential to given value relative to Ei (in Volts) | |
bool | integrate (const SimTime &t) |
integrate for up to given time (in s) | |
float | getV () const |
get current membrane potential (in V) | |
void | setG (const float Exc, const float Inh) |
set excitatory and inhibitory conductances (S) | |
void | setGleak (const float Leak) |
set leak conductance (S) | |
SimTime | getTimeStep () const |
return our internal time step: |
A leaky integrate & fire neuron, used by standard winner-take-all (WTA).
This is the integrate & fire neuron used in conjunction with WTA which is a 2D array of LeakyIntFire. It has a slightly more complicated Euler equation then LeakyIntegrator used by SM but the basic idea is the same. All parameters are in MKSA (SI) units (i.e., volts, amperes, siemens, etc). This neuron uses an Euler integration of the following form:
At each time step,
V is also clamped to never become smaller than and a spike is generated when (and V is then reset to zero).
Definition at line 60 of file LeakyIntFire.H.
LeakyIntFire::LeakyIntFire | ( | const SimTime | timeStep = SimTime::SECS(0.0001) , |
|
const float | El = 0.0F , |
|||
const float | Ee = 100.0e-3F , |
|||
const float | Ei = -20.0e-3F , |
|||
const float | Gl = 5.0e-8F , |
|||
const float | Ge = 0.0F , |
|||
const float | Gi = 0.0F , |
|||
const float | Vth = 0.001F , |
|||
const float | C = 1.0E-9F | |||
) | [inline] |
constructor
Constructor with default params
timeStep | is the integration time step, in s. See the general description for the other params. |
Definition at line 120 of file LeakyIntFire.H.
SimTime LeakyIntFire::getTimeStep | ( | ) | const [inline] |
return our internal time step:
Definition at line 188 of file LeakyIntFire.H.
Referenced by WinnerTakeAllGreedy::integrate(), WinnerTakeAllTempNote::integrate(), and WinnerTakeAllStd::integrate().
float LeakyIntFire::getV | ( | ) | const [inline] |
get current membrane potential (in V)
Definition at line 172 of file LeakyIntFire.H.
void LeakyIntFire::input | ( | const float | current | ) | [inline] |
set input current (A)
Definition at line 134 of file LeakyIntFire.H.
bool LeakyIntFire::integrate | ( | const SimTime & | t | ) | [inline] |
integrate for up to given time (in s)
Returns true if a spike was generated.
Definition at line 138 of file LeakyIntFire.H.
References SimTime::computeDeltaT(), and SimTime::secs().
Referenced by WinnerTakeAllGreedy::integrate(), WinnerTakeAllTempNote::integrate(), and WinnerTakeAllStd::integrate().
void LeakyIntFire::setG | ( | const float | Exc, | |
const float | Inh | |||
) | [inline] |
set excitatory and inhibitory conductances (S)
Definition at line 176 of file LeakyIntFire.H.
Referenced by WinnerTakeAllGreedy::integrate(), WinnerTakeAllTempNote::integrate(), and WinnerTakeAllStd::integrate().
void LeakyIntFire::setGleak | ( | const float | Leak | ) | [inline] |
set leak conductance (S)
Definition at line 180 of file LeakyIntFire.H.
Referenced by WinnerTakeAllStd::WinnerTakeAllStd(), and WinnerTakeAllTempNote::WinnerTakeAllTempNote().
void LeakyIntFire::setV | ( | const double | val | ) | [inline] |
set membrane potential to given value relative to Ei (in Volts)
Definition at line 168 of file LeakyIntFire.H.