OSCR

The Brain, Body, and Behavior Dataset (BBBD): Multimodal Recordings during Educational Videos.

Code ↔ Paper

19 matches between paragraphs of the paper and lines of its authors' code, computed by the harvester (lexical-v1). Click a colored paragraph or line to see its counterpart.

The 19 matches
  1. [1] § Methods › Signal acquisition › Recording and preprocessing of EEG ↔ data-reformatting/bids/raw/bbbd_123_raw_eeg.m, lines 192–238 · score 0.89 · notch filtered, low pass filtering, high pass filtered, ActiveTwo, EEG channels, raw EEG
  2. [2] § Methods › Signal acquisition › Recording and preprocessing of EEG ↔ data-reformatting/bids/raw/bbbd_45_raw_eeg.m, lines 227–274 · score 0.88 · notch filtered, low pass filtering, high pass filtered, ActiveTwo, EEG channels, raw EEG
  3. [3] § Background & Summary ↔ data-preprocessing/postprocessEyelinkData.m, lines 1–60 · score 0.78 · fixation rate, head position, gaze position, blink rate, saccade rate, horizontal
  4. [4] § Methods › Signal acquisition › Recording and preprocessing of ECG ↔ data-reformatting/bids/raw/bbbd_123_raw_eeg.m, lines 192–238 · score 0.73 · notch filtered, high pass filtered, ActiveTwo, cutoff, BioSemi, MATLAB
  5. [5] § Methods › Signal acquisition › Recording and preprocessing of ECG ↔ data-reformatting/bids/raw/bbbd_45_raw_eeg.m, lines 227–274 · score 0.71 · notch filtered, high pass filtered, ActiveTwo, cutoff, BioSemi, ECG
  6. [6] § Methods › Signal acquisition › Recording and preprocessing of gaze position, head position, and pupil size ↔ data-preprocessing/preprocessEyelinkData.m, lines 1–54 · score 0.69 · EyeLink, head movements, Gaze position, preprocessing, pupil
  7. [7] § Methods › Signal acquisition › Recording and preprocessing of gaze position, head position, and pupil size ↔ data-reformatting/bids/raw/bbbd_123_raw_eye_heart.m, lines 141–189 · score 0.62 · camera sensor pixels, millimeters, distance, Head, signals, eye
  8. [8] § Methods › Signal acquisition › Recording and preprocessing of gaze position, head position, and pupil size ↔ data-reformatting/bids/raw/bbbd_45_raw_eye_heart.m, lines 177–225 · score 0.62 · camera sensor pixels, millimeters, distance, Head, signals, eye
  9. [9] § Methods › Signal acquisition › Recording and preprocessing of gaze position, head position, and pupil size ↔ data-preprocessing/postprocessEyelinkData.m, lines 1–60 · score 0.61 · head movements, Gaze position, EyeLink, pupil, preprocessing
  10. [10] § Methods › Signal acquisition › Recording and preprocessing of respiration ↔ data-reformatting/bids/raw/bbbd_123_raw_eye_heart.m, lines 214–260 · score 0.60 · BioSemi, belt worn, Respiration signal, tension, chest
  11. [11] § Methods › Signal acquisition › Recording and preprocessing of respiration ↔ data-reformatting/bids/raw/bbbd_45_raw_eye_heart.m, lines 250–296 · score 0.60 · BioSemi, belt worn, Respiration signal, tension, chest
  12. [12] § Technical Validation › Gaze, saccades, blinks and fixations ↔ data-preprocessing/preprocessEyelinkData.m, lines 1–54 · score 0.59 · eye movement, gaze position, detection, saccade, blink
  13. [13] § Technical Validation › EEG ↔ figures-reproduction/figures-paper.ipynb, lines 32–158 · score 0.55 · power spectral density, occipital, frontal, EEG
  14. [14] § Methods › Procedure ↔ data-reformatting/bbbd_generate_bids_descriptors.m, lines 110–124 · score 0.54 · Institutional Review Boards, City University, approval, York
  15. [15] § Background & Summary ↔ data-reformatting/bids/derived/bbbd_45_derived_discrete.m, lines 1–132 · score 0.52 · breath peak, demographics, timestamps, fixations, saccades, blinks
  16. [16] § Technical Validation › EEG ↔ figures-reproduction/figures-paper.ipynb, lines 160–206 · score 0.52 · Power Spectral Density, SEM, log, band, alpha, EEG
  17. [17] § Methods › Signal acquisition › Recording and preprocessing of gaze position, head position, and pupil size ↔ data-preprocessing/preprocessEyelinkData.m, lines 105–146 · score 0.52 · finding outliers, IQR, median, artifacts, filter, Blinks
  18. [18] § Data Records › Data organization ↔ data-reformatting/bbbd_generate_bids_descriptors.m, lines 60–106 · score 0.50 · digit span scores, ASRS, phenotype, tsv, BIDS, reformatted
  19. [19] § Methods › Signal acquisition › Recording and preprocessing of EEG ↔ data-preprocessing/preprocessEEGdata.m, lines 199–276 · score 0.50 · neighboring electrodes, interquartile, Outliers, median, preprocessing

