gitmyhub

dance

Python ★ 30 updated 23d ago

Dance is an end-to-end framework that detects and classifies events in EEG signals. In a single forward pass, it extracts a set of events directly from the raw, unaligned recording.

A Meta AI research library that automatically finds and labels meaningful moments in raw EEG brain recordings using a neural network, covering P300 brain responses, imagined hand movements, and seizure events without manual preprocessing.

PythonPyTorchSLURMsetup: hardcomplexity 4/5

DANCE is a research tool from Meta's AI research team for automatically finding and labeling specific moments in brain activity recordings. These recordings, called EEG, measure the electrical signals produced by the brain through sensors placed on the scalp. EEG data is a continuous stream, and identifying the precise moments where a meaningful event occurs, such as the brain responding to a visual stimulus or the start of a seizure, normally requires manual annotation or complex preprocessing. DANCE is designed to skip those preprocessing steps and work directly from the raw signal.

The system processes a window of raw EEG data in a single pass through a neural network and outputs a list of predicted events, each with a start time, an end time, and a category label. The approach borrows techniques originally developed for detecting objects in images and adapts them for time-series brain data. Three types of tasks are demonstrated in the README: detecting when a brain responds to a particular visual target (a P300 response), classifying imagined hand movements, and identifying seizure events. Performance numbers for all three are included.

The codebase is packaged as a Python library that researchers can install and use with their own datasets. Three example datasets are provided and can be run with a single command to verify the setup. Adding a new dataset mostly requires writing a small configuration file rather than modifying the model code. Training on large datasets can be dispatched to a computing cluster using a common job scheduling system called SLURM, or run locally on a single machine with a flag change.

This is academic research software published alongside a paper. It is intended for neuroscience and brain-computer interface researchers rather than general users.

Where it fits