bionet.ted.iaf.iaf_encode_pop¶
- bionet.ted.iaf.iaf_encode_pop(u_list, dt, b_list, d_list, R_list, C_list, dte=0, y=None, interval=None, quad_method='trapz', full_output=False)¶
Multi-input multi-output IAF time encoding machine.
Encode several signals with an ensemble of Integrate-and-Fire neurons.
Parameters: u_list : list of ndarrays
Signals to encode.
dt : float
Sampling resolution of input signal; 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.
R_list : list of floats
List of encoder resistances.
C_list : list of floats
List of encoder capacitances.
dte : float
Sampling resolution assumed by the encoders. This may not exceed dt.
y : ndarray of floats
Initial values of integrators.
interval : ndarray of float
Times since last spike (in s).
quad_method : {‘rect’, ‘trapz’}
Quadrature method to use (rectangular or trapezoidal) when the neuron is ideal; exponential Euler integration is used when the neuron is leaky.
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 : ndarray of floats
If full_output == False, returns the signal encoded as an array of time intervals between spikes.
[s_list, dt, b_list, d_list, R_list, C_list, dte, y, interval,
quad_method, full_output] : list
If full_output == True, returns the encoded signal followed by updated encoder parameters.
Notes
When trapezoidal integration is used, the value of the integral will not be computed for the very last entry in the arrays in u_list. Using this function to encode multiple signals is faster than than repeatedly invoking iaf_encode() when the number of signals is sufficiently high.