eegproc.data.schema module
Column roles for signal samples and precomputed EEG features.
- class eegproc.data.schema.EEGFrame(data, fs, kind='signal', subject_columns=('subject',), trial_columns=('trial',), time_column=None, label_columns=('label',), feature_columns=None)[source]
Bases:
objectAn EEG table with explicit subject, trial, label, and feature columns.
Rows within a trial are sorted by
time_columnwhen supplied. If it is omitted,sample_indexis used when present; otherwise row order is kept. Label and identifier columns are always excluded from inferred features.- Parameters:
data (
DataFrame)fs (
float)kind (
Literal['signal','features'], default:'signal')subject_columns (
tuple[str,...], default:('subject',))trial_columns (
tuple[str,...], default:('trial',))time_column (
str|None, default:None)label_columns (
tuple[str,...], default:('label',))feature_columns (
tuple[str,...] |None, default:None)
- data: DataFrame
- feature_columns: tuple[str, ...] | None = None
- fs: float
- kind: Literal['signal', 'features'] = 'signal'
- label_columns: tuple[str, ...] = ('label',)
- subject_columns: tuple[str, ...] = ('subject',)
- time_column: str | None = None
- trial_columns: tuple[str, ...] = ('trial',)
- class eegproc.data.schema.FeatureColumn(channel, band=None, feature=None)[source]
Bases:
objectChannel, optional band, and optional statistic in a feature name.
- Parameters:
channel (
str)band (
str|None, default:None)feature (
str|None, default:None)
- band: str | None = None
- channel: str
- feature: str | None = None
- eegproc.data.schema.median_split(label_column, *, threshold)[source]
Create a fixed-threshold label transform; no threshold is fitted to data.
- Parameters:
label_column (
str)threshold (
float)