bemobil_mne.io.MultimodalRecording#

class bemobil_mne.io.MultimodalRecording(raw, tier2=<factory>, events=<factory>, session_t0=0.0)[source]#

Bases: object

Container returned by XDFLoader.load().

Attributes:
rawmne.io.BaseRaw

Tier-1 physiological streams (EEG, ECG, EMG, eye-tracking, EDA, …) aligned to a common grid at target_sfreq and merged into an MNE Raw object. The time axis starts at 0 and corresponds to LSL timestamp session_t0.

tier2dict[str, tuple[np.ndarray, np.ndarray]]

Tier-2 streams kept at their native sampling rate, suitable for time-frequency analysis or frame-level processing. {label: (data, timestamps_s)} where data is (n_samples, n_channels) and timestamps_s are seconds relative to session_t0.

eventsdict[str, tuple[list[str], np.ndarray]]

Irregular / event-based streams (nominal_srate == 0), e.g. fixation events, saccade events, or custom trigger streams. {label: (descriptions, timestamps_s)} relative to session_t0.

session_t0float

Absolute LSL timestamp of t = 0 in the Raw object (and in all Tier-2 and event timestamp arrays). Use this to cross-reference with external system logs that carry LSL time.

Parameters:
__init__(raw, tier2=<factory>, events=<factory>, session_t0=0.0)#
Parameters:
Return type:

None

Methods

__init__(raw[, tier2, events, session_t0])

Attributes

events: dict[str, tuple[list[str], ndarray]]#
raw: BaseRaw#
session_t0: float = 0.0#
tier2: dict[str, tuple[ndarray, ndarray]]#