sns_toolbox.neurons
Neurons are the computational nodes of an SNS, and can be either spiking or non-spiking.
Classes
Parent class of all neurons. |
|
Classic non-spiking neuron model, whose dynamics are as follows: |
|
Iion = sum_j[Gj * A_(inf,j)^Pa * Bj^Pb * Cj^Pc * (Ej - V)] |
|
Iion = sum_j[Gj * m_(inf,j)^Pm * hj^Ph * (Ej - U)] |
|
Generalized leaky integrate-and-fire neuron model, whose dynamics are as follows: |
Module Contents
- class sns_toolbox.neurons.Neuron(name: str = 'Neuron', color: str = 'white', membrane_capacitance: float = 5.0, membrane_conductance: float = 1.0, resting_potential: float = 0.0, bias: float = 0.0)
Parent class of all neurons.
- Parameters:
name (str, optional) – Name of this neuron preset, default is ‘Neuron’.
color (str, optional) – Background fill color for the neuron, default is ‘white’.
membrane_capacitance (Number, optional) – Neural membrane capacitance, default is 5.0. Units are nanofarads (nF).
membrane_conductance (Number, optional) – Neural membrane conductance, default is 1.0. Units are microsiemens (uS).
resting_potential (Number, optional) – Neural resting potential, default is 0.0. Units are millivolts (mV).
bias (Number, optional) – Internal bias current, default is 0.0. Units are nanoamps (nA).
- params: Dict[str, Any]
- class sns_toolbox.neurons.NonSpikingNeuron(**kwargs)
Bases:
Neuron
Classic non-spiking neuron model, whose dynamics are as follows: membrane_capacitance*dV/dt = -membrane_conductance*(V - Er) + bias current + synaptic current + external current.
- class sns_toolbox.neurons.NonSpikingNeuronWithGatedChannels(g_ion, e_ion, pow_a, k_a, slope_a, e_a, pow_b, k_b, slope_b, e_b, tau_max_b, pow_c, k_c, slope_c, e_c, tau_max_c, **kwargs)
Bases:
NonSpikingNeuron
Iion = sum_j[Gj * A_(inf,j)^Pa * Bj^Pb * Cj^Pc * (Ej - V)]
- inputs
- class sns_toolbox.neurons.NonSpikingNeuronWithPersistentSodiumChannel(g_ion=None, e_ion=None, k_m=None, slope_m=None, e_m=None, k_h=None, slope_h=None, e_h=None, tau_max_h=None, **kwargs)
Bases:
NonSpikingNeuronWithGatedChannels
Iion = sum_j[Gj * m_(inf,j)^Pm * hj^Ph * (Ej - U)]
- inputs
- num_channels
- class sns_toolbox.neurons.SpikingNeuron(threshold_time_constant: float = 5.0, threshold_initial_value: float = 1.0, threshold_proportionality_constant: float = 0.0, threshold_leak_rate: float = 1.0, threshold_increment: float = 0.0, threshold_floor: float = None, reset_potential: float = None, **kwargs)
Bases:
Neuron
Generalized leaky integrate-and-fire neuron model, whose dynamics are as follows: membrane_capacitance*dV/dt = -membrane_conductance*(V-Er) + bias current + synaptic current + external current; threshold_time_constant*dTheta/dt = -Theta + threshold_initial_value + threshold_proportionality_constant*V; if V > Theta, V->Er.
- Parameters:
threshold_time_constant (Number, optional) – Rate that the firing threshold moves to the baseline value, default is 5.0. Units are milliseconds (ms).
threshold_initial_value (Number, optional) – Baseline value of the firing threshold, default is 1.0. Units are millivolts (mV).
threshold_proportionality_constant – Constant which determines spiking behavior. In response to constant stimulus, negative values cause the firing rate to decrease, positive values cause the rate to increase, and zero causes the rate to remain constant. Default is 0.0.
threshold_leak_rate – Constant which determines rate of decay to starting threshold. Default is 1.0.
threshold_increment (Number, optional) – Constant amount the threshold is increased after each spike. Default is 0.0
threshold_floor (Number, optional) – Minimum threshold value. Default is the resting potential
reset_potential (Number, optional) – Voltage that the membrane is reset to when a spike occurs. Default is resting_potential