This page contains some of the code and tools that I have developed during my research. Everything is free to use, modify, and distribute (see also this open source letter).
lnpy – a Python package containing many methods for estimating neuronal stimulus-response functions. For descriptions of the underlying models and estimators see:
Models of neuronal stimulus-response functions: elaboration, estimation and evaluation
Meyer AF, Williamson R, Linden JF, and Sahani M
Front. Syst. Neurosci., 2017, 10, 109
(article)
Fast and robust estimation of spectro-temporal receptive fields using stochastic approximations
Meyer AF, Diepenbrock JP, Ohl FW, and Anemüller J
J Neurosci Methods, 2015, 246, 119-133
(article)
Temporal variability of spectro-temporal receptive fields in the anesthetized auditory cortex
Meyer AF, Diepenbrock JP, Ohl FW, and Anemüller J
Frontiers in Computational Neuroscience, 2014, Vol. 8(165) (article)
Discriminative Learning of Receptive Fields from Responses to Non-Gaussian Stimulus Ensembles
Meyer AF, Diepenbrock JP, Happel MF, Ohl FW, and Anemüller J
PLOS ONE, 2014, Vol. 9(4), pp. e93062
(article)
neuro-glm – a Python package for jointly estimating behavioral and spatial tuning curves of single neurons using Poisson GLMs.
The mousecam is a head-mounted camera system that integrates detailed behavioral monitoring with electrophysiological (or optical) recordings in freely moving mice.
A head-mounted camera system integrates detailed behavioral monitoring with multichannel electrophysiology in freely moving mice
Meyer AF*, Poort J*, O’Keefe J, Sahani M, Linden JF
Neuron, 2018, 100, 46-60
(article)
A plugin for the open-ephys plugin-GUI to control a Raspberry Pi (RPi) camera over the network. The camera is controlled locally on the RPi and communication between the recording system and the RPi is done via zeromq.
Plugin for open-ephys plugin-GUI to control and read data from an interia measurement unit (IMU) via an Arduino, Teensy, or another compatible microcontroller. Communication between the microncontroller and the IMU sensor is done via i2c.
Implements a virtual reference matrix that is a bit more flexible than open-ephys’ channel mapper (but requires more processing power).
A plugin for publishing events (TTL, messages) in plain text over the network.
A simple video4linux2-based video frame grabber plugin. It retrieves frames from any device supported by v4l2 and displays them using opencv. Moreover, frames can be saved to disk (in jpg format) together with open-ephys hardware time stamps making it easy to synchronize frames and recorded data later on. Depending on your camera this approach should be useful for most (behavioral) tracking experiments. In case the experiment requires very precise time stamps, e.g., high-speed whisker tracking, it might be a good idea to use a camera that can send TTL pulses for each frame.
A Python package that makes running of embarassingly-parallel jobs on high-performance computing clusters quite easy. Currently, the SLURM system is supported (the Sun grid engine (SGE) backend might also work but haven’t tested it for a while).
A Python package for calling Matlab from Python (using temporary files).