v2.0.0
Loading...
Searching...
No Matches
xdawn.h
Go to the documentation of this file.
1//=============================================================================================================
38
39#ifndef XDAWN_DSP_H
40#define XDAWN_DSP_H
41
42//=============================================================================================================
43// INCLUDES
44//=============================================================================================================
45
46#include "dsp_global.h"
47
48#include <mne/mne_epoch_data.h>
49
50//=============================================================================================================
51// EIGEN INCLUDES
52//=============================================================================================================
53
54#include <Eigen/Core>
55
56//=============================================================================================================
57// QT INCLUDES
58//=============================================================================================================
59
60#include <QVector>
61
62//=============================================================================================================
63// DEFINE NAMESPACE UTILSLIB
64//=============================================================================================================
65
66namespace UTILSLIB
67{
68
69//=============================================================================================================
74{
75 Eigen::MatrixXd matFilters;
76 Eigen::MatrixXd matPatterns;
77 Eigen::MatrixXd matSignalCov;
78 Eigen::MatrixXd matNoiseCov;
79 Eigen::MatrixXd matTargetEvoked;
80 int iTargetEvent = 1;
81 bool bValid = false;
82};
83
84//=============================================================================================================
96{
97public:
98 //=========================================================================================================
113 static XdawnResult fit(const QVector<MNELIB::MNEEpochData>& epochs,
114 int iTargetEvent = 1,
115 int nComponents = 2,
116 double dReg = 1e-6);
117
118 //=========================================================================================================
127 static Eigen::MatrixXd apply(const Eigen::MatrixXd& matEpoch,
128 const XdawnResult& result);
129
130 //=========================================================================================================
142 static Eigen::MatrixXd denoise(const Eigen::MatrixXd& matEpoch,
143 const XdawnResult& result,
144 int nComponents = -1);
145
146 //=========================================================================================================
156 static QVector<MNELIB::MNEEpochData> denoiseEpochs(const QVector<MNELIB::MNEEpochData>& epochs,
157 const XdawnResult& result,
158 int nComponents = -1);
159};
160
161} // namespace UTILSLIB
162
163#endif // XDAWN_DSP_H
dsp library export/import macros.
#define DSPSHARED_EXPORT
Definition dsp_global.h:56
MNEEpochData class declaration.
Shared utilities (I/O helpers, spectral analysis, layout management, warp algorithms).
Result of an xDAWN decomposition.
Definition xdawn.h:74
Eigen::MatrixXd matSignalCov
Definition xdawn.h:77
Eigen::MatrixXd matPatterns
Definition xdawn.h:76
Eigen::MatrixXd matNoiseCov
Definition xdawn.h:78
Eigen::MatrixXd matFilters
Definition xdawn.h:75
Eigen::MatrixXd matTargetEvoked
Definition xdawn.h:79
Event-related response enhancement with xDAWN spatial filtering.
Definition xdawn.h:96
static Eigen::MatrixXd apply(const Eigen::MatrixXd &matEpoch, const XdawnResult &result)
Definition xdawn.cpp:236
static QVector< MNELIB::MNEEpochData > denoiseEpochs(const QVector< MNELIB::MNEEpochData > &epochs, const XdawnResult &result, int nComponents=-1)
Definition xdawn.cpp:275
static XdawnResult fit(const QVector< MNELIB::MNEEpochData > &epochs, int iTargetEvent=1, int nComponents=2, double dReg=1e-6)
Definition xdawn.cpp:90
static Eigen::MatrixXd denoise(const Eigen::MatrixXd &matEpoch, const XdawnResult &result, int nComponents=-1)
Definition xdawn.cpp:252