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//=============================================================================================================
106
107//=============================================================================================================
135class DECODINGSHARED_EXPORT MlIcaLabel
136{
137public:
138 //=========================================================================================================
151 static QList<IcaLabelResult> classify(const Eigen::MatrixXd& matSources,
152 const Eigen::MatrixXd& matEog,
153 const Eigen::MatrixXd& matEcg,
154 double dSFreq,
155 double dEogThresh = 0.3,
156 double dEcgThresh = 0.3);
157
158 //=========================================================================================================
166 static QVector<int> findArtifactComponents(const QList<IcaLabelResult>& labels);
167
168 //=========================================================================================================
177 static double maxAbsCorrelation(const Eigen::VectorXd& source,
178 const Eigen::MatrixXd& matRef);
179
180 //=========================================================================================================
190 static double muscleScore(const Eigen::VectorXd& source, double dSFreq);
191
192private:
193 MlIcaLabel() = delete;
194};
195
196} // namespace DECODINGLIB
197
198#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)