elephant.spike_train_surrogates.JointISI

class elephant.spike_train_surrogates.JointISI(spiketrain, dither=array(15.) * ms, truncation_limit=array(100.) * ms, n_bins=100, sigma=array(2.) * ms, alternate=True, use_sqrt=False, method='window', cutoff=True, refractory_period=array(4.) * ms, isi_dithering=False)[source]

Joint-ISI dithering implementation, based on the ideas from (Gerstein, 2004) and (Louis et al., 2010).

The main function is JointISI.dithering().

Parameters:
spiketrainneo.SpikeTrain

Input spiketrain to create surrogates of.

ditherpq.Quantity, optional

This quantity describes the maximum displacement of a spike, when method is ‘window’. It is also used for the uniform dithering for the spikes, which are outside the regime in the Joint-ISI histogram, where Joint-ISI dithering is applicable. Default: 15. * pq.ms

truncation_limitpq.Quantity, optional

The Joint-ISI distribution of \((ISI_i, ISI_{i+1})\) is defined within the range \([0, \infty)\). Since this is computationally not feasible, the Joint-ISI distribution is truncated for high ISI. The Joint-ISI histogram is calculated for \((ISI_i, ISI_{i+1})\) from 0 to truncation_limit. Default: 100. * pq.ms

n_binsint, optional

The size of the joint-ISI-distribution will be n_bins*n_bins/2. Default: 100

sigmapq.Quantity, optional

The standard deviation of the Gaussian kernel, with which the data is convolved. Default: 2. * pq.ms

alternatebool, optional

If True, then all even spikes are dithered followed by all odd spikes. Otherwise, the spikes are dithered in ascending order from the first to the last spike. Default: True

use_sqrtbool, optional

If True, the joint-ISI histogram is preprocessed by applying a square root (following (Gerstein, 2004)). Default: False

method{‘fast’, ‘window’}, optional
  • ‘fast’: the spike can move in the whole range between the

    previous and subsequent spikes (computationally efficient).

  • ‘window’: the spike movement is limited to the parameter dither.

Default: ‘window’

cutoffbool, optional

If True, then the filtering of the Joint-ISI histogram is limited on the lower side by the minimal ISI. This can be necessary, if in the data there is a certain refractory period, which will be destroyed by the convolution with the 2d-Gaussian function. Default: True

refractory_periodpq.Quantity, optional

Defines the refractory period of the dithered spiketrain unless the smallest ISI of the spiketrain is lower than this value. Default: 4. * pq.ms

isi_ditheringbool, optional

If True, the Joint-ISI distribution is evaluated as the outer product of the ISI-distribution with itself. Thus, all serial correlations are destroyed. Default: False

__init__(spiketrain, dither=array(15.) * ms, truncation_limit=array(100.) * ms, n_bins=100, sigma=array(2.) * ms, alternate=True, use_sqrt=False, method='window', cutoff=True, refractory_period=array(4.) * ms, isi_dithering=False)[source]

Methods

__init__(spiketrain[, dither, ...])

dithering([n_surrogates])

Implementation of Joint-ISI-dithering for spike trains that pass the threshold of the dense rate.

joint_isi_histogram()

Calculates a 2D histogram of \((ISI_i, ISI_{i+1})\) and applies square root or gaussian filtering if necessary.

Attributes

MIN_SPIKES

bin_width

isi

The inter-spike intervals of the spiketrain.

num_bins

refr_period