Successful single-session neural self-regulation through neurofeedback varies between features
收藏资源简介:
Data and code from: Successful single-session neural self-regulation through neurofeedback varies between features Dataset DOI: 10.5281/zenodo.18266174 Dataset Overview This repository contains the pre-processed EEG data supporting the findings of the pre-print "Successful single-session neural self-regulation through neurofeedback varies between features" published at bioRxiv with the doi: 10.64898/2026.01.07.698228. The dataset is organized at the single-subject level, provided in MATLAB (.mat) format. Each subject file contains time-frequency resolved data separated by feature, allowing for modular analysis. The data has been pre-processed and downsampled to 100 Hz, resulting in a three-dimensional array structure of 40 × 62 × 19,100 per feature. In addition, we share supporting information, and the code used to reproduce the results in the manuscript. Description of the data and file structure Data and computer code for "Successful single-session neural self-regulation through neurofeedback varies between features" Files and variables File: feedback_sessions.zip Description: The main data file (see below for the complete archived repository including data overviews and computer code). Variables: The feedback_sessions.zip file contains individual neurofeedback files for each participant and session following this formatS(N) + Feature + feedbackPower.mat each file contains the following variables: feedbackPowerASRdB: A three dimensional matrix of the size 40 x 62 x 19,100 corresponding to frequencies 1-40, 62 channels, and, 19,100 samples. nftChanlocs: MATLAB structure that contains the channel names and locations. nftChannels: Vector with indices to the channels which feedback was based on. nftFreqs: Vector with indices to the frequencies which feedback was based on. File: demographics.csv Description: Demographic information about the participants, with the variables: ID, age, gender, handedness, and education. Various files: aggregated_data.zip Description: For convenience, we also provide some of the aggregated data generated by the shared code files in the repository. Software MATLAB (version R2022b) was used for pre-processing of raw EEG data. Analyses were performed with R (version 4.2.1), JOPS package (version 0.1.2), dtwclust package (version 5.5.11), eegUtils package (version 0.4.6), and mgcv package (version 1.9-1). Code Pre-process the raw EEG files finalPreprocessNFT.m Inputs Feature.mat Raw EEG files Outputs S + ID + Feature + avgFeedbackPowerdBASR.mat S + ID + Feature + avgFeedbackPower.mat Dependencies fExtractFeedbackPowerWaveletCompletedB.m extractFeedbackSamples.m # blocks2samples.m # Blocks to sample indices laplacian_perrinX.m # Spatial filter Export averaged EEG power to a text file for further analysis export_EEG_PowerforAnalysis.m Inputs S + ID + Feature + avgFeedbackPowerdBASR.mat Outputs newPipelineAvgPowerdB + Feature + N20ASR.txt Fit B-spline models with V-curve smoothing of power time-series data and compute Bayesian CIs for each participants and feature, save results, especially coefficients, for further analysis smoothV-CurvSplineClustering.R Inputs newPipelineAvgPowerdB + Feature + N20ASR.txt Outputs Feature + CoeffsSmoothV127.rds Feature + FitSmoothV127.rds Cluster the learners clusteringLearners.R Inputs Feature + CoeffsSmoothV127.rds Feature + FitSmoothV127.rds Outputs Feature + Clusters.csv Export averaged EEG power (per feature) for all EEG channels to a text file for further analysis exportAvgNFTbyChannel.m Inputs S + ID + Feature + feedbackPower.mat Outputs S + ID + Feature + NFTbyChannel.txt Model coefficients by cluster with mgcv package (bam), save data for plots with topoplot and trendlines smoothModelsForClustersCoeffsAndToposFINAL.R Inputs Feature + Clusters.csv Feature + NFTbyChannel.txt chanlocs.txt Outputs Feature + CoeffsbyClusters2.csv Feature + ToposbyBlockandClusters2.csv Dependencies flipSMRAmplitudesLaterallyAndEvaluate.R Create plots for each feature displaying topoplots and trendlines for the clusters plotCoeffsandTopoplotsByClusteredData.m Inputs Feature + NFTsettings.mat Feature + Clusters.csv Feature + CoeffsbyClusters2.csv Feature + ToposbyBlockandClusters2.csv Outputs Figure3 + Feature + .png Figure3 + Feature + .svg Create plots for each feature displaying change between first and last block for each frequency band in the controlled channels figureChangeLastblockVsThreshold.R Inputs S + ID + Feature + NFTbyChannelFrequency.txt Feature + Clusters.csv Outputs Feature + FreqBandChangeFINAL2.svg
数据与代码来源:《基于神经反馈的单次会话神经自我调节效果因特征而异》 数据集DOI:10.5281/zenodo.18266174 ## 数据集概述 本仓库包含预处理后的脑电图(EEG,Electroencephalogram)数据,用以支撑发表于生物预印本平台bioRxiv的预印本论文《基于神经反馈的单次会话神经自我调节效果因特征而异》的研究结论,该论文DOI为10.64898/2026.01.07.698228。本数据集按单被试水平组织,以MATLAB(.mat)格式存储。每份被试文件包含按特征划分的时频解析数据,支持模块化分析。数据已完成预处理并降采样至100Hz,每个特征对应尺寸为40×62×19100的三维数组结构。此外,本仓库还附带补充材料与复现论文结果所需的代码。 ## 数据与文件结构说明 本部分对应论文《基于神经反馈的单次会话神经自我调节效果因特征而异》的配套数据与计算机代码说明。 ### 文件与变量 #### 文件:feedback_sessions.zip 说明:核心数据文件(完整归档仓库包含数据概述与计算机代码,详见下文)。 该压缩包内包含所有被试与会话的独立神经反馈文件,命名遵循格式:S(N) + Feature + feedbackPower.mat。每个文件包含以下变量: 1. feedbackPowerASRdB:三维矩阵,尺寸为40×62×19100,分别对应1~40Hz的频率频段、62个脑电通道以及19100个采样点。 2. nftChanlocs:MATLAB结构体,存储脑电通道的名称与位置信息。 3. nftChannels:向量,存储神经反馈所基于的通道索引。 4. nftFreqs:向量,存储神经反馈所基于的频率频段索引。 #### 文件:demographics.csv 说明:存储被试的人口统计学信息,包含变量:ID、年龄、性别、利手性与受教育程度。 #### 其他文件:aggregated_data.zip 说明:为便于使用,本仓库同时提供部分由共享代码生成的聚合数据。 ## 软件说明 原始脑电图数据的预处理使用MATLAB(R2022b版本)完成;数据分析采用R(4.2.1版本)及以下工具包:JOPS(0.1.2版本)、dtwclust(5.5.11版本)、eegUtils(0.4.6版本)与mgcv(1.9-1版本)。 ## 代码说明 ### 1. 原始脑电图数据预处理脚本 finalPreprocessNFT.m - 输入:Feature.mat 原始脑电图文件 - 输出:S + ID + Feature + avgFeedbackPowerdBASR.mat、S + ID + Feature + avgFeedbackPower.mat - 依赖脚本:fExtractFeedbackPowerWaveletCompletedB.m、extractFeedbackSamples.m、blocks2samples.m(用于将区块转换为采样索引)、laplacian_perrinX.m(空间滤波脚本) ### 2. 将平均脑电图功率导出至文本文件以用于后续分析 export_EEG_PowerforAnalysis.m - 输入:S + ID + Feature + avgFeedbackPowerdBASR.mat - 输出:newPipelineAvgPowerdB + Feature + N20ASR.txt ### 3. 基于功率时序数据的V曲线平滑拟合B样条模型,并为每个被试与特征计算贝叶斯置信区间,将分析结果(尤其是模型系数)保存以供后续使用 smoothV-CurvSplineClustering.R - 输入:newPipelineAvgPowerdB + Feature + N20ASR.txt - 输出:Feature + CoeffsSmoothV127.rds、Feature + FitSmoothV127.rds ### 4. 对学习个体进行聚类 clusteringLearners.R - 输入:Feature + CoeffsSmoothV127.rds、Feature + FitSmoothV127.rds - 输出:Feature + Clusters.csv ### 5. 将所有脑电通道的平均脑电图功率(按特征划分)导出至文本文件以用于后续分析 exportAvgNFTbyChannel.m - 输入:S + ID + Feature + feedbackPower.mat - 输出:S + ID + Feature + NFTbyChannel.txt ### 6. 基于mgcv工具包(bam函数)按聚类分组构建模型系数模型,并保存用于绘制脑电地形图与趋势线的数据 smoothModelsForClustersCoeffsAndToposFINAL.R - 输入:Feature + Clusters.csv、Feature + NFTbyChannel.txt、chanlocs.txt - 输出:Feature + CoeffsbyClusters2.csv、Feature + ToposbyBlockandClusters2.csv - 依赖脚本:flipSMRAmplitudesLaterallyAndEvaluate.R ### 7. 为每个特征绘制聚类分组对应的脑电地形图与趋势线 plotCoeffsandTopoplotsByClusteredData.m - 输入:Feature + NFTsettings.mat、Feature + Clusters.csv、Feature + CoeffsbyClusters2.csv、Feature + ToposbyBlockandClusters2.csv - 输出:Figure3 + Feature + .png、Figure3 + Feature + .svg ### 8. 为每个特征绘制受控通道内各频段在首个区块与末个区块间的功率变化图 figureChangeLastblockVsThreshold.R - 输入:S + ID + Feature + NFTbyChannelFrequency.txt、Feature + Clusters.csv - 输出:Feature + FreqBandChangeFINAL2.svg



