v2.0.0
Loading...
Searching...
No Matches
UTILSLIB::EogRegression Class Reference

Remove EOG artifacts via linear regression. More...

#include <eog_regression.h>

Public Member Functions

 EogRegression ()=default
void fit (const Eigen::MatrixXd &data, const FIFFLIB::FiffInfo &info, const QStringList &eogChannels=QStringList())
 Fit regression coefficients from EOG to all other channels.
void apply (Eigen::MatrixXd &data, const FIFFLIB::FiffInfo &info) const
 Apply the fitted regression to remove EOG artifacts in-place.
const Eigen::MatrixXd & coefficients () const
 Returns the fitted regression coefficients.
bool isFitted () const
 Returns true if fit() has been called successfully.

Static Public Member Functions

static void fitApply (Eigen::MatrixXd &data, const FIFFLIB::FiffInfo &info, const QStringList &eogChannels=QStringList())
 Convenience: fit and apply in one step.

Detailed Description

Remove EOG artifacts via linear regression.

Fits a least-squares model: data_ch = beta * EOG + residual, then subtracts beta * EOG from each non-EOG channel.

Usage:

eogReg.fit(data, info); // fit regression coefficients
eogReg.apply(data, info); // subtract EOG contribution in-place
// or one-step:
void apply(Eigen::MatrixXd &data, const FIFFLIB::FiffInfo &info) const
Apply the fitted regression to remove EOG artifacts in-place.
static void fitApply(Eigen::MatrixXd &data, const FIFFLIB::FiffInfo &info, const QStringList &eogChannels=QStringList())
Convenience: fit and apply in one step.
void fit(const Eigen::MatrixXd &data, const FIFFLIB::FiffInfo &info, const QStringList &eogChannels=QStringList())
Fit regression coefficients from EOG to all other channels.

Definition at line 66 of file eog_regression.h.

Constructor & Destructor Documentation

◆ EogRegression()

UTILSLIB::EogRegression::EogRegression ( )
default

Constructs a default EogRegression object.

Member Function Documentation

◆ apply()

void EogRegression::apply ( Eigen::MatrixXd & data,
const FIFFLIB::FiffInfo & info ) const

Apply the fitted regression to remove EOG artifacts in-place.

Subtracts beta * EOG from all non-EOG channels. fit() must be called first.

Parameters
[in,out]dataData matrix (n_channels x n_times). Modified in-place.
[in]infoMeasurement info.

Definition at line 127 of file eog_regression.cpp.

◆ coefficients()

const Eigen::MatrixXd & UTILSLIB::EogRegression::coefficients ( ) const
inline

Returns the fitted regression coefficients.

Returns
Matrix (n_non_eog_channels x n_eog_channels).

Definition at line 119 of file eog_regression.h.

◆ fit()

void EogRegression::fit ( const Eigen::MatrixXd & data,
const FIFFLIB::FiffInfo & info,
const QStringList & eogChannels = QStringList() )

Fit regression coefficients from EOG to all other channels.

Uses ordinary least squares: beta = T * E^T * (E * E^T)^{-1}

Parameters
[in]dataData matrix (n_channels x n_times).
[in]infoMeasurement info (identifies EOG channels by kind == FIFFV_EOG_CH).
[in]eogChannelsOptional explicit EOG channel names. If empty, auto-detect from info.

Definition at line 47 of file eog_regression.cpp.

◆ fitApply()

void EogRegression::fitApply ( Eigen::MatrixXd & data,
const FIFFLIB::FiffInfo & info,
const QStringList & eogChannels = QStringList() )
static

Convenience: fit and apply in one step.

Parameters
[in,out]dataData matrix (n_channels x n_times). Modified in-place.
[in]infoMeasurement info.
[in]eogChannelsOptional explicit EOG channel names.

Definition at line 159 of file eog_regression.cpp.

◆ isFitted()

bool UTILSLIB::EogRegression::isFitted ( ) const
inline

Returns true if fit() has been called successfully.

Definition at line 125 of file eog_regression.h.


The documentation for this class was generated from the following files: