Data from: A high-performance brain-computer interface for finger decoding and quadcopter game control in an individual with paralysis
Data files
Oct 03, 2024 version files 181.54 MB
-
FingerDecodingQuadcopterData.zip
181.54 MB
-
README.md
3.05 KB
Abstract
People with paralysis express unmet needs for peer support, leisure activities, and sporting activities. Many within the general population rely on social media and massively multiplayer video games to address these needs. We developed a high-performance finger brain-computer-interface system allowing continuous control of 3 independent finger groups, of which the thumb can be controlled in 2 dimensions, yielding a total of 4 degrees of freedom (DOF). The system was tested in a human research participant over sequential trials requiring fingers to reach and hold on targets, with an average acquisition rate of 76 targets/minute and completion time of 1.58 ± 0.06 seconds – comparing favorably to prior animal studies despite a 2-fold increase in the decoded DOF. More importantly, finger positions were then used to control a virtual quadcopter – the number one restorative priority for the participant – using a novel finger-based brain-computer interface to allow dexterous navigation around fixed- and random-ringed obstacle courses. The data needed for an offline analysis to reproduce the key findings is available here.
README: Data from: A high-performance brain-computer interface for finger decoding and quadcopter game control in an individual with paralysis
https://doi.org/10.5061/dryad.1jwstqk4f
Description of the data and file structure
Finger Decoding and Quadcopter Data
These data are reported in Willsey et al. 2024 and consist of several sessions of finger decoding experiments and one session of Quadcopter data. These data are needed by the code released as part of this manuscript to reproduce the offline analysis presenting the key findings in that manuscript. See the manuscript and the released code for more details.
Files and variables
File: FingerDecodingQuadcopterData.zip
Description:
The main data provided are .mat files contained in subfolders entitled "RedisMat." These files primarily contain the raw data from online finger decoding sessions, although one file contains the position of the quadcopter from a quadcopter session. The variables are:
- Binned spike band data, binnedNeural_hlfp
- Binned redis and xpc timestamps, binnedNeural_redisClock and binnedNeural_xpcClock
- Redis clock data, binned_taskOutput_stream_redis_clock
- Position of the 5 virtual fingers with the first 2 columns denoting each DOF for the thumb and the following 4 columns denoting the position for the other 4 fingers, binned_taskOutput_stream_estimated
- Position of the finger targets, binned_taskOutput_stream_target
- x, y, z are variables in a .mat file for the quadcopter session and denote the position of the quadcopter in 3D space
In subfolders entitled "Decoders," there are .mat files and .pt files. The .pt files are the trained decoding algorithm parameters that can be loaded into the model. In the .mat files, there are three variables:
- mask corresponds to a 1x256 array where channels included in the decoding algorithm are denoted with "1" and channels not included are denoted with "0"
- myMean corresponds to a 1x4 array offset for each decoded DOF that is subtracted from the output of the decoding algorithm
- mySDev corresponds to a 1x4 array; 1/mySDev is a gain value applied to the output of the decoding algorithm after subtracting the offset above
In the OpenLoopData folder, there are .mat files of offline data from one session where the participant attempted to move his fingers in sync with the virtual fingers. These files contain the following variables:
- Binned spike band data, binnedNeural_hlfp, and corresponding Redis timestamps, binnedNeural_redisClock
- Target position for each degree of freedom for each finger, taskOutput_stream_target, and corresponding Redis timestamps, taskOutput_stream_redis_clock
- Stream of data that indicates whether virtual fingers are stationary (a value of 1 or 3) or moving toward their target (a value of 2), taskOutput_stream_hand_color
Code/software
The code needed to run an offline analysis on this data is available on GitHub (see Related Works section).