Module pypcsim :: Class LifNeuronBase
[hide private]
[frames] | no frames]

Class LifNeuronBase

     object --+            
              |            
    ??.instance --+        
                  |        
   SimObjectFactory --+    
                      |    
              SimObject --+
                          |
     object --+           |
              |           |
    ??.instance --+       |
                  |       |
        SpikeSender --+   |
                      |   |
SingleOutputSpikeSender --+
                          |
                         LifNeuronBase
Known Subclasses:

Help on LifNeuronBase [class]:
 A leaky-integrate-and-fire (I&F) neuron. 
  
  

### Model


  
  A standard leaky-integrate-and-fire neuron model is implemented 
  where the membrane potential \f$V_m\f$ of a neuron is given by 
  \f[ 
  \tau_m \frac{d V_m}{dt} = -(V_m-V_{resting}) + R_m \cdot (I_{syn}(t)+I_{inject}+I_{noise}) 
  \f] 
  where \f$\tau_m=C_m\cdot R_m\f$ is the membrane time constant, 
  \f$R_m\f$ is the membrane resistance, \f$I_{syn}(t)\f$ is the 
  current supplied by the synapses, \f$I_{inject}\f$ is a 
  non-specific background current and \f$I_{noise}\f$ is a 
  Gaussion random variable with zero mean and a given variance 
  noise. 
  
  At time \f$t=0\f$ \f$V_m\f$ ist set to \f$V_{init}\f$. If 
  \f$V_m\f$ exceeds the threshold voltage \f$V_{thresh}\f$ it is 
  reset to \f$V_{reset}\f$ and hold there for the length 
  \f$T_{refract}\f$ of the absolute refractory period. 
  
   
  

### Implementation


  
  The exponential Euler method is used for numerical integration.

Nested Classes [hide private]

Inherited from SimObject: ID, PortType

Instance Methods [hide private]
 
__init__(...)
Help on LifNeuronBase::LifNeuronBase(float Rm=1.0e+6, float Cm=2.99999999999999973189543746917434807741642543988e-8, float Vresting=-5.99999999999999977795539507496869191527366638184e-2, float Vthresh=-4.49999999999999983346654630622651893645524978638e-2, float Vreset=-5.99999999999999977795539507496869191527366638184e-2, float Vinit=-5.99999999999999977795539507496869191527366638184e-2, float Trefract=3.00000000000000006245004513516505539882928133011e-3, float Inoise=0.0, float Iinject=0.0) [constructor]
 
clearSynapticInput(...)
Help on void LifNeuronBase::clearSynapticInput() [member function]
 
currentNoiseInput(...)
 
getManagedDelay(...)
 
getVm(...)
 
inputPortType(...)
 
nAnalogInputPorts(...)
 
nAnalogOutputPorts(...)
 
nSpikeInputPorts(...)
 
nSpikeOutputPorts(...)
 
outputPortType(...)
 
refractoryQ(...)
Help on bool LifNeuronBase::refractoryQ() [member function]
 
reset(...)

Inherited from SimObject: adjust, advance, check, deepCopy, getAnalogOutput, getFieldOffset, incoming, init, outgoing, owned_by_net, setAnalogInput, spikeHit, toBeActivated

Inherited from SimObjectFactory: create

Inherited from unreachable.instance: __new__

Inherited from object: __delattr__, __getattribute__, __hash__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

Class Variables [hide private]
  __instance_size__ = 116

Inherited from SimObject: analog, spiking, undefined

Properties [hide private]
  Cm
Help on LifNeuronBase::Cm [variable]
  Iinject
Help on LifNeuronBase::Iinject [variable]
  Inoise
Help on LifNeuronBase::Inoise [variable]
  Rm
Help on LifNeuronBase::Rm [variable]
  Trefract
Help on LifNeuronBase::Trefract [variable]
  Vinit
Help on LifNeuronBase::Vinit [variable]
  Vreset
Help on LifNeuronBase::Vreset [variable]
  Vresting
Help on LifNeuronBase::Vresting [variable]
  Vthresh
Help on LifNeuronBase::Vthresh [variable]

Inherited from object: __class__

Method Details [hide private]

__init__(...)
(Constructor)

 

Help on LifNeuronBase::LifNeuronBase(float Rm=1.0e+6, float Cm=2.99999999999999973189543746917434807741642543988e-8, float Vresting=-5.99999999999999977795539507496869191527366638184e-2, float Vthresh=-4.49999999999999983346654630622651893645524978638e-2, float Vreset=-5.99999999999999977795539507496869191527366638184e-2, float Vinit=-5.99999999999999977795539507496869191527366638184e-2, float Trefract=3.00000000000000006245004513516505539882928133011e-3, float Inoise=0.0, float Iinject=0.0) [constructor]

Overrides: object.__init__

getManagedDelay(...)

 
Overrides: SimObject.getManagedDelay

inputPortType(...)

 
Overrides: SimObject.inputPortType

nAnalogInputPorts(...)

 
Overrides: SimObject.nAnalogInputPorts

nAnalogOutputPorts(...)

 
Overrides: SimObject.nAnalogOutputPorts

nSpikeInputPorts(...)

 
Overrides: SimObject.nSpikeInputPorts

nSpikeOutputPorts(...)

 
Overrides: SimObject.nSpikeOutputPorts

outputPortType(...)

 
Overrides: SimObject.outputPortType

reset(...)

 
Overrides: SimObject.reset

Property Details [hide private]

Cm

Help on LifNeuronBase::Cm [variable]

Get Method:
unreachable(...)
Set Method:
unreachable(...)

Iinject

Help on LifNeuronBase::Iinject [variable]

Get Method:
unreachable(...)
Set Method:
unreachable(...)

Inoise

Help on LifNeuronBase::Inoise [variable]

Get Method:
unreachable(...)
Set Method:
unreachable(...)

Rm

Help on LifNeuronBase::Rm [variable]

Get Method:
unreachable(...)
Set Method:
unreachable(...)

Trefract

Help on LifNeuronBase::Trefract [variable]

Get Method:
unreachable(...)
Set Method:
unreachable(...)

Vinit

Help on LifNeuronBase::Vinit [variable]

Get Method:
unreachable(...)
Set Method:
unreachable(...)

Vreset

Help on LifNeuronBase::Vreset [variable]

Get Method:
unreachable(...)
Set Method:
unreachable(...)

Vresting

Help on LifNeuronBase::Vresting [variable]

Get Method:
unreachable(...)
Set Method:
unreachable(...)

Vthresh

Help on LifNeuronBase::Vthresh [variable]

Get Method:
unreachable(...)
Set Method:
unreachable(...)