Modern neuroscience experiments generate enormous amounts of data. Pulling insights from these data requires increasingly sophisticated analyses. In my research I use machine learning to understand how the brain controls the body. Here are some open source tools for data analysis + collection I have worked on and developed:
need for speed in convolutional neural networks
I teamed up with the group behind DeepLabCut (covered in The Atlantic), a revolutionary neural network based tool for analyzing videos. While neural networks have been transformative in many domains, their computational complexity limits their utility when dealing with huge datasets. We improved the speed of DeepLabCut up to tenfold, allowing even large datasets to be analyzed with consumer level GPUs. |
cellfie finds cells in microscopy data
Neuroscientists use calcium imaging to monitor the activity of large populations of neurons in awake, behaving animals (like in this beautiful example). However, calcium imaging can be very noisy, making neuron identification challenging. I use a two-stage convolutional neural network approach to find neurons in noisy data. I'm collaborating with Eftychios Pnevmatikakis at the Simon's Foundation to see if this approach combined with standard matrix factorization techniques outperforms current calcium imaging segmentation algorithms. |
open source scientific signal generator
Scientists often need to generate temporally precise electrical signals to control devices around the lab (lasers, cameras, current generators, etc). Most signal generators are big, expensive, and difficult to operate. I designed an easy-to-use, open source signal generator (SignalBuddy) that can be made for ~$20 in parts. SignalBuddy has a nice 3D printed enclosure and replaces expensive signal generators in many lab applications. |
to measure whisker movements
Some neuroscientists study sensation, and some study action. However, most animal behavior lies in the murky area between these extremes. The whisker movements mice use to sense their environment illustrate how perception and action are inextricably linked. Chris Rodgers studies such 'active sensation' by recording the brains of mice while they explore objects with their whiskers. I worked with Chris to build a convolutional neural network that measures the movements of individual whiskers with high fidelity. This approach avoids the heavy handed feature engineering of previous algorithms and also makes for some really cool videos! |
fancy bar plots for hierarchical data
Just because your data are terrible doesn't mean they can't look great! I often analyze data with complex hierarchical structures. Making nice bar plots that capture relationships in multi-factorial designs can require annoying nested for loops that are difficult to modify. I developed barFancy, a Matlab function that requires only a single tensor as input. It produces pretty bar and/or violin plots with tons of visualization options. |
open source 3D motion capture
New tools keep popping up that allow neuroscientists to record from greater numbers of neurons in the brain. For those of us who wish to understand how the brain controls behavior, we need to make sure our measurements of behavior keep pace with our measurements of neural activity. I designed an open source running wheel for mice that facilitates 3D reconstruction of body pose. This wheel is currently being using by labs around the world. With a single camera, access to a laser cutter, and a small number of parts you can achieve kinematic analyses that previously required thousands of dollars worth of cameras + software. |