v2.0.0
Loading...
Searching...
No Matches
decoding_ica_label.h
Go to the documentation of this file.
1//=============================================================================================================
35
36#ifndef DECODING_ICA_LABEL_H
37#define DECODING_ICA_LABEL_H
38
39//=============================================================================================================
40// INCLUDES
41//=============================================================================================================
42
43#include "decoding_global.h"
44
45//=============================================================================================================
46// EIGEN INCLUDES
47//=============================================================================================================
48
49#include <Eigen/Core>
50
51//=============================================================================================================
52// QT INCLUDES
53//=============================================================================================================
54
55#include <QList>
56#include <QString>
57#include <QPair>
58
59//=============================================================================================================
60// DEFINE NAMESPACE DECODINGLIB
61//=============================================================================================================
62
63namespace DECODINGLIB
64{
65
66//=============================================================================================================
85
86//=============================================================================================================
108
109//=============================================================================================================
133class DECODINGSHARED_EXPORT MlIcaLabel
134{
135public:
136 //=========================================================================================================
149 static QList<IcaLabelResult> classify(const Eigen::MatrixXd& matSources,
150 const Eigen::MatrixXd& matEog,
151 const Eigen::MatrixXd& matEcg,
152 double dSFreq,
153 double dEogThresh = 0.3,
154 double dEcgThresh = 0.3);
155
156 //=========================================================================================================
164 static QVector<int> findArtifactComponents(const QList<IcaLabelResult>& labels);
165
166 //=========================================================================================================
175 static double maxAbsCorrelation(const Eigen::VectorXd& source,
176 const Eigen::MatrixXd& matRef);
177
178 //=========================================================================================================
188 static double muscleScore(const Eigen::VectorXd& source, double dSFreq);
189
190private:
191 MlIcaLabel() = delete;
192};
193
194} // namespace DECODINGLIB
195
196#endif // DECODING_ICA_LABEL_H
Export/import macros and build-info entry points for DECODINGLIB.
#define DECODINGSHARED_EXPORT
Supervised and unsupervised spatial-filter decompositions for M/EEG decoding.
IcaComponentLabel
Categorical label assigned to a single ICA component.
Outcome of labelling a single ICA component.
static QString labelToString(IcaComponentLabel label)
static double muscleScore(const Eigen::VectorXd &source, double dSFreq)
static QList< IcaLabelResult > classify(const Eigen::MatrixXd &matSources, const Eigen::MatrixXd &matEog, const Eigen::MatrixXd &matEcg, double dSFreq, double dEogThresh=0.3, double dEcgThresh=0.3)
static double maxAbsCorrelation(const Eigen::VectorXd &source, const Eigen::MatrixXd &matRef)
static QVector< int > findArtifactComponents(const QList< IcaLabelResult > &labels)