Software from the lab
PsychRNN - Training recurrent neural network models on cognitive tasks
PsychRNN is an accessible, flexible, and extensible Python package for training RNNs on cognitive tasks. The package designed for accessibility, for researchers to define tasks and train RNN models using only Python and NumPy without requiring knowledge of deep learning software. The training backend is based on TensorFlow and is readily extensible for researchers with TensorFlow knowledge to develop projects with additional customization.
Primary developers: Daniel Ehrlich, Jasmine Stone
Associated publication: Ehrlich*, Stone* et al. (2020) PsychRNN: an accessible and flexible Python package for training recurrent neural network models on cognitive tasks. bioRxiv. https://www.biorxiv.org/content/10.1101/2020.09.30.321752v1
gemmr - Generative modeling of multivariate relationships
gemmr calculates required sample sizes for Canonical Correlation Analysis (CCA) and Partial Least Squares (PLS). In addition, it can generate synthetic datasets for use with CCA and PLS, and provides functionality to run and examine CCA and PLS analyses. It also provides a Python wrapper for PMA, a sparse CCA implementation.
Primary developer: Markus Helmer
Associated publication: Helmer, et al. (2020) On stability of Canonical Correlation Analysis and Partial Least Squares with application to brain-behavior associations. bioRxiv. https://www.biorxiv.org/content/10.1101/2020.08.25.265546v1
PyDDM - A flexible framework for simulating and fitting generalized drift-diffusion models
PyDDM is a simulator and modeling framework for generalized drift-diffusion models (GDDM or DDM), with a focus on cognitive neuroscience.
Key features include:
- Fast solutions to generalized drift-diffusion models, allowing data-fitting with a large number of parameters
- Fokker-Planck equation solved numerically using Crank-Nicolson and backward Euler methods for likelihood fitting on the full distribution
- Arbitrary functions for parameters drift rate, noise, bounds, and initial position distribution
- Arbitrary loss function and fitting method for parameter fitting
- Multiprocessor support
- Optional GUI for debugging and gaining an intuition for different models
- Convenient and extensible object oriented API allows building models in a component-wise fashion
- Verified accuracy of simulations using software verification techniques
Primary developers: Maxwell Shinn and Norman Lam
Associated publication: Shinn*, Lam* & Murray (2020) A flexible framework for simulating and fitting generalized drift-diffusion models. eLife 9:e56938. https://elifesciences.org/articles/56938
BrainSMASH - Brain surrogate maps with autocorrelated spatial heterogeneity
BrainSMASH (Brain Surrogate Maps with Autocorrelated Spatial Heterogeneity) is a Python-based computational platform for statistical testing of spatially autocorrelated brain maps. At the heart of BrainSMASH is the ability to simulate surrogate brain maps with spatial autocorrelation that is matched to spatial autocorrelation in a target brain map. Additional utilities are provided for users using Connectome Workbench style surface-based neuroimaging files.
Primary developer: Joshua B. Burt
Associated publication: Burt, et al. (2020) Generative modeling of brain maps with spatial autocorrelation. NeuroImage 220:117038. https://doi.org/10.1016/j.neuroimage.2020.117038