pillow lab @ princeton

neural coding & computation group

Code

Generalized Linear Model (GLM)

• GLMspiketraintutorial - tutorial code and slides from 2016 SFN short course, illustrating basics of Gaussian and Poisson GLMs for spike train data. [zip | readme]
• GLMspiketraintutorial_python - python version of the tutorial above (NEW!)
• neuroGLM - Poisson GLM for single-neuron trial-based data
[relevant pub: IM Park et al, Nat Neurosci 2014]
• GLM dynamical behaviors - capturing repertoire of Izhikevich neuron
[relevant pub: Weber & Pillow, 2018]
• GLMspiketools - multi-neuron Poisson GLM with spike-history and coupling between neurons
[relevant pub: Pillow et al, Nature 2008]
• polynomial approximate GLM - fast, approximate inference for Poisson GLM for large-scale datasets
[relevant pub: Zoltowski et al, NeurIPS 2018]

Receptive field estimation

• fastASD - fast, scalable estimation for high-D receptive fields via automatic smoothness determination (ASD).
[relevant pub: Aoi & Pillow, bioRxiv 2017]
• Automatic Locality Determination (ALD) - receptive field estimation under localized priors
[relevant pub: M Park & Pillow, PLoS CB 2011]

Multi-filter LNP model

• LNPfitting - maximum likelihood / maximally informative dimensions (MID) estimator for linear-nonlinear-Poisson (LNP) model .
[relevant pub: Williamson et al, PLoS Comp Biol 2015]
• convolutional STC - convolutional spike-triggered covariance analysis for subunit models
[relevant pub: Wu et al, NeurIPS 2015]
• iSTAC - information-theoretic spike-triggered average & covariance for multi-filter LNP model
[relevant pub: Pillow & Simoncelli, J Vision 2006]

non-Poisson spiking models

• flexibleModulatedPoisson - extends modulated Poisson model for over-dispersed spike count data [Goris et, 2014] to account for flexible relationships between mean and variance
[relevant pub: Charles et al, Neural Comp 2018]
• Generalized Integrate-and-Fire model - ML fitting of spike-response model to spike train data via Fokker-Planck
[relevant pub: Pillow et al, J Neurosci 2005]

Stepping/Ramping model comparison

• StepRampMCMC - Model comparison for stepping and ramping spike train models
[relevant pubs: Latimer et al, Science 2015, Zoltowski et al, Neuron 2019]

Structured sparsity / fMRI decoding

• Dependent relevance determination (DRD) - Inference for sparse, smooth, clustered support regression weights.
[relevant pubs: Wu et al, JMLR 2019]

Supervised Dimensionality Reduction (w/ applications to fMRI)

• Class Factor-Analytic Dimensions (CFAD) - identify low-dimensional projection that preserves information about an external covariate of interest. (Problem setting also known as "sufficient dimension reduction").
[relevant pub: Jha, Morais & Pillow, ICML 2021].

Adaptive stimulus selection / Closed-loop experiments

• adaptivePsychophysicsToolbox - adaptive stimulus selection for characterizing psychometric functions, incorporating multiple response options and lapse
[relevant pub: Bak & Pillow, JOV 2018]
• adapotiveOptimalTraining - adaptive stimulus selection for optimal animal training ("AlignMax").
[relevant pub: Bak et al, NeurIPS 2016]
• activelearningTCs - adaptive stimulus selection for neural tuning curves with Poisson noise
[relevant pub: Park & Pillow book chapter, 2016 ]
• active_learning_GLM_HMMs - adaptive stimulus selection for discrete latent variable models, including GLM-HMM
[relevant pub: Jha, Ashwood, & Pillow, Neural Comp 2024]

Psychophysics / Behavior modeling

• GLM-HMM - Hidden Markov Model (HMM) with Bernoulli generalized linear model (GLM) for identifying latent states from perceptual decision-making data
[relevant pub: Ashwood et al, Nat. Neurosci2022]
• psyTrack - dynamic psychophysical model for tracking weight changes during learning.
collab notebook - reproduces all figs from paper.
[relevant pubs: Roy et al, Neuron 2020, Roy et al, NeurIPS 2018]
• Kalman filter for target tracking psychophysics - continuous psychophysics via target tracking
[relevant pub: Bonnen et al, Journal of Vision 2015]

Entropy estimation

• CDMentropy - entropy estimation for binary spike trains using centered-Dirichlet mixture (CDM) priors
[relevant pub: Archer, Park, & Pillow, NeurIPS 2013]
• PYMentropy - entropy estimation for discrete distributions with unknown support using Pitman-Yor Mixture (PYM) prior
[relevant pub: Archer, Park & Pillow, JMLR 2014]

Spike sorting

• BinaryPursuitSpikeSorting - Binary Pursuit spike sorting for detecting synchronous and overlapping spikes
[relevant pub: Pillow et al, PLoS ONE 2013]

Hidden Markov Models (HMMs)

• simpleHMM - Tutorial code for discrete and Gaussian HMMs (simulating, forward-backward, EM fitting) in matlab
• simpleGLMHMM - Tutorial code for HMMs with (Bernoulli or multinomial) GLM outputs in matlab.

Latent Linear Dynamical System (LDS) models / Kalman filter

• simpleLDS - Tutorial code for latent linear dynamical systems (Kalman filter & smoother, fitting via EM) in matlab.

General-purpose utilities

• automaticRidgeRegression - Empirical Bayes inference for ridge regression and smooth ridge regression. Performs evidence-optimization for the ridge parameter (and smoothness parameter, if desired) using fixed point update.
• multilinearRegression - Bilinear and trilinear least-squares regression using alternating coordinate ascent or joint optimization.
• GaussHermiteQuadrature - Performs Gauss-Hermite quadrature with a Gaussian density. Useful for efficiently computing the integral of a smooth function multiplied by a Gaussian.
• invBlockTriDiag - Efficiently compute central and off-diagonal blocks of the inverse of a block-tridiagonal matrix.
• raisedCosineBasis - Makes raised cosine basis with log scaling of x axis (for parametrizing stimulus or spike-history filters)

Please report any bugs to pillow@princeton.edu