Empirical Mode Decomposition (EMD)

Description

This module implements Empirical Mode Decomposition (EMD) for EEG data. The EMD function decomposes the input signals into Intrinsic Mode Functions (IMFs), which are oscillatory components extracted from the data.

Function

bciflow.modules.tf.emd_sift.EMD(eegdata, n_imfs=5)[source]
Parameters:
  • eegdata (dict) – A dictionary containing the EEG data, where the key ‘X’ holds the raw signal.

  • n_imfs (int) – The number of IMFs to extract (default is 5).

Returns:

The same dictionary passed in parameters, but with the transformed data stored under the key ‘X’. The shape of the transformed data is (n_trials, n_imfs, n_electrodes, n_samples).

Return type:

dict

Raises:

ValueError – If the input data does not have exactly one band (shape[1] != 1).

The implementation uses the emd library to perform the decomposition. For more details on EMD, refer to:
  • Huang, N. E., et al. (1998). The Empirical Mode Decomposition and the Hilbert Spectrum for Nonlinear and Non-Stationary Time Series Analysis.

  • Proceedings of the Royal Society of London. Series A: Mathematical, Physical and Engineering Sciences.