bionet.ted.iaf.iaf_encode_delay

bionet.ted.iaf.iaf_encode_delay(u_list, t_start, dt, b_list, d_list, k_list, a_list, w_list, y_list=None, interval_list=None, full_output=False)

Multi-input multi-output delayed IAF time encoding machine.

Encode several signals with an ensemble of ideal Integrate-and-Fire neurons with delays.

Parameters:

u_list : list of ndarrays of floats

Signals to encode. Each of the ndarrays must be of the same length.

t_start : float

Time at which to begin encoding (in s).

dt : float

Sampling resolution of input signals; the sampling frequency is 1/dt Hz.

b_list : list of floats

List of encoder biases.

d_list : list of floats

List of encoder thresholds.

k_list : list of floats

List of encoder integration constants.

a_list : N x M array_like of floats.

Neuron delays (in s).

w_list : N x M array_like of floats.

Scaling factors.

y_list : list of floats

Initial values of integrators.

interval_list : list of floats

Times since last spikes (in s).

full_output : bool

If set, the function returns the encoded data block followed by the given parameters (with updated values for y and interval). This is useful when the function is called repeatedly to encode a long signal.

Returns:

s_list : list of ndarrays of floats

If full_output == False, returns the signals encoded as a list of arrays of time intervals between spikes.

[s_list, t_start, dt, b_list, d_list, k_list, a_list, w_list, y_list,

interval_list, u_list_prev, full_output] : list

If full_output == True, returns the encoded signals followed by updated encoder parameters.

Notes

t_start must exceed max(a).