Paper

Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC

The paper is loaded when this pane is shown.

The authors' code

MATLAB · 258 lines · 11 KB · no license · 3 matches

  1. function [data,metadata,idx_missing_data] = preprocessEyelinkData(data,timestamps,metadata,options)
  2. % [data,metadata,data_nan] = preprocessEyelinkData(data,timestamps,metadata,options)
  3. %
  4. % data (samples x modality) : eye link data matrix containing a column per measurement e.g. horizontal, vertical eye movements, pupil and head movements
  5. % timestamps (samples x 1) : column vector with timestamps for each sample
  6. %
  7. % metadata.blinks.timestamps_edf (#blinks x 2): contains a two column
  8. % vector with start and end sample numbers of each blink. This function takes that
  9. % as input and potentially adds more rows if it finds more blinks.
  10. %
  11. % options: this has grown conciderably, check calling function
  12. % mainPupilClean to see an overview.
  13. %
  14. % options.doVisualization = 1 % if you want to see something
  15. %
  16. % jmad/jenma 2022
  17. % jmad/jenma 2025 (updated)
  18. if ~isfield(options,'fs_eyeheadtracking')
  19. options.fs_eyeheadtracking = 1/(mean(diff(timestamps))/1000);
  20. fprintf('No sampking frequency specifief for data etting to %dHz\n',options.fs_eyeheadtracking)
  21. end
  22. fs = options.fs_eyeheadtracking;
  23. % eye tracking extension of blinks (we usually see the onset and offset of blinks detected by the eyelink 1000 to result unreliable detection of
  24. % gaze position and pupil size. We could maybe use saccade data to do this more reliably in the future
  25. buffer_eye_ms = options.buffer_eye_ms; % time on each side of a blink to nan out for eye tracking data (measured in ms)
  26. buffer_eye_samples = round((buffer_eye_ms/1000)*fs); % buffer in samples
  27. % pupil size extension of blink interpolation period
  28. buffer_pupil_ms = options.buffer_pupil_ms; % time on each side of a blink to nan out for pupil data (measured in ms)
  29. buffer_pupil_samples = round((buffer_pupil_ms/1000)*fs); % buffer in samples
  30. % for each EyeLink EDF files these indices might change. Please update according to your specific recording
  31. if size(data,2)>3
  32. idx_eyes = 1:2;
  33. idx_pupil = 3;
  34. idx_resolution = 4:5;
  35. idx_head = 6:8;
  36. end
  37. % this is to keep track of missing data in each of the modalities measured by the eyelink 1000
  38. idx_missing_data.all = false(size(timestamps));
  39. for iMissing = 1:size(metadata.missing_data.sampleidx_edf,1)
  40. idx_missing_data.all(metadata.missing_data.sampleidx_edf(iMissing,1):metadata.missing_data.sampleidx_edf(iMissing,2)) = true;
  41. end
  42. idx_missing_data.eye = idx_missing_data.all;
  43. idx_missing_data.pupil = idx_missing_data.all;
  44. mask_eye = idx_missing_data.all;
  45. mask_pupil = idx_missing_data.all;
  46. %% find blinks and set them to NaN
  47. if options.doBlinkRemoval
  48. fprintft('Removing blinks from eye tracker')
  49. for ii = 1:size(metadata.blinks.timestamps_edf,1)
  50. % Get start and end times of blink
  51. time_blink_start = metadata.blinks.timestamps_edf(ii,1);
  52. time_blink_end = metadata.blinks.timestamps_edf(ii,2);
  53. % Get index for start and end of blink
  54. [~,idx_blink_start] = min(abs(timestamps(:,1) - time_blink_start));
  55. [~,idx_blink_end] = min(abs(timestamps(:,1) - time_blink_end));
  56. % blink length (keep metadata about blinks)
  57. metadata.blinks.duration_samples(ii,1) = length(idx_blink_start:idx_blink_end);
  58. metadata.blinks.duration_time(ii,1) = length(idx_blink_start:idx_blink_end)/fs;
  59. % extend with buffer_samples on each side of blink (eye movements)
  60. idx_blink_eye_start = max(1,idx_blink_start-buffer_eye_samples);
  61. idx_blink_eye_end = min(length(data),idx_blink_end+buffer_eye_samples);
  62. % extend with buffer_samples on each side of blink (pupil size)
  63. idx_blink_pupil_start = max(1,idx_blink_start-buffer_pupil_samples);
  64. idx_blink_pupil_end = min(length(data),idx_blink_end+buffer_pupil_samples);
  65. % fill eye movemetns with nans
  66. mask_eye(idx_blink_eye_start:idx_blink_eye_end,1) = true;
  67. % fill pupil size with nans
  68. mask_pupil(idx_blink_pupil_start:idx_blink_pupil_end,1) = true;
  69. if rem(ii,50)==0
  70. fprintf('.')
  71. end
  72. end
  73. end
  74. fprintf('done\n')
  75. %% do closing operation on mask to remove small spurious outliers
  76. if options.imclose_pupil>0
  77. SE = strel("rectangle",[round(options.imclose_pupil*fs) 1]);
  78. mask_pupil = imclose(mask_pupil,SE);
  79. end
  80. % what is missing now?
  81. idx_missing_data.eye(:,end+1) = any(mask_eye,2);
  82. idx_missing_data.pupil(:,end+1) = any(mask_pupil,2);
  83. %% detect outliers in pupil signal (negative outliers are likely blinks,
  84. %% possitive outliers are likely imagine artefacts) and extend detected to the left and right
  85. if isfield(options, 'doBlinkArtefactRemoval') && options.doBlinkArtefactRemoval
  86. Nsamples = size(data,1);
  87. % only operate on valid samples
  88. idx_valid = ~isnan(data(:,idx_pupil));
  89. data_pupil_valid = data(idx_valid,idx_pupil);
  90. % find outliers
  91. k = 4; % really only extreem outliers
  92. d = data_pupil_valid - medfilt1(data_pupil_valid,round(fs*options.filter_length_mfd_pupil),'truncate'); % deviation from median
  93. mask_positive = d>k*iqr(d);
  94. mask_negative = d<-k*iqr(d);
  95. mask_blinks = false(Nsamples,1);
  96. mask_artifacts = false(Nsamples,1);
  97. clear data_pupil_valid
  98. % mark outlies as missing (in addition to what is already marked from the edf file)
  99. mask_blinks(idx_valid) = mask_negative;
  100. mask_artifacts(idx_valid) = mask_positive;
  101. % set even and odd index if either is set, so as to catch NaN from the upsampling
  102. if mod(find(mask_blinks,1),2)==0
  103. mask_blinks(1:2:end-1) = mask_blinks(1:2:end-1) | mask_blinks(2:2:end);
  104. mask_artifacts(1:2:end-1) = mask_artifacts(1:2:end-1) | mask_artifacts(2:2:end);
  105. else
  106. mask_blinks(2:2:end) = mask_blinks(1:2:end-1) | mask_blinks(2:2:end);
  107. mask_artifacts(2:2:end) = mask_artifacts(1:2:end-1) | mask_artifacts(2:2:end);
  108. end
  109. % finding start and stop of outlier data
  110. d_blinks = diff([0; mask_blinks(1:end-1); 0]); % add zero at begin/end in case that is also bad data
  111. metadata.blinks.timestamps_edf_additional = timestamps([find(d_blinks>0) find(d_blinks<0)]);
  112. d_artifacts = diff([0; mask_artifacts(1:end-1); 0]); % add zero at begin/end in case that is also bad data
  113. metadata.artifacts.timestamps_edf = timestamps([find(d_artifacts>0) find(d_artifacts<0)]);
  114. metadata.artifacts.duration_time = metadata.artifacts.timestamps_edf(:,2) - metadata.artifacts.timestamps_edf(:,1);
  115. timestamps_artifact_blinks = [metadata.blinks.timestamps_edf_additional; metadata.artifacts.timestamps_edf];
  116. %% remove the artifacts and blinks
  117. fprintft('Removing additional blinks/artifacts from eye tracker')
  118. for ii = 1:size(timestamps_artifact_blinks,1)
  119. % Get start and end times of blink
  120. time_blink_artifact_start = timestamps_artifact_blinks(ii,1);
  121. time_blink_artifact_end = timestamps_artifact_blinks(ii,2);
  122. % Get index for start and end of blink
  123. [~,idx_blink_artifact_start] = min(abs(timestamps(:,1) - time_blink_artifact_start));
  124. [~,idx_blink_artifact_end] = min(abs(timestamps(:,1) - time_blink_artifact_end));
  125. % fill pupil size with nans
  126. mask_pupil(idx_blink_artifact_start:idx_blink_artifact_end,2) = true;
  127. if rem(ii,50)==0
  128. fprintf('.')
  129. end
  130. end
  131. end
  132. %% combine all masks
  133. mask_eye = any(mask_eye,2);
  134. mask_pupil = any(mask_pupil,2);
  135. % what is missing now?
  136. idx_missing_data.eye(:,end+1) = any(mask_eye,2);
  137. idx_missing_data.pupil(:,end+1) = any(mask_pupil,2);
  138. %% replace missing data with NaNs
  139. data(mask_eye,idx_eyes) = NaN;
  140. data(mask_pupil,idx_pupil) = NaN;
  141. %% get timestamps of all the interpolated/missing data
  142. d_interpolated_pupil = diff([0; mask_pupil(1:end-1); 0]); % add zero at begin/end in case that is also bad data
  143. d_interpolated_eye = diff([0; mask_eye(1:end-1); 0]); % add zero at begin/end in case that is also bad data
  144. metadata.interpolated_eye.timestamps_edf = timestamps([find(d_interpolated_eye>0) find(d_interpolated_eye<0)]);
  145. metadata.interpolated_pupil.timestamps_edf = timestamps([find(d_interpolated_pupil>0) find(d_interpolated_pupil<0)]);
  146. %% fill in nans with linearly interpolated data
  147. if options.doBlinkInterpolation
  148. % take all the NaNs and use interpolation to fill in to values
  149. data(:,idx_eyes) = fillmissing(data(:,idx_eyes),options.interpolation_method,'EndValues','nearest');
  150. end
  151. if options.doBlinkInterpolation
  152. % take all the NaNs and use interpolation to fill in to values
  153. data(:,idx_pupil) = fillmissing(data(:,idx_pupil),options.interpolation_method,'EndValues','nearest');
  154. end
  155. % head
  156. data(:,idx_head) = fillmissing(data(:,idx_head),options.interpolation_method,'EndValues','nearest');
  157. if options.doVisualization
  158. datanames = {'eye_x','eye_y','pupil'};
  159. Ts = 1/options.fs_eyeheadtracking;
  160. Nsec = Ts*size(data,1);
  161. timeaxis = 0:Ts:Nsec-Ts;
  162. figure('Name','After blink correction','units','normalized','outerposition',[0 0 1 1])
  163. for iCord = 1:3
  164. subplot(3,1,iCord)
  165. plot(timeaxis,data(:,iCord),'k'), hold on
  166. if size(idx_missing_data.pupil,2)==3
  167. tmp = nan(size(data,1),1); tmp(idx_missing_data.pupil(:,3))=data(idx_missing_data.pupil(:,3),iCord); plot(timeaxis,tmp,'b'), hold on
  168. end
  169. tmp = nan(size(data,1),1); tmp(idx_missing_data.pupil(:,2))=data(idx_missing_data.pupil(:,2),iCord); plot(timeaxis,tmp,'r'), hold on
  170. tmp = nan(size(data,1),1); tmp(idx_missing_data.pupil(:,1))=data(idx_missing_data.pupil(:,1),iCord); plot(timeaxis,tmp,'g'), hold off
  171. xlim([min(timeaxis) max(timeaxis)])
  172. title(datanames{iCord})
  173. set(gca,'Position',get(gca,'Position') + [-0.11 -0.0 0.2 0.0])
  174. end
  175. figure
  176. plot(timeaxis,data(:,3),'k'), hold on
  177. end
  178. %% filter the eye tracking data to remove spurious blinks
  179. no_taps_eye = round(fs*options.filter_length_eye);
  180. if no_taps_eye>0
  181. data(:,idx_eyes) = medfilt1(data(:,idx_eyes)-data(1,idx_eyes),no_taps_eye)+data(1,idx_eyes);
  182. end
  183. %% filter the pupil data to remove spurious blinks
  184. no_taps_pupil = round(fs*options.filter_length_pupil);
  185. if no_taps_pupil>0
  186. data(:,idx_pupil) = medfilt1(data(:,idx_pupil)-data(1,idx_pupil),no_taps_eye)+data(1,idx_pupil);
  187. end
  188. %% filter the head movement data to remove spurious movement
  189. no_taps_head = round(fs*options.filter_length_head);
  190. if no_taps_head>0
  191. data(:,idx_head) = medfilt1(data(:,idx_head)-data(1,idx_head),no_taps_head)+data(1,idx_head);
  192. end
  193. %% remove initial sample offsets in data
  194. if data(1,1)~=mean(round(data(fs*0.1,1)))
  195. data(1:5,:) = NaN;
  196. data = fillmissing(data,'linear','EndValues','extrap');
  197. end
  198. fprintf('done\n')
  199. %% check if nan painting succeeded
  200. if any(isnan(data(:)))
  201. error('NaNs not cleaned')
  202. end

preprocessEyelinkData.m at commit 5109afa, no license · at the source

Overview

Authors: Jens Madsen1, Nikhil Kuppa1, Lucas C. Parra1
  1. Department of Biomedical Engineering, City College of New York,85 St. Nicholas Terrace, New York, NY 10031 USA
Institutions: City College of New York (United States)
Journal: Scientific data, volume 13, issue 1, article 920
Dates: received 16 February 2025; accepted 2 April 2026; published online 21 April 2026
Type: Data paper · Language: English
License: CC BY
Identifiers: DOI 10.1038/s41597-026-07215-1 · PMID 42014748 · PMCID PMC13284221 · OpenAlex W4410075646
Open access: gold, a free copy (OpenAlex)
Status: code verified
Categories: EEG (modality), other (modality), human (organism), methods / tools (subfield)
Methods: Spectral & time-frequency, Preprocessing, Connectivity, Smoothing, state filtering, decompositions, Statistics, fMRI & imaging, Evoked potentials, Physiology & signal measures
Keywords: Attention, Human behaviour, Neurophysiology, Learning and memory
MeSH: Brain*, Adult, Attention, Blinking, Electrocardiography, Electroencephalography, Electrooculography, Female, Humans, Learning, Memory, Short-Term, Pupil, Saccades, Video Recording (* major topic)
Journal subjects: Data Descriptor
Topic: Diverse Music Education Insights (Music, Arts and Humanities), according to OpenAlex
Funding: NSF (DRL-1660548, DRL-2201835)
Citations: cited by 1 paper (Europe PMC); 47 references in the paper

Abstract

The brain, body, and behavior dataset (BBBD) provides multimodal recordings from 178 participants across five experiments in which short educational videos were viewed. The dataset contains about 110 hours of electroencephalogram (EEG), electrooculogram (EOG), electrocardiogram (ECG), respiration, pupil size, gaze position, saccades, blinks, fixations, and head-motion signals, all time-aligned to the video and standardized in the Brain Imaging Data Structure (BIDS) format. Participants watched three to six videos (mean = 28 ± 5 min) under conditions that manipulated attention (attentive versus distracted), learning goals (incidental versus intentional), and motivation (monetary incentive). Demographic data, Adult ADHD Self-Report Scale (ASRS) scores, and digit-span working-memory assessments are included. Technical validation shows expected effects: higher alpha-band power during distraction, a posterior-to-anterior gradient in EEG power, increased blink rate, and reduced saccade rate when attention was diverted. Approximately 97 percent of the continuous signal data are newly released. BBBD enables investigation of how neural, ocular, and physiological dynamics relate to attention and learning during naturalistic video viewing.

Reproduced under the paper's license (CC BY), from the paper cited above.

Repository

Its files are read in the Code ↔ Paper reader above, with 19 matches between paragraphs and lines of code.

madjens/bbbd-dataset

License: none: the authors keep all their rights
State: the link answers, verified on 29 September 2026
Evidence: files inventoried
Commit: 5109afa0fd70c407b869108106f5808c6b0cc33c, 23 September 2026
Languages: MATLAB (24), Python (1), Jupyter (1)
Size: 65 files, 26 scripts
Software Heritage: not archived
Found in: “Code availability”
Holds: README, 1 notebook
Not found: license file, CITATION.cff, environment file, tests, continuous integration, documentation
Tools: EEGLAB (5 files), Signal Processing Toolbox (5 files), Statistics and Machine Learning Toolbox (2 files), Image Processing Toolbox (1 file), Matplotlib (1 file), MNE-Python (1 file), NumPy (1 file), pandas (1 file), SciPy (1 file), seaborn (1 file)
Availability: 1 check, the latest on 29 September 2026: the link answers
  • 29 September 2026: the link answers
27 files

Code availability

We have released the code to reproduce the figures shown in this manuscript, convert the data into BIDS format and preprocess the raw signals in the following github repository: https://github.com/madjens/bbbd-dataset. We also released the code to download the datasets using either Python or MATLAB.

Reproduced under the paper's license (CC BY), from the paper cited above.

Tracing map

Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.

What the map holds:

  • 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
  • 26 scripts, each with its path and the digest of its content;
  • 19 matches between paragraphs of the paper and lines of the code (method lexical-v1);
  • neither the text of the paper nor the code itself.

Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.

Data

Datasets cited

Data availability

The Brain, Body, and Behavior Dataset (BBBD) is publicly available through Zenodo30 (10.5281/zenodo.19241964) and through the International Neuroimaging Data-Sharing Initiative (INDI)31 (10.15387/fcp_indi.retro.bbbd). The dataset includes neural, physiological, and behavioral data in BIDS format, together with accompanying metadata and documentation.

Reproduced under the paper's license (CC BY), from the paper cited above.

Versions

The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.

Version 1, 29 September 2026: the first record

Recorded: type, language, journal, volume, issue, pages, dates, 3 authors, 4 keywords, 14 MeSH terms, 1 funder, 45 references.

Cite

This paper

Madsen, J., Kuppa, N., & Parra, L. C. (2026). The Brain, Body, and Behavior Dataset (BBBD): Multimodal Recordings during Educational Videos. Scientific data, 13(1), 920. https://doi.org/10.1038/s41597-026-07215-1

BibTeX

@article{madsen2026brain,
author = {Madsen, Jens and Kuppa, Nikhil and Parra, Lucas C.},
title = {{The Brain, Body, and Behavior Dataset (BBBD): Multimodal Recordings during Educational Videos}},
journal = {Scientific data},
year = {2026},
month = apr,
volume = {13},
number = {1},
pages = {920},
publisher = {Nature Publishing Group},
issn = {2052-4463},
doi = {10.1038/s41597-026-07215-1},
url = {https://doi.org/10.1038/s41597-026-07215-1},
pmid = {42014748},
pmcid = {PMC13284221}
}

RIS

TY - JOUR
AU - Madsen, Jens
AU - Kuppa, Nikhil
AU - Parra, Lucas C.
TI - The Brain, Body, and Behavior Dataset (BBBD): Multimodal Recordings during Educational Videos
T2 - Scientific data
J2 - Sci Data
PY - 2026
DA - 2026/04/21
VL - 13
IS - 1
SP - 920
SN - 2052-4463
PB - Nature Publishing Group
DO - 10.1038/s41597-026-07215-1
UR - https://doi.org/10.1038/s41597-026-07215-1
LA - en
ER -

CSL-JSON

{
"id": "10.1038/s41597-026-07215-1",
"type": "article-journal",
"title": "The Brain, Body, and Behavior Dataset (BBBD): Multimodal Recordings during Educational Videos",
"container-title": "Scientific data",
"author": [
{
"family": "Madsen",
"given": "Jens"
},
{
"family": "Kuppa",
"given": "Nikhil"
},
{
"family": "Parra",
"given": "Lucas C."
}
],
"container-title-short": "Sci Data",
"volume": "13",
"issue": "1",
"page": "920",
"DOI": "10.1038/s41597-026-07215-1",
"PMID": "42014748",
"PMCID": "PMC13284221",
"ISSN": "2052-4463",
"publisher": "Nature Publishing Group",
"URL": "https://doi.org/10.1038/s41597-026-07215-1",
"language": "en",
"issued": {
"date-parts": [
[
2026,
4,
21
]
]
}
}

The tracing map gets a citation of its own once an author has validated it and it has a DOI.

Similar papers

The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.

[1] doi:10.1038/s41597-025-06397-4 [code]
MEG-SCANS - A comprehensive magnetoencephalography speech dataset with Stories, Chirps and Noisy Sentences
Journal: n/a
In common: MNE-Python, Signal Processing Toolbox, Statistics and Machine Learning Toolbox, 4 other tools, methods / tools, 4 references
[2] doi:10.1038/s41597-025-05174-7 [code]
A large-scale MEG and EEG dataset for object recognition in naturalistic scenes
Journal: n/a
In common: MNE-Python, Image Processing Toolbox, seaborn, 4 other tools, methods / tools, EEG, 3 references
[3] doi:10.1016/j.isci.2026.116586 [code]
Condition-specific neural signatures of reactivation during post-retrieval rest: An EEG study.
Journal: iScience
In common: EEGLAB, MNE-Python, Image Processing Toolbox, 7 other tools, EEG, 1 reference
[4] doi:10.1038/s41597-026-07146-x [code]
Intention-Action Conflict EEG-Hand Kinematics Dataset for Unimanual Control under Congruent and Incongruent Conditions.
Journal: Scientific data
In common: EEGLAB, MNE-Python, Signal Processing Toolbox, 4 other tools, other, methods / tools, EEG, 2 references
[5] doi:10.2196/80286 [code]
At-Home Sleep Electroencephalography Assessment in Young and Older Adults Using a Novel Wireless Soft Electronics Sleep Monitoring System: Experimental Study.
Journal: JMIR formative research
In common: EEGLAB, MNE-Python, Signal Processing Toolbox, 6 other tools, other, methods / tools, EEG
[6] doi:10.1038/s41593-026-02258-4 [code]
Laminar organization of cellular microcircuits modulating human interictal epileptiform discharges.
Journal: Nature neuroscience
In common: MNE-Python, Image Processing Toolbox, Signal Processing Toolbox, 6 other tools, EEG, 1 reference
[7] doi:10.7554/elife.107088 [code]
Development of auditory and spontaneous movement responses to music over the first postnatal year.
Journal: eLife
In common: EEGLAB, MNE-Python, Signal Processing Toolbox, 6 other tools, EEG, 1 reference
[8] doi:10.1162/imag.a.105 [code]
Right posterior theta reflects human parahippocampal phase resetting by salient cues during goal-directed navigation
Journal: n/a
In common: EEGLAB, MNE-Python, Statistics and Machine Learning Toolbox, 5 other tools, EEG, 2 references
[9] doi:10.1162/imag.a.1229 [code]
40 Hz audiovisual stimulation improves sustained attention and related brain oscillations.
Journal: Imaging neuroscience (Cambridge, Mass.)
In common: EEGLAB, Image Processing Toolbox, Signal Processing Toolbox, 6 other tools, EEG
[10] doi:10.1038/s41593-026-02357-2 [code]
Experience reorganizes content-specific memory traces in macaques.
Journal: Nature neuroscience
In common: EEGLAB, Image Processing Toolbox, Signal Processing Toolbox, 6 other tools

Contribute

The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.

Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.

Request its removal

To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).

Discussion, reproductions, activity

Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.

Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.

Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.