How to load ECoG data
From binary LFP files
from cogpy.io.ecog_io import from_file
sig = from_file("/path/to/recording.lfp")
# Returns xarray.DataArray with dims (time, AP, ML) and fs coordinate
From BIDS-iEEG format
from cogpy.io.ieeg_io import from_file
sig = from_file("/path/to/sub-01/ieeg/sub-01_task-rest_ieeg.edf")
From Zarr archives
import xarray as xr
sig = xr.open_dataarray("/path/to/signal.zarr", engine="zarr")
Sample data (for testing)
import cogpy
# Grid ECoG sample
sig = cogpy.datasets.load_sample()
# Raw sample (before preprocessing)
raw = cogpy.datasets.load_raw_sample()
# Synthetic bundles for GUI development
from cogpy.datasets import ieeg_grid_bundle, spectrogram_bursts_bundle
bundle = ieeg_grid_bundle(mode="small", seed=42)
Verifying the schema
After loading, verify the signal has the expected schema:
from cogpy.base import ensure_fs, SCHEMA
# Ensure fs is set (raises if missing)
sig = ensure_fs(sig, fs=1000.0)
# Check dimensions
assert set(sig.dims) >= {SCHEMA.time, SCHEMA.ap, SCHEMA.ml}