Skip to content

Decompositions

How do I decompose my signal into components?

Features in the cobrabox.decompositions domain. Access them as cb.<Feature> (canonical), or as cb.decompositions.<Feature> / cb.feature.<Feature>.

Each feature has two forms: a class for building pipelines, and a one-shot function for a single call.

BandpassFilter

Filter a signal into frequency bands.

cb.bandpass_filter(data, ...)  # one-shot
cb.BandpassFilter(...).apply(data)  # composable, for pipelines

Tags: filtering, butterworth, frequency-band, preprocessing, eeg, io:preserves-time, io:adds-dimension

EMD

Decompose a signal into Intrinsic Mode Functions (IMFs) using Empirical Mode Decomposition.

cb.emd(data, ...)  # one-shot
cb.EMD(...).apply(data)  # composable, for pipelines

Tags: data-driven, nonlinear, intrinsic-mode-functions, time-frequency, nonstationary, eeg, io:adds-dimension

SVD

Compute truncated SVD over one dimension.

cb.svd(data, ...)  # one-shot
cb.SVD(...).apply(data)  # composable, for pipelines

Tags: dimensionality-reduction, patterns, source-localization, eeg, io:matrix