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]

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