neurotools.spikes.convolutional module
Routines for spike-triggered averagind and coherence analysis between spike trains and continuous signals.
Apologies, most of these functions are not yet documented.
- neurotools.spikes.convolutional.ccor(i, j, spikes)[source]
Get zero-lag cross-correlation between spike trains i and j.
- Parameters:
i (int) – first neuron index
j (int) – second neuron index
spikes (NTRIALS×NNEURONS×NSAMPLES np.array) – Spiking population data
- Returns:
x
- Return type:
float
- neurotools.spikes.convolutional.ccm(i, j, k, spikes)[source]
Construct size k-lag cross-correlation matrix between two spike trains i and j.
- Parameters:
i (int) – first neuron index
j (int) – second neuron index
k (positive int) – Number of cross-correlation lags to include
spikes (NTRIALS×NNEURONS×NSAMPLES np.array) – Spiking population data
- Return type:
result
- neurotools.spikes.convolutional.blockccm(k, spikes)[source]
Generate covariance matrix for linear least squares. It is a block matrix of all pairwise cross-correlation
- Parameters:
k (positive int) – Number of cross-correlation lags to include
spikes (NTRIALS×NNEURONS×NSAMPLES np.array) – Spiking population data
- Return type:
result
- neurotools.spikes.convolutional.sta(i, spikes, lfp)[source]
Construct Spike-Triggered Average (STA) of sigal lfp
- Parameters:
i (int) – Neuron index
spikes (NTRIALS×NNEURONS×NSAMPLES np.array) – Spiking population data
lfp (1D np.array)
- Return type:
result
- neurotools.spikes.convolutional.blocksta(k, spikes, lfp)[source]
Block spike-triggered average vector for time-domain least squares filter NTrials,NNeurons,NSamples = np.shape(spikes)
- Parameters:
k
spikes
lfp
- Return type:
result
- neurotools.spikes.convolutional.reconstruct(k, B, spikes)[source]
Reconstructs LFP from spikes NTrials,NNeurons,NSamples = np.shape(spikes)
- Parameters:
k
B
spikes
- neurotools.spikes.convolutional.cspect(i, j, spikes)[source]
Get cross-spectral density as FT of cross-correlation
- Parameters:
i
j
spikes
- Return type:
result
- neurotools.spikes.convolutional.cspectm(spikes)[source]
Get all pairs cross spectral matrix NTrials,NNeurons,NSamples = np.shape(spikes)
TODO: This is doing much more work than is needed, and needs to be re-written to operate in the frequency domain.
- Parameters:
spikes
- Return type:
result
- neurotools.spikes.convolutional.spike_lfp_filters(spikes, lfp)[source]
Cross-spectral densities between spikes and LFP NTrials,NNeurons,NSamples = np.shape(spikes)
- Parameters:
spikes
lfp
- Return type:
result
- neurotools.spikes.convolutional.spectreconstruct(k, B, spikes=None, fftspikes=None)[source]
Reconstructs LFP from spikes using cross-spectral matrix. Can optionally pass the fts if they are already available NTrials,NNeurons,NSamples = np.shape(spikes)
- Parameters:
k
B
spikes (default None)
fftspikes (default None)
- Return type:
result
- neurotools.spikes.convolutional.create_spectral_model(spikes, lfp, shrinkage=0)[source]
- Parameters:
spikes
lfp
shrinkage (non-negative float; default 0) – L2 regularization strenth
- Return type:
result
- neurotools.spikes.convolutional.construct_lowpass_operator(fb, k, Fs=1000.0)[source]
TODO: documentation
Constructs a low-pass regularization operator Get the impulse response of a low-pass filter first Then copy it into the matrix. This really only makes sense in the time domain.
- Parameters:
fb
k
Fs (positive float; default 1000.) – Sampling rate
- Return type:
result
- neurotools.spikes.convolutional.autocorrelation_bayes(s, D=200, prior_var=None)[source]
Computes autocorrelation of signal s over time lags D, applying a Gaussian prior of mean zero and variance prior_var. If prior_var is None, then the length of signal s is used.
- Parameters:
s – sequence of values
D – number of lags to compute, default is 200
prior_var – positive scalar or None, default is None
- Returns:
autocorrelation over lags D, with zero-lag variance
- Return type:
xc