Data from: Preparatory encoding of intended movement in human motor cortex and implications for brain-computer interfaces
Data files
Aug 12, 2026 version files 1.54 GB
-
fig1_T11_delay.h5
37.69 MB
-
fig1_T11_move.h5
43.97 MB
-
fig1_T16_delay.h5
58.24 MB
-
fig1_T16_move.h5
67.94 MB
-
fig1_T5_delay.h5
40.25 MB
-
fig1_T5_move.h5
46.95 MB
-
fig1c_T16_delay.h5
56.54 MB
-
fig1c_T16_move.h5
65.96 MB
-
fig2_T11_delay.h5
39.11 MB
-
fig2_T11_move.h5
45.63 MB
-
fig2_T16_delay.h5
57.47 MB
-
fig2_T16_move.h5
67.04 MB
-
fig3_T11_delay.h5
77.87 MB
-
fig3_T11_move.h5
116.78 MB
-
fig3_T16_delay.h5
82.82 MB
-
fig3_T16_move.h5
124.20 MB
-
fig4_T11_delay.h5
47.98 MB
-
fig4_T11_move.h5
95.94 MB
-
fig4_T16_delay.h5
52.80 MB
-
fig4_T16_move.h5
105.57 MB
-
fig5_T11_continuous.h5
32.37 MB
-
fig5_T11_onset.h5
97.45 MB
-
fig5_T11_start_ole.h5
1.91 MB
-
fig5_T11_start.h5
249.92 KB
-
fig5_T16_continuous.h5
19.38 MB
-
fig5_T16_onset.h5
59.57 MB
-
fig5_T16_start_ole.h5
1.72 MB
-
fig5_T16_start.h5
470.47 KB
-
README.md
14.76 KB
Abstract
Over the course of a voluntary movement, motor cortical activity exhibits a transition from preparation to execution, with markedly different activity across these phases. Preparatory activity in particular might be used to improve brain-computer interfaces (BCIs) that harness brain activity to control external assistive devices, for example by anticipating a user’s intended movement trajectory for quick and fluid performance. However, to leverage preparatory activity for clinical BCIs, we must first understand which features of upcoming movements are encoded by preparatory activity in humans. In this work, we collected intracortical recordings from 3 research participants in the BrainGate2 clinical trial to investigate whether diverse features of movement, such as direction, curvature, and distance, are encoded by preparatory activity in the human motor cortex. We first show that preparatory activity is tuned to the direction of upcoming movements, and this tuning is largely preserved across movements with different effectors. Further investigation demonstrated that this preparatory activity is also informative of initial and target directions of curved movement trajectories, and encodes, to a weaker extent, either movement distance or speed. Finally, we present an online control paradigm that leverages preparatory activity to predict movements towards intended directions in advance, yielding rapid, user-initiated control of a computer cursor by human participants. Altogether, these results demonstrate that preparatory activity in the human motor cortex encodes rich features of upcoming movement, highlighting its potential use for high-performance brain-computer interface applications.
Dataset DOI: 10.5061/dryad.brv15dvr9
Mattia Rigotti-Thompson, Samuel R. Nason-Tomaszewski, Payton H. Bechefsky, Alexander Acosta, Nick V. Hahn, Donald T. Avansino, Brice A. Richards, Claire Nicolas, Yahia H. Ali, Jaimie M. Henderson, Leigh R. Hochberg, Nicholas AuYong†, Chethan Pandarinath†
- † denotes co-senior authors
This dataset allows replication of the findings from Rigotti-Thompson et al. 2026, which investigated the encoding of intended movement by preparatory activity in the human motor cortex and evaluated the use of preparatory activity for brain-computer interface control. The data within contains intracortical neural recordings and concurrent task variables from three participants (T5, T11, T16) in the BrainGate2 clinical trial (ClinicalTrials.gov Identifier: NCT00912041). Surface EMG recordings are also included for one participant (T16). All data are de-identified and were collected in accordance with relevant guidelines and protocols.
Description of the data and file structure
Data are grouped into HDF5 (.h5) files tied to the different tasks and participants. Tasks were either open-loop instructed-delay tasks designed to explicitly separate preparatory and execution-related activity, or closed-loop cursor-control tasks used to compare the performance of different control paradigms (driven by preparatory activity versus execution-related activity). Descriptions of each task are listed below (see Rigotti-Thompson et al. 2026 for more details):
| File prefix (corresponding figure from paper) | Participants | Task |
|---|---|---|
fig1 |
T5, T11, T16 | Open-loop instructed-delay/instructed-cued-delay radial-8 task using attempted wrist movements |
fig1c |
T16 | Open-loop instructed-delay radial-4 task using attempted wrist movements with regular and suppressed visuals |
fig2 |
T11, T16 | Open-loop instructed-delay radial-8 task using attempted finger movements |
fig3 |
T11, T16 | Open-loop instructed-delay curved radial-8 task using attempted wrist movements |
fig4 |
T11, T16 | Open-loop instructed-delay Pac-Man task using attempted wrist movements |
fig5 |
T11, T16 | Closed-loop instructed-delay/instructed-cued-delay/no-delay radial-8 task using preparatory control paradigm or optimal linear estimator |
Neural features in the data were obtained from intracortical microelectrode arrays in motor cortex and have been preprocessed as follows:
- Analog band-pass filtered (0.3 Hz to 7.5 kHz, 4th-order Butterworth filter)
- Digitized at 30 kHz (250 nV resolution)
- Linear regression referenced
- Digitally band-pass filtered (250 Hz to 5000 Hz, acausal 4th-order Butterworth filter for
fig1-4files; >250 Hz, acausal 4th-order Butterworth filter with 4 ms delay forfig5files) - Threshold crossings and spike-band power computed
- Binned at 10–20 ms windows
- Smoothed acausally using a Gaussian kernel with σ = 100 ms (
fig1-4files) or causally using exponential smoothing with τ = 28–70 ms (fig5files) - Channels with average firing rates < 2 Hz dropped (
fig1-4files) - z-scored (
fig5files)
fig1-4 files: data aligned to trial events (fig{N}_{P}_{'delay'|'move'}.h5)
These files include trialized data for each participant P, aligned to either the start of the delay period ('delay') or movement period ('move') for each task. One file per task/figure × participant × alignment epoch.
Trial data fields common to all fig1-4 files (the fig4 Pac-Man files carry 1-D start_pos_all / target_pos_all in place of the 2-D start_data_all / target_data_all; see the figure-specific table below):
| Field | Shape | Units | Description |
|---|---|---|---|
spike_data_all |
(trials, bins, chans) | smoothed spikes/bin | Smoothed binned threshold-crossing counts. |
sbp_data_all |
(trials, bins, chans) | a.u. | Smoothed spike-band power, same channels and bins as threshold crossings. |
keep_chans_all |
(chans,) | channel index (0-based) | IDs of electrodes kept inspike_data_all / sbp_data_all (firing rate > 2 Hz). |
cursor_data_all |
(trials, bins, 2) | px | Cursor position through time,[X, Y]. |
target_data_all |
(trials, 2) | px | Target position,[X, Y]. Not present in fig4 files. |
start_data_all |
(trials, 2) | px | Start position,[X, Y]. Not present in fig4 files. |
delay_data_all |
(trials,) | s | Delay duration. |
no_go_bool_all |
(trials,) | 0/1 | 0 = go trial, 1 = no-go (catch) trial. |
trial_duration_data_all |
(trials,) | s | Trial duration. |
block_id_data_all |
(trials,) | integer | Recording block number. |
emg_data_all |
(trials, bins, 2) | a.u. | Surface EMG, 2 channels. T16 only. |
t_data |
(bins,) | ms | Time relative to the alignment event. |
Figure-specific additional fields:
| File | Field | Shape | Units | Description |
|---|---|---|---|---|
fig1c |
gaze_data_all |
(trials, bins, 2) | px | Recorded eye-gaze position,[X, Y]. |
fig1c |
alt_visuals_bool_all |
(trials,) | 0/1 | Visual condition (0 = regular visuals, 1 = suppressed visuals). |
fig3 |
opening_data_all |
(trials, 2) | px | Curved movement task: position of barrier opening,[X, Y]. |
fig4 |
start_pos_all |
(trials,) | px | Pac-Man task: 1-D start position (replacesstart_data_all; 0 for all included trials). |
fig4 |
target_pos_all |
(trials,) | px | Pac-Man task: 1-D target position (replacestarget_data_all). |
fig4 |
move_dist_all |
(trials,) | px | Pac-Man task: movement distance (signed). |
fig4 |
move_speed_all |
(trials,) | px/s | Pac-Man task: cued trajectory speed. |
fig4 |
vert_orientation_all |
(trials,) | 0/1 | Pac-Man task: 1-D axis orientation (0 = horizontal, 1 = vertical). 0 for all included trials. |
fig5 files (1): continuous example block data (fig5_{P}_continuous.h5)
These files include data from one example preparatory control closed-loop block for each participant P, as continuous (non-trialized) streams. Each file has two top-level groups — data/, holding the continuous per-bin signals, and trial_info/, holding per-trial metadata — plus a top-level keep_chans field of shape (chans,), the 0-based indices of the preparatory-decoder channel subset (used by both the move-state onset decoder and the target-direction decoder).
Fields in the data/ group:
| Field | Shape | Units | Description |
|---|---|---|---|
clock_time |
(bins,) | ms | Timestamp per bin, from recording start (bin = 20 ms for T16 / 10 ms for T11). |
neural_data_norm |
(bins, chans) | a.u. (z-scored) | Normalized neural features used by the online decoder (all spike + spiking-band-power channels; the preparatory decoder reads thekeep_chans subset). |
control_samples |
(bins, 2) | px/bin | Decoded cursor control ([X, Y] velocity). |
dec_move_state |
(bins, 1) | probability (0–1) | Online move-state decoder output (movement-onset probability). |
cursor_data |
(bins, 2) | px | Cursor position[X, Y]. |
emg_data |
(bins, 2) | a.u. | Surface EMG. T16 only. |
Fields in the trial_info/ group:
| Field | Shape | Units | Description |
|---|---|---|---|
start_time, go_cue_time, end_time |
(trials,) | ms | Trial-start / go-cue / end times (same base asclock_time); go_cue_time is NaN on no-go trials. |
delay_data |
(trials,) | ms | Instructed delay duration. |
dec_movement_onset_time |
(trials,) | bin index | Decoder movement-onset crossing, as a bin index into the block (-1 if none). |
no_go_bool |
(trials,) | 0/1 | 0 = go trial, 1 = no-go (catch) trial. |
start_data, target_data |
(trials, 2) | px | Trial start / target position[X, Y]. |
fig5 files (2): data aligned to trial start (fig5_{P}_{'start'|'start_ole'}.h5)
These files hold trialized windows aligned to trial start (t = 0). fig5_{P}_start.h5 covers the preparatory control paradigm's evaluation trials; fig5_{P}_start_ole.h5 covers the comparison evaluation trials using optimal linear estimator control. Trial data within each file is NaN-padded to a common length in bins.
Fields common to both files:
| Field | Shape | Units | Description |
|---|---|---|---|
cursor_data_all |
(trials, bins, 2) | px | Cursor position[X, Y]. |
target_true_all |
(trials, 2) | px | Target position[X, Y]. In fig5_{P}_start.h5, NaN on trials with no decoded movement onset (dec_move_onset_bin_all == -1). |
go_bin_all |
(trials,) | bin index | Bin index of the go-cue. |
end_bin_all |
(trials,) | bin index | Bin index of trial end. |
t_data |
(bins,) | ms | Time axis relative to trial start (0 = start). |
Additional fields (fig5_{P}_start.h5 only):
| Field | Shape | Units | Description |
|---|---|---|---|
target_pred_all |
(trials, 2) | px | Decoded target direction[X, Y] at movement onset (for trials with movement onset decoded within the correct range; NaN otherwise). |
start_data_all |
(trials, 2) | px | Reach start position[X, Y] (center; all zeros). |
dec_move_onset_bin_all |
(trials,) | bin index | Bin index of the decoded movement-onset (-1 if none). |
no_go_bool_all |
(trials,) | 0/1 | 0 = go trial, 1 = no-go (catch) trial. |
fig5 files (3): data aligned to decoded movement onset (fig5_{P}_onset.h5)
These files hold trialized windows aligned to the decoded movement onset (t = 0), for each participant P. Trials come from both the training and evaluation blocks of the preparatory activity decoder (as indicated by eval_block_bool_all).
| Field | Shape | Units | Description |
|---|---|---|---|
neural_data_norm_all |
(trials, bins, chans) | a.u. (z-scored) | Normalized neural features (all spike + spiking-band-power channels). |
target_true_all |
(trials, 2) | px | Target position[X, Y]. |
keep_chans_all |
(chans,) | channel index (0-based) | Indices of preparatory decoder channel subset. |
eval_block_bool_all |
(trials,) | 0/1 | 1 = evaluation block, 0 = training block. |
t_data |
(bins,) | ms | Time axis relative to decoded movement onset (0 = onset). |
Code/Software
https://github.com/snel-repo/human-preparatory-activity-paper
Access information
Other publicly accessible locations of the data:
- N/A
Data was derived from the following sources:
- Real-time intracortical recordings
Human subjects data
No personally identifiable information (PII) is included in this dataset. All data are de-identified and participants are referred to only by their study codes (T5, T11, T16). Informed consent for data sharing was obtained.
