spike

package
v1.2.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 7, 2024 License: BSD-3-Clause Imports: 2 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ActParams

type ActParams struct {
	leabra.ActParams

	// [view: inline] spiking parameters
	Spike SpikeParams `view:"inline" desc:"spiking parameters"`
}

ActParams is full set of activation params including those from base leabra and the additional Spiking-specific ones.

func (*ActParams) CopyFromAct added in v1.1.11

func (sk *ActParams) CopyFromAct(act *leabra.ActParams)

CopyFromAct copies ActParams from source (e.g., rate-code params)

func (*ActParams) Defaults

func (sk *ActParams) Defaults()

func (*ActParams) SpikeActFmVm

func (sk *ActParams) SpikeActFmVm(nrn *leabra.Neuron)

SpikeActFmVm computes the discrete spiking activation from membrane potential Vm

func (*ActParams) SpikeVmFmG

func (sk *ActParams) SpikeVmFmG(nrn *leabra.Neuron)

func (*ActParams) Update

func (sk *ActParams) Update()

type SpikeParams

type SpikeParams struct {

	// [def: false] if true, turn on exponential excitatory current that drives Vm rapidly upward for spiking as it gets past its nominal firing threshold (Thr) -- nicely captures the Hodgkin Huxley dynamics of Na and K channels -- uses Brette & Gurstner 2005 AdEx formulation -- this mechanism has an unfortunate interaction with the continuous inhibitory currents generated by the standard FFFB inhibitory function, which cause this mechanism to desensitize and fail to spike
	Exp bool `` /* 476-byte string literal not displayed */

	// [def: 0.02] [viewif: Exp] slope in Vm (2 mV = .02 in normalized units) for extra exponential excitatory current that drives Vm rapidly upward for spiking as it gets past its nominal firing threshold (Thr) -- nicely captures the Hodgkin Huxley dynamics of Na and K channels -- uses Brette & Gurstner 2005 AdEx formulation -- a value of 0 disables this mechanism
	ExpSlope float32 `` /* 365-byte string literal not displayed */

	// [def: 1.2] [viewif: Exp] membrane potential threshold for actually triggering a spike when using the exponential mechanism
	ExpThr float32 `` /* 127-byte string literal not displayed */

	// [def: 0.3,0,0.15] post-spiking membrane potential to reset to, produces refractory effect if lower than VmInit -- 0.30 is apropriate biologically-based value for AdEx (Brette & Gurstner, 2005) parameters
	VmR float32 `` /* 209-byte string literal not displayed */

	// [def: 3] post-spiking explicit refractory period, in cycles -- prevents Vm updating for this number of cycles post firing
	Tr int `` /* 127-byte string literal not displayed */

	// [def: 180] [min: 1] for translating spiking interval (rate) into rate-code activation equivalent (and vice-versa, for clamped layers), what is the maximum firing rate associated with a maximum activation value (max act is typically 1.0 -- depends on act_range)
	MaxHz float32 `` /* 265-byte string literal not displayed */

	// [def: 5] [min: 1] constant for integrating the spiking interval in estimating spiking rate
	RateTau float32 `def:"5" min:"1" desc:"constant for integrating the spiking interval in estimating spiking rate"`

	// [view: -] rate = 1 / tau
	RateDt float32 `view:"-" desc:"rate = 1 / tau"`
}

SpikeParams contains spiking activation function params. Implements the AdEx adaptive exponential function

func (*SpikeParams) ActFmISI

func (sk *SpikeParams) ActFmISI(isi, timeInc, integ float32) float32

ActFmISI computes rate-code activation from estimated spiking interval

func (*SpikeParams) ActToISI

func (sk *SpikeParams) ActToISI(act, timeInc, integ float32) float32

ActToISI compute spiking interval from a given rate-coded activation, based on time increment (.001 = 1msec default), Act.Dt.Integ

func (*SpikeParams) AvgFmISI

func (sk *SpikeParams) AvgFmISI(avg *float32, isi float32)

AvgFmISI updates spiking ISI from current isi interval value

func (*SpikeParams) Defaults

func (sk *SpikeParams) Defaults()

func (*SpikeParams) Update

func (sk *SpikeParams) Update()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL