correlomatrix_detector – Device for measuring the covariance matrix from several inputs¶
Description¶
The correlomatrix_detector
is a device that receives spikes from several pools
of spike inputs and calculates the covariance matrix of inter-spike intervals
(raw auto and cross correlation) binned to bins of duration delta_tau
, which
defaults to 5 times the simulation resolution. The histogram is only recorded for
non-negative time lags. The negative part can be obtained by the symmetry of
the covariance matrix :math:` C(t) = C^T(-t)`.
The result can be obtained from the node’s status dictionary under the key
count_covariance
.
In parallel it records a weighted histogram, where the connection weight are
used to weight every count, which is available under the key /covariance
.
Both are matrices of size N_channels x N_channels
, with each entry \(C_{ij}\) being
a vector of size \(\tau_{max}/\delta_\tau + 1\) containing the (weighted) histogram
for non-negative time lags.
The bins are centered around the time difference they represent, and are left-closed and right-open in the lower triangular part of the matrix. On the diagonal and in the upper triangular part the intervals are left-open and right-closed. This ensures proper counting of events at the border of bins, allowing consistent integration of a histogram over negative and positive time lags by stacking two parts of the histogram
In this case one needs to exclude \(C[j][i][0]\) to avoid counting the zero-lag bin twice.
The correlomatrix_detector
has a variable number of inputs which can be set
via SetStatus
under the key N_channels
. All incoming connections to a
specified receptor will be pooled.
Correlomatrix detectors ignore any connection delays.
Parameters¶
Tstart |
real |
Time when to start counting events. This time should be set to at least start + tau_max in order to avoid edge effects of the correlation counts. |
Tstop |
real |
Time when to stop counting events. This time should be set to at most Tsim - tau_max, where Tsim is the duration of simulation, in order to avoid edge effects of the correlation counts. |
delta_tau |
ms |
Bin width. This has to be an odd multiple of the resolution, to allow the symmetry between positive and negative time-lags. Defaults to 5 times the simulation resolution. |
tau_max |
ms |
One-sided width. In the lower triagnular part events with differences in [0, tau_max+delta_tau/2) are counted. On the diagonal and in the upper triangular part events with differences in (0, tau_max+delta_tau/2]. Defaults to 10 times the value of delta_tau. |
N_channels |
integer |
The number of pools. This defines the range of receptor_type. Default is 1. Setting N_channels clears count_covariance, covariance and n_events. |
covariance |
3D matrix of integers |
matrix of read-only -raw, weighted, auto/cross correlation |
count_covariance |
3D matrix of integers |
matrix of read-only -raw, auto/cross correlation counts |
n_events |
list of integers |
number of events from all sources |
Receives¶
SpikeEvent