Information Needed to Inform Standard(s) Used
The following information is used to determine best practices and what standard(s) to use for your data:
- Modalities: types of data streams (e.g., EEG, kinematic, EMG, audio, video, annotations)
- Metadata: critical information a secondary user would need to interpret values correctly and have sufficient context for the experiment (e.g., sampling rates, channel identity, stimulus timing, events)
- Data Structure: format of the data (e.g., do you have data split into different sections, are they continuous with each other, how does this structure connect to the greater context of the experiment, how are different experimental sessions represented)
- Data Tier: rawness of data you are sharing (e.g., straight off the device, featurized)
There can also be many nuances within the data that should be captured:
- Uniquely formatted data: example: spreadsheets of detailed notes relating to certain experiment sessions
- Exceptions: some recording sessions were not good, some channels were bad, some modalities were not recorded for a particular session
- Long chronic data: does it make sense to split up the chronic data by hour, day, weeks?
Many of these above nuances can impact the logistical details of how data is packaged into a standard. The standardization plan and packaging strategy suited for your data may be informed by how you actually analyze the original data. If your analysis script uses data that has been curated into a single .mat file or .h5 for instance, NWB could be a natural reflection of that. In contrast, if your analysis script pulls in data stored in modality-separated folders, BIDS may fit better.
You can see an example of reproducing analysis (figures) at Example Standardization and Reproducibility using data that was originally in .mat files and converted into NWB.
Relevant Standards
Before formatting your dataset, familiarize yourself with the standards supported by the BBQS Program and the EMBER archive (defined by the BBQS DCAIC Data Standards Working Group) using the BBQS standardization document.
A quick summary relevant to common data modalities is outlined below:
BIDS: Brain Imaging Data Structure
- BIDS specification: Defines folder structure, file naming, file types and metadata conventions for different data types
- BIDS extensions:
- iEEG/EEG
- MEG Data
- BEP 032 (microelectrode extension), used for depth electrodes, microelectrode arrays, and spike/LFP recordings
- BEP 047 (motion, audio, video), used for video recordings (e.g., behavior, eye tracking), audio recordings (speech, environment), and motion capture
NWB: Neurodata Without Borders
- NWB specification, well-suited for spike times, LFP, Rich electrophysiology metadata,general time series, all-in-one file approach, compatible with several analysis and visualization tools.
- NWB in Python (
pynwb) - NWB in MATLAB (
matnwb) - NWB extensions:
- streamlined converters in Python (
neuroconv)
Important
If using NWB files, we recommend the files should still be organized within a BIDS structure.
Data Standardization Recommendation for Animal Data and De-identified Human Data: EMBER-DANDI
Animal Data
COMING SOON
Example 1 - Audio, Video, and pose estimation (SLEAP) in NWB
Example 2 - Audio and Video in BIDS, and pose estimation (SLEAP) in NWB
Example 3 - Multiple animals interacting
De-identified Human Data
COMING SOON
Example 1 - iEEG and motion in NWB
Example 2 - iEEG and motion in hybrid BIDS/NWB
Data Standardization Recommendation for PHI/PII Human Data: EMBER-Vault
This guide walks you through a suggested procedure on how to prepare your dataset for upload using the BIDS standard, with support for common data types such as intracranial recordings, audio/video, and behavioral data, and optional use of NWB files.
This covers:
- The standardization process and examples
- BIDS Standard
- Audio/Video
- Validation
- Common Pitfalls
- Recommended Workflow
1. Standardization Workflow
Preparing your dataset involves three main steps:
Step 1: Organize Files into BIDS Structure
- Create folders and filenames according to BIDS rules
- Convert to allowable filetypes if needed
Step 2: Add Metadata
- JSON sidecars
- TSV files (events, channels, electrodes, etc.)
- Advise to use LinkML to create/describe their metadata. For advanced: point to complete systems like from Juelich
- Advise to use established lab notebook systems to formalize
Step 3: Validate Locally
- Use the dandi-cli (which used the NWB inspector, BIDS Validator (https://bids.neuroimaging.io/tools/validator.html) etc) before uploading.
- Please see the instructions here: https://github.com/dandi/dandi-cli
2. BIDS Standard
2.1. Folder Structure (Core BIDS Template)
BIDS specifies a particular set of folders and file names to organize data:
https://bids.neuroimaging.io/getting_started/folders_and_files/index.html
More examples will be made available at:
Here is a minimal multimodal dataset layout as an example, including iEEG in NWB formats and audio and video files:
my_dataset/
├── dataset_description.json
├── participants.tsv
├── participants.json
├── sub-01/
│ ├── ses-01/
│ │ ├── ieeg/
│ │ │ ├── sub-01_ses-01_task-rest_ieeg.nwb
│ │ │ ├── sub-01_ses-01_task-rest_ieeg.json
│ │ │ ├── sub-01_ses-01_task-rest_channels.tsv
│ │ │ ├── sub-01_ses-01_task-rest_electrodes.tsv
│ │ │ └── sub-01_ses-01_task-rest_events.tsv
│ │ │
│ │ ├── beh/
│ │ │ ├── sub-01_ses-01_task-rest_beh.tsv
│ │ │ └── sub-01_ses-01_task-rest_beh.json
│ │ │
│ │ ├── video/
│ │ │ ├── sub-01_ses-01_task-rest_video.mp4
│ │ │ └── sub-01_ses-01_task-rest_video.json
│ │ │
│ │ └── audio/
│ │ ├── sub-01_ses-01_task-rest_audio.wav
│ │ └── sub-01_ses-01_task-rest_audio.json
2.2. BIDS File Naming Rules
As you go, please be sure to refer to the BIDS examples: https://github.com/bids-standard/bids-examples
BIDS uses structured filenames:
sub-<participant>[_ses-<session>]_task-<task>[_modality]
Examples:
sub-01_ses-01_task-rest_ieeg.nwbsub-01_ses-01_task-speaking_audio.wavsub-01_ses-01_task-walk_video.mp4
2.3. Required Metadata Files for BIDS
2.3.1 dataset_description.json
{
"Name": "Example Multimodal Dataset",
"BIDSVersion": "1.9.0",
"DatasetType": "raw",
"Authors": ["Jane Doe", "John Smith"]
}
2.3.2 participants.tsv
participant_id age sex
sub-01 29 M
sub-02 34 F
2.3.3 iEEG Metadata
channels.tsv
name type units sampling_frequency
chan01 microelectrode uV 30000
electrodes.tsv
name x y z
elec01 12.3 -45.2 30.1
2.3.4 events.tsv
onset duration trial_type
0.0 1.0 stimulus
2.0 1.5 response
2.3.5 Sidecar JSON Example
For an iEEG file:
{
"SamplingFrequency": 30000,
"PowerLineFrequency": 60,
"iEEGReference": "common average",
"TaskName": "rest"
}
2.4. Using NWB within BIDS
If using NWB files within your project, they can be used to represent key time series data within BIDS, such as iEEG.
Recommended approach
- Store electrophysiology data as
.nwbfiles - Keep behavioral, events, and metadata in BIDS sidecars
- Organize the dataset with NWB files within the BIDS structure, getting the best of both worlds
Example:
sub-01_ses-01_task-rest_ieeg.nwb
sub-01_ses-01_task-rest_events.tsv
sub-01_ses-01_task-rest_ieeg.json
When combining these standards, our key recommendations are:
- NWB = data container
- BIDS = dataset organization + metadata standard
3. Audio and Video (BEP047)
Supported formats:
- Video:
mp4,avi - Audio:
wav
Example sidecar:
{
"AudioSampleRate": 48000,
"ManufacturersModelName: "Shure SM7B"
}
For video:
{
"VideoFrameRate": 30,
"ImageWidth": "1920",
"ImageHeight": "1080"
}
4. Validation (Required Before Upload)
Data uploaded to either EMBERVault or EMBER-DANDI must be properly standardized.
Command Line Validation for BIDS (Recommended)
You can find detailed instructions on use of the BIDS validator here:
https://bids.neuroimaging.io/tools/validator.html
IMPORTANT: Keep in mind that some tools such as online validators may send parts of your data outside your local system. It is the job of the Principal Investigator to ensure that all data handling, especially for sensitive human data, is in alignment with existing laws, regulations, and policy, including terms of data sharing as agreed by the human participants through the informed consent process.
https://bids-validator.readthedocs.io/en/latest/user_guide/command-line.html
Install
(Use the Mac Terminal, Linux Command Line, or Windows Subsystem for Linux)
Using Deno:
https://docs.deno.com/runtime/getting_started/installation/
deno install -ERWN -g -n bids-validator jsr:@bids/validator
Run
deno run -ERWN jsr:@bids/validator <dataset>
When using a BEP standard, you must use the flag --schema with the link to the pull request specific to the extension.
BEP032
--schema https://bids-specification--2307.org.readthedocs.build/en/2307/schema.json
BEP047
--schema https://bids-specification--2231.org.readthedocs.build/en/2231/schema.json
Expected Output
- No errors → ready to upload
- Warnings → usually acceptable but should be reviewed
- Errors → must fix before upload to EMBER-Vault
Warning
If you are using NWB files at all, you will need to validate those separately using the DANDI CLI
5. Common Pitfalls
Incorrect filenames
- Missing
task-orsub-labels
Missing JSON sidecars
- Especially for iEEG and video/audio
Inconsistent sampling rates
- Must match metadata
Time misalignment
- Ensure events align across modalities
If your team is struggling, the EMBER archive team can help. Reach out at help@emberarchive.org.
6. Recommended Workflow (Step-by-Step)
-
Prepare raw data
- Export from acquisition systems
- Convert relevant modalities to NWB if appropriate, convert other data types to appropriate BIDS formats
-
Create folder structure
mkdir -p my_dataset/sub-01/ses-01/ieeg -
Rename files to BIDS format
-
Create metadata files
dataset_description.jsonparticipants.tsv- sidecars
-
Add events + behavioral data
-
Validate BIDS dataset
-
Fix errors
-
Upload to platform