DOI: 10.5281/zenodo.11396310
title: Attempted Speech on Single Words [intracortical array][T16][BG2]

description: Summary of the Data and Experiment

General Overview

The data provided come from an attempted speech experiment involving a participant (T16) in the BrainGate2 clinical trial. The dataset includes neural recordings from four microelectrode arrays implanted in the left precentral gyrus. The primary focus is on the array located in the ventral precentral gyrus (6v), which is associated with speech-related activity.

Data Description

The neural data consists of three main streams:

1. **Local Field Potential (LFP):**   - **Description:** Broadband extracellular neural data.   - **Sampling Rate:** Preprocessed to 2 kHz.   - **Filtering:** Lowpass filtered with a 1 kHz cutoff frequency.   - **Shape:** 128457x256 (time by channels).

2. **Binned Threshold Crossings:**   - **Description:** Extracellularly collected neural spiking activity related to attempted speech.   - **Shape:** 128457x256 (time by channels).

3. **Spike Band Power (SBP):**   - **Description:** Raw broadband neural data, bandpass filtered from 0.3-1.0 kHz.   - **Shape:** 128457x256 (time by channels).

Preprocessing Information



The data have been normalized and downsampled to 50 Hz

The keys in the .mat file include `trial_info_df`, `lfp_matrix`, `spikes_matrix`, `sbp_matrix`, and `timevector`.


Trial Information

The `trial_info_df` key contains information about each trial in the form of a pandas DataFrame with the following columns:- `block_num`- `cue`- `start_time`- `go_cue_time`- `end_time`

Neural Data Channels

Each data matrix has 256 channels corresponding to different cortical areas:- **PEF:** Channels 0-63- **6v:** Channels 64-127- **Ventral 6d:** Channels 128-191- **Dorsal 6d:** Channels 192-255

Participant and Experiment Information

- **Participant T16:** Right-handed, 52-year-old woman with tetraplegia and dysarthria due to a pontine stroke.- **Implantation:** Four 64-channel intracortical microelectrode arrays in the left precentral gyrus.- **Recording Day:** Data collected 69 days post-implantation.- **Recording Platform:** Backend for Realtime Asynchronous Neural Decoding (BRAND) platform.- **Spiking Data Extraction:** Linear regression referencing, bandpass filtering (250-5000 Hz), and threshold crossings identification (-4.5 RMS threshold).- **LFP Extraction:** Low pass filtering (1000 Hz cutoff), downsampling to 2 kHz, and notch filtering at harmonics of 60 Hz.

Experimental Task

- **Task:** Cued speech task where Participant T16 vocalized words presented on a screen.- **Word Bank:** Compiled from a 50-word vocabulary by Moses et al.- **Trial Structure:**  - A red square appeared below a word.  - After 1500 ms, the square turned green, cueing the participant to vocalize the word.  - The trial ended after the participant finished speaking, with a 1000 ms interval before the next trial.

Loading and Handling the Data

The data can be loaded into Python using `scipy.io.loadmat`. Here's a step-by-step guide to load and explore the data:

Loading the Data



pythonimport scipy.ioimport pandas as pd

# Load the .mat filedata = scipy.io.loadmat('path_to_mat_file.mat')

# Extracting the trial informationtrial_info_df = pd.DataFrame(data['trial_info_df'])trial_info_df.columns = ['block_num', 'cue', 'start_time', 'go_cue_time', 'end_time']

# Extracting neural data matriceslfp_matrix = data['lfp_matrix']spikes_matrix = data['spikes_matrix']sbp_matrix = data['sbp_matrix']

# Extracting time vectortimevector = data['timevector']


Wrapping Trial Information in a DataFrame



trial_info_df = pd.DataFrame(data['trial_info_df'], columns=['block_num', 'cue', 'start_time', 'go_cue_time', 'end_time'])


Exploring the Data

- **Local Field Potential (LFP):** `lfp_matrix`- **Threshold Crossings (Spikes):** `spikes_matrix`- **Spike Band Power (SBP):** `sbp_matrix`- **Time Vector:** `timevector`

Focusing on the 6v Array



# To extract data specifically from the 6v array (channels 64-127):lfp_6v = lfp_matrix[:, 64:128]spikes_6v = spikes_matrix[:, 64:128]sbp_6v = sbp_matrix[:, 64:128]


This overview provides the necessary steps to load, preprocess, and explore the provided neural data for further analysis.