IzhiNeuronBase Class Reference

An Izhikevich neuron. More...

#include <IzhiNeuron.h>

Inheritance diagram for IzhiNeuronBase:

Inheritance graph
[legend]
Collaboration diagram for IzhiNeuronBase:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 IzhiNeuronBase (double a=0.02, double b=0.2, double c=-65.0, double d=8.0, double Vpeak=30.0, double Vinit=-0.06, double Inoise=0.0, double Iinject=0.0, double factI=1.0)
 IzhiNeuronBase (string type, double Vinit=-0.06, double Inoise=0.0, double Iinject=0.0, double factI=1.0)
virtual ~IzhiNeuronBase ()
virtual int adjust (double dt)
 This tells the object that it should adjust to a new simulation time step width.
virtual int advance (AdvanceInfo const &)
 Advance the neuron.
virtual int reset (double dt)
 Reset the Izhi-Neuron.
bool refractoryQ ()
 Returns true iff the neuron is in its absolute refactory period.
virtual void clearSynapticInput (void)
virtual double getManagedDelay () const
virtual int nSpikeInputPorts () const
virtual int nSpikeOutputPorts () const
virtual int nAnalogInputPorts () const
virtual int nAnalogOutputPorts () const
virtual PortType outputPortType (port_t o) const
virtual PortType inputPortType (port_t i) const

Public Attributes

double Vpeak
 If $V_m$ exceeds the Value of $V_m$ is resetet to d. [units=V; range=(-10,100);].
double Vinit
 The initial condition for $V_m$ at time $t=0$. [units=V; range=(-1,1);].
double Inoise
 The standard deviation of the noise to be added each integration time constant. [range=(0,1); units=A;].
double Iinject
 A constant current to be injected into the LIF neuron. [units=A; range=(-1,1);].
double a
 A constant (0.02, 01) describing the coupling of variable u to Vm; [units=D; range=(0,10);].
double b
 A constant controlling sensitivity of u. [units=D; range=(0,10);].
double c
 A constant controlling reset of Vm (1000*Vreset). [units=mV; range=(-1000,1000);].
double d
 A constant controlling reset of u [units=D; range=(0,10);].

Protected Attributes

double Vm
 The membrane voltage $V_m$ [readonly; units=V;].
double u
 internal variable [readonly; units=V;]
double dt_msec
 The time step [readonly; units=msec;].
int noiseType
 noise type (0.,,gaussian Noise, 1...pink noise, 3...Ornstein Uhlenbeck noise) [range=(0,2); units=;]
double Isyn
 Summation point for all synaptic input currents.
double factI

Static Protected Attributes

static
ThreadSpecificRandomDistribution
< NormalDistribution
white_noise
 Random number generator for white noise.


Detailed Description

An Izhikevich neuron.

Implements the model described in Izhikevich, 2004 'Which model to use for cortical spiking neurons'

Model

Definition at line 24 of file IzhiNeuron.h.


Constructor & Destructor Documentation

IzhiNeuronBase::IzhiNeuronBase ( double  a = 0.02,
double  b = 0.2,
double  c = -65.0,
double  d = 8.0,
double  Vpeak = 30.0,
double  Vinit = -0.06,
double  Inoise = 0.0,
double  Iinject = 0.0,
double  factI = 1.0 
)

Definition at line 20 of file IzhiNeuron.cpp.

IzhiNeuronBase::IzhiNeuronBase ( string  type,
double  Vinit = -0.06,
double  Inoise = 0.0,
double  Iinject = 0.0,
double  factI = 1.0 
)

Definition at line 28 of file IzhiNeuron.cpp.

References a, b, c, d, and Vpeak.

virtual IzhiNeuronBase::~IzhiNeuronBase (  )  [inline, virtual]

Definition at line 43 of file IzhiNeuron.h.


Member Function Documentation

int IzhiNeuronBase::adjust ( double  dt  )  [virtual]

This tells the object that it should adjust to a new simulation time step width.

Reimplemented from SimObject.

Definition at line 109 of file IzhiNeuron.cpp.

References dt_msec.

Referenced by reset().

int IzhiNeuronBase::advance ( AdvanceInfo const &  ai  )  [virtual]

Advance the neuron.

Reimplemented from SimObject.

Reimplemented in ExIzhiNeuronBase.

Definition at line 59 of file IzhiNeuron.cpp.

References a, ADVANCEFLAG_HASSPIKED, b, c, clearSynapticInput(), d, dt_msec, factI, Iinject, Inoise, Isyn, SingleOutputSpikeSender::out_port, SpikeOutputPort::setSpike(), u, Vm, Vpeak, and white_noise.

Here is the call graph for this function:

int IzhiNeuronBase::reset ( double  dt  )  [virtual]

