v2.0.0
Loading...
Searching...
No Matches
bids_brain_vision_reader.h File Reference

BIDSLIB::AbstractFormatReader implementation for the BrainVision .vhdr / .vmrk / .eeg triplet. More...

#include "bids_abstract_format_reader.h"
#include <QDateTime>
#include <QVector>
#include <QFile>
#include <QMap>
Include dependency graph for bids_brain_vision_reader.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  BIDSLIB::BrainVisionMarker
 Marker entry from the .vmrk file. More...
struct  BIDSLIB::BrainVisionChannelInfo
 Channel info from the .vhdr header. More...
class  BIDSLIB::BrainVisionReader
 The BrainVisionReader reads BrainVision file triplets (.vhdr/.vmrk/.eeg) and exposes them through the AbstractFormatReader interface. More...

Namespaces

namespace  BIDSLIB
 BIDS dataset reading, writing, path construction, and sidecar metadata handling for iEEG/EEG/MEG.

Enumerations

enum class  BIDSLIB::BVBinaryFormat { BIDSLIB::INT_16 , BIDSLIB::INT_32 , BIDSLIB::IEEE_FLOAT_32 }
 Binary format enumeration for BrainVision data files. More...
enum class  BIDSLIB::BVOrientation { BIDSLIB::MULTIPLEXED , BIDSLIB::VECTORIZED }
 Data orientation enumeration. More...

Detailed Description

BIDSLIB::AbstractFormatReader implementation for the BrainVision .vhdr / .vmrk / .eeg triplet.

SPDX-License-Identifier: BSD-3-Clause Copyright (c) 2026 MNE-CPP Authors

Author
Christoph Dinh chris.nosp@m.toph.nosp@m..dinh.nosp@m.@mne.nosp@m.-cpp..nosp@m.org
Since
2.1.0
Date
March 2026

BrainVision is the de-facto wire format for sEEG / ECoG / scalp-EEG recordings shared as BIDS datasets: an ASCII .vhdr describing sampling rate, channel labels, calibration factors and the binary layout; a parallel ASCII .vmrk carrying stimulus / response / segment markers; and a flat .eeg payload holding the samples as little-endian INT_16, INT_32 or IEEE_FLOAT_32 values, laid out either MULTIPLEXED (channels interleaved at every time point) or VECTORIZED (one contiguous channel after another).

BIDSLIB::BrainVisionReader parses the .vhdr / .vmrk once on BIDSLIB::BrainVisionReader::open, then services arbitrary segment reads by seeking into the still-open .eeg file and applying the per-channel resolution / unit scaling so callers always see physical-unit values. The auxiliary BIDSLIB::BrainVisionMarker and BIDSLIB::BrainVisionChannelInfo structs expose the parsed header data unchanged for callers that want to convert markers into BIDS events or channels into _channels.tsv rows.

Format reference: BrainVision Core Data Format 1.0 (https://www.brainproducts.com/downloads/more-software-tools/#bvcdf).

Definition in file bids_brain_vision_reader.h.