eegdash.features.feature_bank#

Feature bank public API exports.

This module consolidates and re-exports the feature extractors and feature functions so users can import them directly from eegdash.features.feature_bank.

Functions

Classes

class eegdash.features.feature_bank.EntropyFeatureExtractor(feature_extractors: Dict[str, Callable], **preprocess_kwargs: Dict)[source]#

Bases: FeatureExtractor

parent_extractor_type = (<class 'eegdash.features.extractors.FeatureExtractor'>, <class 'eegdash.features.feature_bank.signal.HilbertFeatureExtractor'>)#
preprocess(x, m=2, r=0.2, l=1)[source]#

Apply pre-processing to the input data.

Parameters:
  • *x (tuple) – Input data.

  • **kwargs – Additional keyword arguments.

Returns:

The pre-processed data.

Return type:

tuple

eegdash.features.feature_bank.complexity_approx_entropy(counts_m, counts_mp1)[source]#
eegdash.features.feature_bank.complexity_sample_entropy(counts_m, counts_mp1)[source]#
eegdash.features.feature_bank.complexity_svd_entropy(x, m=10, tau=1)[source]#
eegdash.features.feature_bank.complexity_lempel_ziv(x, threshold=None, normalize=True)[source]#
class eegdash.features.feature_bank.CoherenceFeatureExtractor(feature_extractors: Dict[str, Callable], **preprocess_kwargs: Dict)[source]#

Bases: FeatureExtractor

preprocess(x, **kwargs)[source]#

Apply pre-processing to the input data.

Parameters:
  • *x (tuple) – Input data.

  • **kwargs – Additional keyword arguments.

Returns:

The pre-processed data.

Return type:

tuple

eegdash.features.feature_bank.connectivity_magnitude_square_coherence(f, c, bands={'alpha': (8, 12), 'beta': (12, 30), 'delta': (1, 4.5), 'theta': (4.5, 8)})[source]#
eegdash.features.feature_bank.connectivity_imaginary_coherence(f, c, bands={'alpha': (8, 12), 'beta': (12, 30), 'delta': (1, 4.5), 'theta': (4.5, 8)})[source]#
eegdash.features.feature_bank.connectivity_lagged_coherence(f, c, bands={'alpha': (8, 12), 'beta': (12, 30), 'delta': (1, 4.5), 'theta': (4.5, 8)})[source]#
class eegdash.features.feature_bank.CommonSpatialPattern[source]#

Bases: TrainableFeature

clear()[source]#

Reset the internal state of the feature extractor.

feature_kind = <eegdash.features.extractors.MultivariateFeature object>#
fit()[source]#

Finalize the training of the feature extractor.

This method should be called after all data has been seen via partial_fit. It marks the feature as fitted.

partial_fit(x, y=None)[source]#

Update the feature extractor’s state with a batch of data.

Parameters:
  • *x (tuple) – The input data for fitting.

  • y (any, optional) – The target data, if required for supervised training.

static transform_input(x)[source]#
eegdash.features.feature_bank.dimensionality_higuchi_fractal_dim(x, k_max=10, eps=1e-07)[source]#
eegdash.features.feature_bank.dimensionality_petrosian_fractal_dim(x)[source]#
eegdash.features.feature_bank.dimensionality_katz_fractal_dim(x)[source]#
eegdash.features.feature_bank.dimensionality_hurst_exp(x)[source]#
eegdash.features.feature_bank.dimensionality_detrended_fluctuation_analysis(x)[source]#
class eegdash.features.feature_bank.HilbertFeatureExtractor(feature_extractors: Dict[str, Callable], **preprocess_kwargs: Dict)[source]#

Bases: FeatureExtractor

parent_extractor_type = (<class 'eegdash.features.extractors.FeatureExtractor'>,)#
preprocess(x)[source]#

Apply pre-processing to the input data.

Parameters:
  • *x (tuple) – Input data.

  • **kwargs – Additional keyword arguments.

Returns:

The pre-processed data.

Return type:

tuple

eegdash.features.feature_bank.signal_mean(x)[source]#
eegdash.features.feature_bank.signal_variance(x, **kwargs)[source]#
eegdash.features.feature_bank.signal_skewness(x, **kwargs)[source]#
eegdash.features.feature_bank.signal_kurtosis(x, **kwargs)[source]#
eegdash.features.feature_bank.signal_std(x, **kwargs)[source]#
eegdash.features.feature_bank.signal_root_mean_square(x)[source]#
eegdash.features.feature_bank.signal_peak_to_peak(x, **kwargs)[source]#
eegdash.features.feature_bank.signal_quantile(x, q: Number = 0.5, **kwargs)[source]#
eegdash.features.feature_bank.signal_zero_crossings(x, threshold=1e-15)[source]#
eegdash.features.feature_bank.signal_line_length(x)[source]#
eegdash.features.feature_bank.signal_hjorth_activity(x, **kwargs)[source]#
eegdash.features.feature_bank.signal_hjorth_mobility(x)[source]#
eegdash.features.feature_bank.signal_hjorth_complexity(x)[source]#
eegdash.features.feature_bank.signal_decorrelation_time(x, fs=1)[source]#
class eegdash.features.feature_bank.SpectralFeatureExtractor(feature_extractors: Dict[str, Callable], **preprocess_kwargs: Dict)[source]#

Bases: FeatureExtractor

preprocess(x, **kwargs)[source]#

Apply pre-processing to the input data.

Parameters:
  • *x (tuple) – Input data.

  • **kwargs – Additional keyword arguments.

Returns:

The pre-processed data.

Return type:

tuple

class eegdash.features.feature_bank.NormalizedSpectralFeatureExtractor(feature_extractors: Dict[str, Callable], **preprocess_kwargs: Dict)[source]#

Bases: FeatureExtractor

parent_extractor_type = (<class 'eegdash.features.feature_bank.spectral.SpectralFeatureExtractor'>,)#
preprocess(*x)[source]#

Apply pre-processing to the input data.

Parameters:
  • *x (tuple) – Input data.

  • **kwargs – Additional keyword arguments.

Returns:

The pre-processed data.

Return type:

tuple

class eegdash.features.feature_bank.DBSpectralFeatureExtractor(feature_extractors: Dict[str, Callable], **preprocess_kwargs: Dict)[source]#

Bases: FeatureExtractor

parent_extractor_type = (<class 'eegdash.features.feature_bank.spectral.SpectralFeatureExtractor'>,)#
preprocess(*x, eps=1e-15)[source]#

Apply pre-processing to the input data.

Parameters:
  • *x (tuple) – Input data.

  • **kwargs – Additional keyword arguments.

Returns:

The pre-processed data.

Return type:

tuple

eegdash.features.feature_bank.spectral_root_total_power(f, p)[source]#
eegdash.features.feature_bank.spectral_moment(f, p)[source]#
eegdash.features.feature_bank.spectral_entropy(f, p)[source]#
eegdash.features.feature_bank.spectral_edge(f, p, edge=0.9)[source]#
eegdash.features.feature_bank.spectral_slope(f, p)[source]#
eegdash.features.feature_bank.spectral_bands_power(f, p, bands={'alpha': (8, 12), 'beta': (12, 30), 'delta': (1, 4.5), 'theta': (4.5, 8)})[source]#
eegdash.features.feature_bank.spectral_hjorth_activity(f, p)[source]#
eegdash.features.feature_bank.spectral_hjorth_mobility(f, p)[source]#
eegdash.features.feature_bank.spectral_hjorth_complexity(f, p)[source]#