![]() | Spike Train Analysis Toolkit |
data/
directory, there are five data sets: synth
continuous
synth
dataset, convolved with a difference of exponentials, to simulate LFP data.taste
drift
phase
inforate_uni
and inforate_rep
inforate_uni
consists of unique Poisson spike trains with a rate of 40 spikes/s. inforate_rep
consists of repeated spike trains, where each spike in the set is jittered according to a Gaussian distribution with a standard deviation of 0.6 ms.The example m-file scripts can be found in the demo/
directory. Links to images of the output figures are provided below so that you can verify that the toolkit is functioning properly. The performance of entropy and information methods is data-dependent. The results depicted in these demos are specific to the datasets analyzed—no conclusions about the methods' performance on other datasets are implied or should be inferred. Please note that due to differences in the figure handling and plotting functions between Matlab and Octave, the demos will not run in Octave. While the demos can still serve as a template for your own analyses, Octave users must rely upon staverify
to know that the toolkit was successfully installed.
The script demo_directformal
demostrates the use of the directformal
function to compute the formal information rate on the inforate_uni
and inforate_rep
dataset. View the expected results. The key graph is the lower-right panel. This shows information calculated via several different entropy methods, as a function of the "word length". The peak of the curve as it nears the vertical axis is the best estimate of information; the abrupt drop of the curve for very long words (small values of 1/L) reflects the amount of data available, and does not indicate an actual fall in the amount of information.
The script demo_ctwmcmc_formal
demonstrates the use of the ctwmcmc
function to compute the formal information rate on the same data, and compares the results with those obtained by directformal
. View the expected results. As above, the key graph is the lower-right panel. Note that since the ctwmcmc
method does not make use of a "word length" parameter, its results are shown as a horizontal band. Also please note that ctwmcmc
and nsb
analyses were performed with 1/8 of the available data, as compared to plugin
or tpmc
.
demo_directcat
, demo_metric
, and demo_binless
. When run, these scripts asks you to choose the synth
, taste
, drift
, or continuous
(demo_binless
only) datasets. To bypass this query, you may set the dataset
variable (e.g., dataset='synth'
) before running the scripts. (Note that you must clear this variable in order to receive the query again.) All of these demos can be run in succession with synth
and taste
datasets using the demo_all
script. Analysis of the drift
dataset can take a long time on some computers, and therefore is not included in the demo_all
script. Again, the key plot of interest is the graph in the lower-right of each figure. This graph shows information as a function of bin size (demo_directcat
), temporal precision (demo_metric
), or embedding dimension (demo_binless
). The peaks of these curves (blue) are the single best estimates of information. These panels also show information estimates for shuffled data (red). This serves as a control for whether there is sufficient data to carry out a valid analysis. If the amount of data are sufficient, then the "shuffled" curve (red) should be well-separated from the original data curve (blue), and the amount of information in the shuffled curve should be near zero. In the examples shown here, this criterion is met for the metric space analysis (demo_metric
), and the binless analysis (demo_binless
), but not the direct categorical analysis (demo_directcat
). The other panels of the demo figures show some of the intermediate results of the information analyses, and provide a way to characterize how neural information is coded. Please refer to the detailed description of these methods for further background (see the references on the Introduction page).
Demo name | Description | Expected results | |||
---|---|---|---|---|---|
demo_directcat | Direct method category-specific information demo | synth | taste | drift | |
demo_metric | Metric space method demo | synth | taste | drift | |
demo_binless | Binless method demo | synth | taste | drift | continuous |
The script demo_metric_multi
demonstrates the use of the metric space method on the multineuron dataset phase
. View the expected results. In this figure, pay particular attention to the plot in the lower-left corner, which shows information as a function of temporal precision and label cost (an indication of the redundancy across multiple neurons). This demo is very memory intensive. If you have trouble running it, try reducing the size of the analysis window by changing the values of opts.start_time
and opts.end_time
.
The script demo_entropy
demonstrates all of the entropy methods included in the toolkit (except nsb
) on examples drawn from a binomial distribution with 10 bins. View the expected results. The function demo_nsb
compares the plugin
, tpmc
, and nsb
methods on undersampled data drawn from a Dirichlet distribution. View the expected results. Dataset generation and bootstrap variance estimation make use of a pseudorandom number generation. Therefore, results may differ slightly from system to system.