Neural Spike Train Analysis Toolbox (nSTAT)

nSTAT-python is the standalone Python port of the neural spike-train analysis toolbox. It implements a range of models and algorithms for neural spike train data analysis, with a focus on point-process generalized linear models (GLMs), model fitting, model-order analysis, and adaptive decoding. In addition to point-process algorithms, nSTAT also provides tools for Gaussian signals — from correlation analysis to the Kalman filter — applicable to continuous neural signals such as LFP, EEG, and ECoG.

The port preserves the MATLAB toolbox’s public API naming, paper-example structure, and help/example coverage wherever a Python equivalent is reasonable.

Documentation Navigation

Key Capabilities

  • GLM fitting and assessment: Point-process GLMs with stimulus, history, and ensemble covariates. AIC/BIC model selection, KS goodness-of-fit, residual analysis.

  • SSGLM (state-space GLM): Full EM algorithm (PPSS_EMFB) for estimating across-trial coefficient dynamics with forward-backward Kalman smoothing.

  • Adaptive decoding: Point-process adaptive filter (PPAF) for real-time stimulus and state decoding from neural spike trains.

  • Hybrid filter: Joint discrete/continuous state estimation combining point-process observations with hidden Markov models.

  • UKF support: Unscented Kalman filter for nonlinear state estimation.

  • Signal processing: Multi-taper spectral estimation, spectrograms, cross-covariance, peak-finding, and time-domain signal manipulation.

  • Granger causality: Ensemble Granger causality analysis for network connectivity inference.

Citation

Cajigas I, Malik WQ, Brown EN. nSTAT: Open-source neural spike train analysis toolbox for Matlab. Journal of Neuroscience Methods 211:245-264 (2012). DOI: 10.1016/j.jneumeth.2012.08.009 PMID: 22981419

Lab Websites