Reset the Izhi-Neuron.

Reimplemented from SimObject.

Definition at line 119 of file IzhiNeuron.cpp.

References adjust(), clearSynapticInput(), SingleOutputSpikeSender::reset(), u, Vinit, and Vm.

Here is the call graph for this function:

bool IzhiNeuronBase::refractoryQ (  )  [inline]

Returns true iff the neuron is in its absolute refactory period.

Definition at line 57 of file IzhiNeuron.h.

void IzhiNeuronBase::clearSynapticInput ( void   )  [inline, virtual]

Definition at line 103 of file IzhiNeuron.cpp.

References Isyn.

Referenced by ExIzhiNeuronBase::advance(), advance(), and reset().

virtual double IzhiNeuronBase::getManagedDelay (  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 83 of file IzhiNeuron.h.

virtual int IzhiNeuronBase::nSpikeInputPorts (  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 84 of file IzhiNeuron.h.

virtual int IzhiNeuronBase::nSpikeOutputPorts (  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 85 of file IzhiNeuron.h.

virtual int IzhiNeuronBase::nAnalogInputPorts (  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 86 of file IzhiNeuron.h.

virtual int IzhiNeuronBase::nAnalogOutputPorts (  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 87 of file IzhiNeuron.h.

virtual PortType IzhiNeuronBase::outputPortType ( port_t  o  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 89 of file IzhiNeuron.h.

References SimObject::spiking, and SimObject::undefined.

virtual PortType IzhiNeuronBase::inputPortType ( port_t  i  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 94 of file IzhiNeuron.h.

References SimObject::undefined.


Member Data Documentation

If $V_m$ exceeds the Value of $V_m$ is resetet to d. [units=V; range=(-10,100);].

Definition at line 65 of file IzhiNeuron.h.

Referenced by ExIzhiNeuronBase::advance(), advance(), ExIzhiNeuronBase::ExIzhiNeuronBase(), and IzhiNeuronBase().

The initial condition for $V_m$ at time $t=0$. [units=V; range=(-1,1);].

Definition at line 67 of file IzhiNeuron.h.

Referenced by reset().

The standard deviation of the noise to be added each integration time constant. [range=(0,1); units=A;].

Definition at line 69 of file IzhiNeuron.h.

Referenced by ExIzhiNeuronBase::advance(), and advance().

A constant current to be injected into the LIF neuron. [units=A; range=(-1,1);].

Definition at line 71 of file IzhiNeuron.h.

Referenced by ExIzhiNeuronBase::advance(), and advance().

A constant (0.02, 01) describing the coupling of variable u to Vm; [units=D; range=(0,10);].

Definition at line 75 of file IzhiNeuron.h.

Referenced by ExIzhiNeuronBase::advance(), advance(), ExIzhiNeuronBase::ExIzhiNeuronBase(), and IzhiNeuronBase().

A constant controlling sensitivity of u. [units=D; range=(0,10);].

Definition at line 77 of file IzhiNeuron.h.

Referenced by ExIzhiNeuronBase::advance(), advance(), ExIzhiNeuronBase::ExIzhiNeuronBase(), and IzhiNeuronBase().

A constant controlling reset of Vm (1000*Vreset). [units=mV; range=(-1000,1000);].

Definition at line 79 of file IzhiNeuron.h.

Referenced by ExIzhiNeuronBase::advance(), advance(), ExIzhiNeuronBase::ExIzhiNeuronBase(), and IzhiNeuronBase().

A constant controlling reset of u [units=D; range=(0,10);].

Definition at line 81 of file IzhiNeuron.h.

Referenced by ExIzhiNeuronBase::advance(), advance(), ExIzhiNeuronBase::ExIzhiNeuronBase(), and IzhiNeuronBase().

internal variable [readonly; units=V;]

Definition at line 103 of file IzhiNeuron.h.

Referenced by ExIzhiNeuronBase::advance(), advance(), and reset().

The time step [readonly; units=msec;].

Definition at line 105 of file IzhiNeuron.h.

Referenced by adjust(), ExIzhiNeuronBase::advance(), and advance().

Random number generator for white noise.

Definition at line 109 of file IzhiNeuron.h.

Referenced by ExIzhiNeuronBase::advance(), and advance().

noise type (0.,,gaussian Noise, 1...pink noise, 3...Ornstein Uhlenbeck noise) [range=(0,2); units=;]

Definition at line 115 of file IzhiNeuron.h.

Definition at line 120 of file IzhiNeuron.h.

Referenced by ExIzhiNeuronBase::advance(), and advance().


The documentation for this class was generated from the following files:

Generated on Wed Jul 9 16:34:51 2008 for PCSIM by  doxygen 1.5.5