Code, tools etc

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).


Neuronal stimulus-response function estimation

coding model

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)

Source code/files


neuro-glm

behavioral/spatial tuning curves

neuro-glm – a Python package for jointly estimating behavioral and spatial tuning curves of single neurons using Poisson GLMs.

Source code/files


The Mousecam

mouse with eye cameras and implant

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)

Source code/files


Open-ephys plugins

RPiCamera

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.

Source code/files


IMU Reader

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.

Source code/files


VirtualRef

Implements a virtual reference matrix that is a bit more flexible than open-ephys’ channel mapper (but requires more processing power).

Source code/files


EventPublisher

A plugin for publishing events (TTL, messages) in plain text over the network.

Source code/files


FrameGrabber

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.

Source code/files


Miscellaneous

clusterjobs

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).

Source code/files


matcall

A Python package for calling Matlab from Python (using temporary files).

Source code/files