v2.0.0
Loading...
Searching...
No Matches
xdawn.h
Go to the documentation of this file.
1//=============================================================================================================
17
18#ifndef XDAWN_DSP_H
19#define XDAWN_DSP_H
20
21//=============================================================================================================
22// INCLUDES
23//=============================================================================================================
24
25#include "dsp_global.h"
26
27#include <mne/mne_epoch_data.h>
28
29//=============================================================================================================
30// EIGEN INCLUDES
31//=============================================================================================================
32
33#include <Eigen/Core>
34
35//=============================================================================================================
36// QT INCLUDES
37//=============================================================================================================
38
39#include <QVector>
40
41//=============================================================================================================
42// DEFINE NAMESPACE UTILSLIB
43//=============================================================================================================
44
45namespace UTILSLIB
46{
47
48//=============================================================================================================
53{
54 Eigen::MatrixXd matFilters;
55 Eigen::MatrixXd matPatterns;
56 Eigen::MatrixXd matSignalCov;
57 Eigen::MatrixXd matNoiseCov;
58 Eigen::MatrixXd matTargetEvoked;
59 int iTargetEvent = 1;
60 bool bValid = false;
61};
62
63//=============================================================================================================
75{
76public:
77 //=========================================================================================================
92 static XdawnResult fit(const QVector<MNELIB::MNEEpochData>& epochs,
93 int iTargetEvent = 1,
94 int nComponents = 2,
95 double dReg = 1e-6);
96
97 //=========================================================================================================
106 static Eigen::MatrixXd apply(const Eigen::MatrixXd& matEpoch,
107 const XdawnResult& result);
108
109 //=========================================================================================================
121 static Eigen::MatrixXd denoise(const Eigen::MatrixXd& matEpoch,
122 const XdawnResult& result,
123 int nComponents = -1);
124
125 //=========================================================================================================
135 static QVector<MNELIB::MNEEpochData> denoiseEpochs(const QVector<MNELIB::MNEEpochData>& epochs,
136 const XdawnResult& result,
137 int nComponents = -1);
138};
139
140} // namespace UTILSLIB
141
142#endif // XDAWN_DSP_H
Single epoch (one trial slice of preprocessed sensor data) with timing and rejection metadata.
Export/import macros and namespace declaration for the DSP library.
#define DSPSHARED_EXPORT
Definition dsp_global.h:50
Shared utilities (I/O helpers, spectral analysis, layout management, warp algorithms).
Result of an xDAWN decomposition.
Definition xdawn.h:53
Eigen::MatrixXd matSignalCov
Definition xdawn.h:56
Eigen::MatrixXd matPatterns
Definition xdawn.h:55
Eigen::MatrixXd matNoiseCov
Definition xdawn.h:57
Eigen::MatrixXd matFilters
Definition xdawn.h:54
Eigen::MatrixXd matTargetEvoked
Definition xdawn.h:58
Event-related response enhancement with xDAWN spatial filtering.
Definition xdawn.h:75
static Eigen::MatrixXd apply(const Eigen::MatrixXd &matEpoch, const XdawnResult &result)
Definition xdawn.cpp:215
static QVector< MNELIB::MNEEpochData > denoiseEpochs(const QVector< MNELIB::MNEEpochData > &epochs, const XdawnResult &result, int nComponents=-1)
Definition xdawn.cpp:254
static XdawnResult fit(const QVector< MNELIB::MNEEpochData > &epochs, int iTargetEvent=1, int nComponents=2, double dReg=1e-6)
Definition xdawn.cpp:69
static Eigen::MatrixXd denoise(const Eigen::MatrixXd &matEpoch, const XdawnResult &result, int nComponents=-1)
Definition xdawn.cpp:231