LeakyIntFireAdp Class Reference

A leaky integrate & fire neuron, used by standard winner-take-all (WTA). More...

#include <Neuro/LeakyIntFireAdp.H>

Collaboration diagram for LeakyIntFireAdp:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 LeakyIntFireAdp (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, const float VthMod=1.0F, const float VthDec=0.01F, const float VthBase=0.001F, const float Vfire=0.0F)
 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)
float getVth () const
 get current membrane potential threshold
float getVfire () const
 get current membrane potential at time of fire
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:
float logsig (const float x, const float o, const float b) const
 get the logistic sigmoid of the input value
void setNewVth (const float salVal, const float VfireVal, const float dist)
 change the threshold for firing

Detailed Description

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 \leftarrow V + \frac{\delta t}{C} \left(I - G_{leak}(V - E_{leak}) - G_{ex}(V - E_{ex}) - G_{inh}(V - E_{inh})\right) \]

V is also clamped to never become smaller than $E_{inh}$ and a spike is generated when $V \ge V_{th}$ (and V is then reset to zero).

Definition at line 60 of file LeakyIntFireAdp.H.


Constructor & Destructor Documentation

LeakyIntFireAdp::LeakyIntFireAdp ( 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,
const float  VthMod = 1.0F,
const float  VthDec = 0.01F,
const float  VthBase = 0.001F,
const float  Vfire = 0.0F 
) [inline]

constructor

Constructor with default params

Parameters:
timeStep is the integration time step, in s. See the general description for the other params.

Definition at line 148 of file LeakyIntFireAdp.H.


Member Function Documentation

SimTime LeakyIntFireAdp::getTimeStep (  )  const [inline]

return our internal time step:

Definition at line 248 of file LeakyIntFireAdp.H.

float LeakyIntFireAdp::getV (  )  const [inline]

get current membrane potential (in V)

Definition at line 224 of file LeakyIntFireAdp.H.

Referenced by WinnerTakeAllTempNote::integrate().

float LeakyIntFireAdp::getVfire (  )  const [inline]

get current membrane potential at time of fire

Definition at line 232 of file LeakyIntFireAdp.H.

Referenced by WinnerTakeAllTempNote::integrate().

float LeakyIntFireAdp::getVth (  )  const [inline]

get current membrane potential threshold

Definition at line 228 of file LeakyIntFireAdp.H.

void LeakyIntFireAdp::input ( const float  current  )  [inline]

set input current (A)

Definition at line 167 of file LeakyIntFireAdp.H.

bool LeakyIntFireAdp::integrate ( const SimTime t  )  [inline]

integrate for up to given time (in s)

Returns true if a spike was generated.

Definition at line 171 of file LeakyIntFireAdp.H.

References SimTime::computeDeltaT(), and SimTime::secs().

float LeakyIntFireAdp::logsig ( const float  x,
const float  o,
const float  b 
) const [inline]

get the logistic sigmoid of the input value

Definition at line 252 of file LeakyIntFireAdp.H.

void LeakyIntFireAdp::setG ( const float  Exc,
const float  Inh 
) [inline]

set excitatory and inhibitory conductances (S)

Definition at line 236 of file LeakyIntFireAdp.H.

void LeakyIntFireAdp::setGleak ( const float  Leak  )  [inline]

set leak conductance (S)

Definition at line 240 of file LeakyIntFireAdp.H.

void LeakyIntFireAdp::setNewVth ( const float  salVal,
const float  VfireVal,
const float  dist 
) [inline]

change the threshold for firing

We change the fire threshold based on three primary factors (1) How salient is this location - salVal (2) At what voltage did the winner fire at - VfireVal (3) How far am I from the winner - dist

Thus, the new Vth is increased based on these three factors

Definition at line 259 of file LeakyIntFireAdp.H.

void LeakyIntFireAdp::setV ( const double  val  )  [inline]

set membrane potential to given value relative to Ei (in Volts)

Definition at line 220 of file LeakyIntFireAdp.H.


The documentation for this class was generated from the following file:
Generated on Sun May 8 08:43:36 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3