pyriemann.spatialfilters.CSP¶
- class pyriemann.spatialfilters.CSP(nfilter=4, metric='euclid', log=True)¶
CSP spatial filtering with covariance matrices as inputs.
Implementation of the famous Common Spatial Pattern algorithm [1] [2], but with covariance matrices as input. In addition, the implementation allows different metric for the estimation of the class-related mean covariance matrices, as described in [3].
This implementation support multiclass CSP by means of approximate joint diagonalization. In this case, the spatial filter selection is achieved according to [4].
- Parameters
- nfilterint, default=4
The number of components to decompose M/EEG signals.
- metricstr, default=’euclid’
The metric for the estimation of mean covariance matrices.
- logbool, default=True
If true, return the log variance, otherwise return the spatially filtered covariance matrices.
See also
MDM
,SPoC
References
- 1
Spatial Patterns Underlying Population Differences in the Background EEG Z. Koles, M. Lazar, and S. Zhou. Brain Topography 2(4), 275-284, 1990.
- 2
Optimizing Spatial Filters for Robust EEG Single-Trial Analysis B. Blankertz, R. Tomioka, S. Lemm, M. Kawanabe, K-R. Muller. IEEE Signal Processing Magazine 25(1), 41-56, 2008.
- 3
Common Spatial Pattern revisited by Riemannian geometry A. Barachant, S. Bonnet, M. Congedo and C. Jutten. IEEE International Workshop on Multimedia Signal Processing (MMSP), p. 472-476, 2010.
- 4
Multiclass common spatial patterns and information theoretic feature extraction IEEE Transactions on Biomedical Engineering, Volume 55, Issue 8, August 2008. pp. 1991 - 2000
- Attributes
- filters_ndarray, shape (min(n_channels, n_filters), n_channels)
If fit, the CSP spatial filters.
- patterns_ndarray, shape (min(n_channels, n_filters), n_channels)
If fit, the CSP spatial patterns.
- __init__(nfilter=4, metric='euclid', log=True)¶
Init.
- fit(X, y)¶
Train CSP spatial filters.
- Parameters
- Xndarray, shape (n_trials, n_channels, n_channels)
Set of covariance matrices.
- yndarray, shape (n_trials,)
Labels for each trial.
- Returns
- selfCSP instance
The CSP instance.
- fit_transform(X, y=None, **fit_params)¶
Fit to data, then transform it.
Fits transformer to X and y with optional parameters fit_params and returns a transformed version of X.
- Parameters
- Xarray-like of shape (n_samples, n_features)
Input samples.
- yarray-like of shape (n_samples,) or (n_samples, n_outputs), default=None
Target values (None for unsupervised transformations).
- **fit_paramsdict
Additional fit parameters.
- Returns
- X_newndarray array of shape (n_samples, n_features_new)
Transformed array.
- get_params(deep=True)¶
Get parameters for this estimator.
- Parameters
- deepbool, default=True
If True, will return the parameters for this estimator and contained subobjects that are estimators.
- Returns
- paramsdict
Parameter names mapped to their values.
- set_params(**params)¶
Set the parameters of this estimator.
The method works on simple estimators as well as on nested objects (such as
Pipeline
). The latter have parameters of the form<component>__<parameter>
so that it’s possible to update each component of a nested object.- Parameters
- **paramsdict
Estimator parameters.
- Returns
- selfestimator instance
Estimator instance.
- transform(X)¶
Apply spatial filters.
- Parameters
- Xndarray, shape (n_trials, n_channels, n_channels)
Set of covariance matrices.
- Returns
- Xfndarray, shape (n_trials, n_filters) or ndarray, shape (n_trials, n_filters, n_filters)
Set of spatialy filtered log-variance or covariance, depending on the ‘log’ input parameter.