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

Class LifNeuron

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

Help on LifNeuron [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 LifNeuron::LifNeuron(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]
 
adjust(...)
 
advance(...)
 
clearSynapticInput(...)
Help on void LifNeuronBase::clearSynapticInput() [member function]
 
create(...)
 
currentInput(...)

Inherited from LifNeuronBase: currentNoiseInput, getManagedDelay, getVm, inputPortType, nAnalogInputPorts, nAnalogOutputPorts, nSpikeInputPorts, nSpikeOutputPorts, outputPortType, refractoryQ, reset

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

Inherited from unreachable.instance: __new__

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

Static Methods [hide private]
 
registerSimObject(...)
Help on static void LifNeuron::registerSimObject() [member function]
Class Variables [hide private]
  __instance_size__ = 128

Inherited from SimObject: analog, spiking, undefined

Properties [hide private]

Inherited from LifNeuronBase: Cm, Iinject, Inoise, Rm, Trefract, Vinit, Vreset, Vresting, Vthresh

Inherited from object: __class__

Method Details [hide private]

__init__(...)
(Constructor)

 

Help on LifNeuron::LifNeuron(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__

adjust(...)

 
Overrides: SimObject.adjust

advance(...)

 
Overrides: SimObject.advance

clearSynapticInput(...)

 

Help on void LifNeuronBase::clearSynapticInput() [member function]

Overrides: LifNeuronBase.clearSynapticInput
(inherited documentation)

create(...)

 
Overrides: SimObjectFactory.create

currentInput(...)

 
Overrides: CurrentInputTarget.currentInput