-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Title
Dynamic Neural Decoding for Adaptive Neuroprosthetic Control
Leaders
Graduate Student: Daniel Woods (@dpwoods21)
Collaborators
Grace Adams, Camila Romero, Hailey Edelman
PI: Daniel Gonzales, PhD (@GonzalesLabVU)
Project description
State of the art brain computer interface (BCI) technology relies on high density neural probes that read in voltage differentials of recorded neurons in the form of local field potential (LFP) and action potentials (spikes). Our lab fabricates novel flexible electrodes capable of recording single unit activity from the mouse cortex. This technology enables stable, chronic recordings within a behaving animal. One primary motivation of developing this technology is to study adaptive learning and skill acquisition within the mouse model. We aim to create a BCI neuroprosthetic task that reads in spiking activity from neurons to control a visual cursor. As the mouse moves the cursor, it receives feedback whether the movement is correct or not. As we train the mouse within this specific paradigm of “driver neurons”, learning is reinforced. What we are particularly interested in is how neurons respond to changes in BCI control. During the task, we will change the algorithm of the decoder to switch which neurons are responsible for driving the cursor. During this, we will monitor both with our flexible probes and with optical physiology using 2 photon imaging. We hope to uncover how adaptive behavior in learning is driven across brain areas during a BCI task paradigm shift.
There are so many directions this project can take at Brainhack, as we have built our technology of the flexible probes, but not a decoder. We are first interested in developing a post-processed decoder that simply takes filtered, amplified spiking units and drives a cursor towards or away from a target. We are also interested in using raw LFP to drive the cursor, and to test a variety of methods to reduce the high dimensional electrophysiological data set to simplify analysis. The next item of interest is creating an algorithm for decoding neural signals that can randomly shift to a new selection of cells on the probe to control the cursor. This can be done by a variety of methods, but the simplest is likely using a spike train method to drive the task. The second, and harder, priority is the implementation of a “live” decoder using the data acquisition system we currently use in the lab. As opposed to using post-processed spikes, this method will have to use the raw signal and update the position of the cursor while the mouse is performing the task.
Link to project repository/sources
https://github.com/BobbyLi123/Gonzales-Lab-Cursor-Control-Software.git
Concerete goals with specific tasks for Brainhack Vanderbilt 2025
Given the state of this project is quite early on in its development, there are a multitude of ways it could be developed in Brainhack, the choice is yours! I have outlined a couple goals, but as people find different components of the project interesting or exciting I encourage them to run with it.
These goals are not in any particular order and absolutely do not all need to be completed. Again, as participants are interested in different goals they are more than welcome to explore them further.
- Develop probabilistic decoding algorithm using the spike train number of pre-recorded cells to drive the control of 1D cursor based on the activity of neurons. Our lab already has a barebones version of this decoder running in Python with a sample recording, although we would like to expand this algorithm and test on Neuropixels recordings, or some of our own samples that have been spike sorted.
- Test other probabilistic methods such as instantaneous rate code or temporal correction, and incorporate them into the decoder.
- Create a task “switcher” component of the algorithm that will change which cells/parameters contribute to control of the cursor during the task.
Good first issues
-
Issue one: Retrieve raw recording from IBL and read into viewer. Reformat data as needed to be configured for current version of BCI controller.
-
Issue two: Implement different versions of decoding apart from spike train into current version of BCI controller in Python.
-
Issue three: Use OpenEphys to read in Gonzales Lab recordings and feed into current version of BCI controller in Python.
Skills
- Python: intermediate
- MATLAB: beginner to intermediate
- Git: basic
Onboarding documentation
https://github.com/BobbyLi123/Gonzales-Lab-Cursor-Control-Software/blob/main/README.md
What will participants learn?
- Dimensionality reduction methods of neurophysiological recordings, and subsequently extracting features of interest from latent space.
- Utilize different methods of probabilistic decoding to control cursor movement.
Public data to use
Combination of in-lab flex electrode recordings from 32 channel probes and open source raw recordings from Neuropixels, both in mice.
https://github.com/int-brain-lab/viewephys - IBL program for loading and viewing raw LFP data recorded from Neuropixels probes
https://rdr.ucl.ac.uk/articles/dataset/Recording_with_a_Neuropixels_probe/25232962/1 - single Neuropixels probe recording
Number of collaborators
2
Credit to collaborators
Project contributors will be credited on README. We are open to further collaborations if there is continued interest!
Image
Project Summary
Create neural decoder on neurophysiological data to study adaptive changes in learning.
Type
coding_methods, method_development, pipeline_development
Development status
0_concept_no_content
Topic
neural_decoding, PCA
Tools
other
Programming language
Matlab, Python
Modalities
Neurophysiology
Git skills
1_commit_push
Anything else?
No response
Things to do after the project is submitted and ready to review.
- Add a comment below the main post of your issue saying:
Hi @brainhack-vandy/project-monitors my project is ready!

