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

Channel derivation and re-referencing utilities. More...

#include <channel_derivation.h>

Static Public Member Functions

static QVector< DerivationRule > buildBipolar (const QStringList &channelNames)
 Build bipolar derivation rules from sequential electrode pairs.
static QVector< DerivationRule > buildCommonAverage (const QStringList &channelNames)
 Build common-average reference derivation rules.
static QPair< Eigen::MatrixXd, QStringList > apply (const Eigen::MatrixXd &matData, const QStringList &channelNames, const QVector< DerivationRule > &rules)
 Apply derivation rules to a data matrix.
static QVector< DerivationRule > readDefinitionFile (const QString &path)
 Read derivation rules from an MNE-C derivation text file (MNELIB::MNEDerivSet::readText).
static bool writeDefinitionFile (const QString &path, const QVector< DerivationRule > &rules)
 Write derivation rules in MNE-C derivation text syntax, readable by readDefinitionFile and mne_make_derivations.

Detailed Description

Channel derivation and re-referencing utilities.

Provides methods to build bipolar and common-average re-referencing schemes, apply arbitrary linear derivation rules to data matrices, and read/write derivation definition files.

Definition at line 79 of file channel_derivation.h.

Member Function Documentation

◆ apply()

QPair< MatrixXd, QStringList > ChannelDerivation::apply ( const Eigen::MatrixXd & matData,
const QStringList & channelNames,
const QVector< DerivationRule > & rules )
static

Apply derivation rules to a data matrix.

Parameters
[in]matDataInput data matrix (n_channels × n_times).
[in]channelNamesChannel names corresponding to rows of matData.
[in]rulesDerivation rules to apply.
Returns
A pair of (derived data matrix, derived channel names). The output matrix has n_rules rows × n_times columns.

Definition at line 126 of file channel_derivation.cpp.

◆ buildBipolar()

QVector< DerivationRule > ChannelDerivation::buildBipolar ( const QStringList & channelNames)
static

Build bipolar derivation rules from sequential electrode pairs.

Channels are grouped by shaft prefix (all leading alphabetic characters and apostrophes before the first digit). Within each group, consecutive pairs are subtracted: channel[i] − channel[i+1].

Parameters
[in]channelNamesList of channel names, e.g. {"LH1","LH2","LH3","RA1","RA2"}.
Returns
Vector of DerivationRule, e.g. LH1-LH2 (+1·LH1, −1·LH2), LH2-LH3, RA1-RA2.

Definition at line 66 of file channel_derivation.cpp.

◆ buildCommonAverage()

QVector< DerivationRule > ChannelDerivation::buildCommonAverage ( const QStringList & channelNames)
static

Build common-average reference derivation rules.

Each output channel equals the original channel minus the mean of all channels: out_i = ch_i − (1/N) Σ ch_j.

Parameters
[in]channelNamesList of channel names.
Returns
Vector of DerivationRule, one per input channel.

Definition at line 98 of file channel_derivation.cpp.

◆ readDefinitionFile()

QVector< DerivationRule > ChannelDerivation::readDefinitionFile ( const QString & path)
static

Read derivation rules from an MNE-C derivation text file (MNELIB::MNEDerivSet::readText).

# comment
"LH1-LH2" = "LH1" - "LH2"
"C3-avg" = 0.75 * "C3" - 0.25 * "C4" - 0.25 * "Cz" - 0.25 * "Pz"
Parameters
[in]pathPath to the definition file.
Returns
Vector of parsed DerivationRule. Empty on error.

Definition at line 162 of file channel_derivation.cpp.

◆ writeDefinitionFile()

bool ChannelDerivation::writeDefinitionFile ( const QString & path,
const QVector< DerivationRule > & rules )
static

Write derivation rules in MNE-C derivation text syntax, readable by readDefinitionFile and mne_make_derivations.

Parameters
[in]pathPath to the output file.
[in]rulesDerivation rules to write.
Returns
True if the file was written successfully.

Definition at line 177 of file channel_derivation.cpp.


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