v2.0.0
Loading...
Searching...
No Matches
INVLIB::InvLCMV Class Reference

LCMV beamformer (time-domain). More...

#include <inv_lcmv.h>

Static Public Member Functions

static InvBeamformer makeLCMV (const FIFFLIB::FiffInfo &info, const MNELIB::MNEForwardSolution &forward, const FIFFLIB::FiffCov &dataCov, double reg=0.05, const FIFFLIB::FiffCov &noiseCov=FIFFLIB::FiffCov(), BeamformerPickOri pickOri=BeamformerPickOri::None, BeamformerWeightNorm weightNorm=BeamformerWeightNorm::UnitNoiseGain, bool reduceRank=false, BeamformerInversion invMethod=BeamformerInversion::Matrix)
static InvSourceEstimate applyLCMV (const FIFFLIB::FiffEvoked &evoked, const InvBeamformer &filters)
static InvSourceEstimate applyLCMVRaw (const Eigen::MatrixXd &data, float tmin, float tstep, const InvBeamformer &filters)
static InvSourceEstimate applyLCMVCov (const FIFFLIB::FiffCov &dataCov, const InvBeamformer &filters)

Detailed Description

LCMV beamformer (time-domain).

Linearly Constrained Minimum Variance (LCMV) beamformer for MEG/EEG source localization.

Typical workflow:

// 1. Compute the spatial filter from forward model + data covariance
InvBeamformer filters = InvLCMV::makeLCMV(info, forward, dataCov, noiseCov, reg,
pickOri, weightNorm, reduceRank, inversion);
// 2. Apply to evoked data -> source time courses
InvSourceEstimate stc = InvLCMV::applyLCMV(evoked, filters);
// 3. Or apply to covariance -> source power map
InvSourceEstimate power = InvLCMV::applyLCMVCov(dataCov, filters);
Computed beamformer spatial filter container.
static InvSourceEstimate applyLCMVCov(const FIFFLIB::FiffCov &dataCov, const InvBeamformer &filters)
Definition inv_lcmv.cpp:295
static InvBeamformer makeLCMV(const FIFFLIB::FiffInfo &info, const MNELIB::MNEForwardSolution &forward, const FIFFLIB::FiffCov &dataCov, double reg=0.05, const FIFFLIB::FiffCov &noiseCov=FIFFLIB::FiffCov(), BeamformerPickOri pickOri=BeamformerPickOri::None, BeamformerWeightNorm weightNorm=BeamformerWeightNorm::UnitNoiseGain, bool reduceRank=false, BeamformerInversion invMethod=BeamformerInversion::Matrix)
Definition inv_lcmv.cpp:70
static InvSourceEstimate applyLCMV(const FIFFLIB::FiffEvoked &evoked, const InvBeamformer &filters)
Definition inv_lcmv.cpp:227

Definition at line 85 of file inv_lcmv.h.

Member Function Documentation

◆ applyLCMV()

InvSourceEstimate InvLCMV::applyLCMV ( const FIFFLIB::FiffEvoked & evoked,
const InvBeamformer & filters )
static

Apply LCMV beamformer to evoked data to produce source time courses.

stc = W @ (whitener @ proj @ evoked.data)

Parameters
[in]evokedEvoked data (averaged, channel x time).
[in]filtersPre-computed LCMV beamformer from makeLCMV().
Returns
Source estimate with time courses at each source point.

Definition at line 227 of file inv_lcmv.cpp.

◆ applyLCMVCov()

InvSourceEstimate InvLCMV::applyLCMVCov ( const FIFFLIB::FiffCov & dataCov,
const InvBeamformer & filters )
static

Apply LCMV beamformer to a data covariance to produce a source power map.

power_i = trace(W_i @ Cm @ W_i^T)

Parameters
[in]dataCovData covariance matrix.
[in]filtersPre-computed LCMV beamformer from makeLCMV().
Returns
Source estimate where data column 0 contains power at each source.

Definition at line 295 of file inv_lcmv.cpp.

◆ applyLCMVRaw()

InvSourceEstimate InvLCMV::applyLCMVRaw ( const Eigen::MatrixXd & data,
float tmin,
float tstep,
const InvBeamformer & filters )
static

Apply LCMV beamformer to raw data matrix.

Parameters
[in]dataData matrix (n_channels, n_times).
[in]tminStart time in seconds.
[in]tstepTime step in seconds.
[in]filtersPre-computed LCMV beamformer from makeLCMV().
Returns
Source estimate with time courses.

Definition at line 262 of file inv_lcmv.cpp.

◆ makeLCMV()

InvBeamformer InvLCMV::makeLCMV ( const FIFFLIB::FiffInfo & info,
const MNELIB::MNEForwardSolution & forward,
const FIFFLIB::FiffCov & dataCov,
double reg = 0.05,
const FIFFLIB::FiffCov & noiseCov = FIFFLIB::FiffCov(),
BeamformerPickOri pickOri = BeamformerPickOri::None,
BeamformerWeightNorm weightNorm = BeamformerWeightNorm::UnitNoiseGain,
bool reduceRank = false,
BeamformerInversion invMethod = BeamformerInversion::Matrix )
static

Compute LCMV beamformer spatial filters.

Parameters
[in]infoMeasurement info (for channel matching).
[in]forwardForward solution containing the leadfield.
[in]dataCovData covariance matrix (from recording epoch).
[in]regRegularization parameter (default 0.05 = 5% of trace).
[in]noiseCovNoise covariance for whitening. If empty, identity whitening.
[in]pickOriOrientation selection mode (default: None = keep all).
[in]weightNormWeight normalization (default: UnitNoiseGain).
[in]reduceRankReduce leadfield rank by 1 (default: false).
[in]invMethodInversion method for denominator (default: Matrix).
Returns
The computed beamformer containing spatial filter weights.

Definition at line 70 of file inv_lcmv.cpp.


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