Spike transmission¶
Spikes arriving to a cortical IFC unit add their PSG (post-synaptic conductance) to the appropriate synaptic conductance, for example g_ex or g_in. The PSG waveform for LGN spikes is a difference of exponential (DOE) function,
DOE(t) = amp [ e^(-t/tau_f) - e^(-t/tau_r) ].
The PSG waveform for spikes of cortical origin is an alpha-function,
ALPHA(t) = amp * a*t*e * e^(-a*t),
which has a peak value of “amp” at time 1/a. The alpha-function is used for cortical spike transmission for computational efficiency (Bernard et al, 1994 [ref #7025]).
When a spike is discharged in the population model, it is added to the input lists of post-synaptic cells with a 1.0 ms delay. The spike is represented in the list as a floating point value of 1.0 for full strength. Synaptic depression is applied by reducing the value that is added to the list.
See Boudreau and Ferster (2005) for cat synaptic depression.
Synaptic Depression¶
A factor f that sets the efficacy immediately after a spike, and a time constant tau. Not used for I->E within cortex. See Kayser, Priebe, Miller (2001). Also see Boudreau and Ferster (2005) for recent data.
The following parameters govern synaptic depression, which is separate for LGN-to-CTX and CTX-to-CTX:
Cortex to Cortex¶
- WARNING - these params control all intracortical transmission
- ctx2ctx_ex_sdf - Efficacy immediate following a spike
- ctx2ctx_ex_sdtau - (ms) time constant of recovery from depression
LGN to Cortex¶
- lgn2ctx_sdf - Efficacy following a spike at the synapse
- 1.0 - no depression
- 0.0 - full depression
lgn2ctx_sdtau - Time course of exponential recovery towards full efficacy (1.0)
Synaptic Interaction¶
A synpatic interaction (SI) allows spike trains from multiple cells to interact before they influence the conductance of a unit. This creates computational subunits that are separate from the integration of the soma.
si_ds02¶
This mechanism was created for implementing direction selective responses. It involves spike trains from a pair of units (u0,u1). The spikes from u1 are convolved with a mask template to create a function that multiplies the amplitude of the spikes from u0. The units corresponding to u0 and u1 are assigned cell index (CI) values of 0 and 1 respectively (CI is a value held within the synaptic interaction structure). The scaled spikes from u0 then influence the post-synaptic conductance in the usual way. Parameters are:
- dt - time to peak of mask function
- masktype - 1-sinusoid, 2-maxwell function
- ph_shift - phase shift between spatial RFs of u0 and u1 (90.0 deg)
- ph_dev - phase deviation around phase shift (5.0 deg)
The synaptic interaction is formed from an existing set of synapses, and the existing synapses will be assigned CI 0 and the new, paired synapses assigned CI 1. Thus, the new, paired synapses will make the mask.
si_nonlin¶
This implements a more general masking nonlinearity. The nonlin value allows the use of one-way masking (cell 0 spikes are multiplied by a mask set by cell 1), or two-way (e.g., symmetric) masking where spikes from each cell are multiplied by a mask from the other, or multiplication, where the two mask functions multiply each other (this is more like a product of the g’s).
- nonlin - [‘mask’] or ‘mult’ or ‘symmask’, the latter symmetrical mask causes each cell in the pair to set a mask for the spikes of the other.
- dt - [must specify] Peak interaction time (s) or SD for Gaussian
- masktype - [must specify] 1-sinusoid (down up down), 2-maxwell function (dt is peak), 3-sine positive lobe only, 4-half Gaussian, (dt is SD), 5-alpha function (dt is peak).
- mask_comp - [‘prod’] to mulitply by mask, ‘prod1m’ to multiply by 1-mask.
- mask_amp - [1.0] mask amplitude. At its peak, the mask would take this value.
multiply¶
This nonlinearity allows a pair-wise multiplicative interaction of LGN inputs. The spike trains of a pair of LGN units are each converted to a conductance signal in the normal manner, by convolving with a function h(t), (after applying any synaptic depression) and the traces are then multiplied. The new multiplied signal is scaled by a factor equal to the integral of h(t) divided by the integral of the square of h(t).
An example of using this nonlinearity is as follows:
<mech>
name pair1 # Name, to be referred to by an <input>
type multiply # Multiply the two conductance traces
<>
<input>
type lgn_pair # Create pairs of LGN inputs
receptor lgn_ex # Mechanism for post-syn. conductance
pair_mech pair1 # Name of mechanism for paired computation
pop_origin_1 lgn_a # Population of origin of LGN inputs [lgn]
pop_layer_z_1 -1 # z-Layer within population (-1 all z)
pop_origin_2 lgn_b # Population of origin of LGN inputs [lgn]
pop_layer_z_2 -1 # z-Layer within population (-1 all z)
offset_direction 0.0 (deg) # Offset direction (deg)
offset_distance 0.25 (deg) # Offset distance (deg of visual angle)
offset_jitter_para 0.0 (deg) # Jitter parallel to offset vector
offset_jitter_orth 0.0 (deg) # Jitter orthogonal to offset vector
offset_jitter_seed 1121 # Randomization seed
<distrib>
type rf_center # Distribution depends on RF center location
form Gaussian # 'Gaussian', ...
cdist 0.1 (deg) # critical distance (SD for Gaussian)
minw 0.05 # suppress connections with lower weight
normw 50.0 # normalize total weights to this; 0.0 no norm.
n 10 # Number of inputs
seed 1777 # Randomization seed
</distrib>
</input>
divide¶
This nonlinearity allows a pair-wise divisive interaction of LGN inputs. The spike trains of a pair of LGN units are each converted to a conductance signal in the normal manner, by convolving with a function h(t), (after applying any synaptic depression) and the traces are then divided as follows:
y = g1 / (a + b*g2)
where g1 is the conductance from pop_origin_1.
An example of using this nonlinearity is as follows:
<mech>
name pair1 # Name, to be referred to by an <input>
type divide # Divide the two conductance traces
div_a 1.0 # 'a' additive constant, to avoid division by zero
div_b 1.0 # 'b' multiplicative constant
<>
<input>
type lgn_pair # Create pairs of LGN inputs
receptor lgn_ex # Mechanism for post-syn. conductance
pair_mech pair1 # Name of mechanism for paired computation
pop_origin_1 lgn_a # Population of origin of LGN inputs [lgn]
pop_layer_z_1 -1 # z-Layer within population (-1 all z)
pop_origin_2 lgn_b # Population of origin of LGN inputs [lgn]
pop_layer_z_2 -1 # z-Layer within population (-1 all z)
offset_direction 0.0 (deg) # Offset direction (deg)
offset_distance 0.25 (deg) # Offset distance (deg of visual angle)
offset_jitter_para 0.0 (deg) # Jitter parallel to offset vector
offset_jitter_orth 0.0 (deg) # Jitter orthogonal to offset vector
offset_jitter_seed 1121 # Randomization seed
<distrib>
type rf_center # Distribution depends on RF center location
form Gaussian # 'Gaussian', ...
cdist 0.1 (deg) # critical distance (SD for Gaussian)
minw 0.05 # suppress connections with lower weight
normw 50.0 # normalize total weights to this; 0.0 no norm.
n 10 # Number of inputs
seed 1777 # Randomization seed
</distrib>
</input>