[FieldTrip] Normalization of LCMV source power

Schoffelen, J.M. (Jan Mathijs) janmathijs.schoffelen at donders.ru.nl
Wed Sep 23 12:31:12 CEST 2026


Hi Gabriel,

Given that according to Parseval’s theorem the sum across the full spectrum is equal to the total variance, and since you ask for theoretical justification, division by a measure of total variance ( ~source.avg.pow ) would  be the way forward. Whether or not this is more or less interpretable than a division with an integral of the estimated power in a more constrained bandwidth I don’t know.

Best wishes,

Jan-Mathijs




On 11 Sep 2026, at 11:54, Gabriel Costa via fieldtrip <fieldtrip at science.ru.nl> wrote:

Dear Fieldtrip community,
I came across an issue regarding normalization of resting-state EEG power in source space using beamforming. I was hoping to get your opinion on this. I am wondering if using the avg.pow output from LCMV source analysis is a valid way of getting band-specific source power relative to total power. Using the following LCMV configuration for the source analysis:
     cfg = []; ...
    cfg.method = 'lcmv';
    cfg.lcmv.projectnoise = 'yes';
    cfg.lcmv.keepfilter   = 'yes';
    cfg.lcmv.weightnorm   = 'nai';
    source = ft_sourceanalysis(cfg, data_timelock);

Fieldtrip returns "source" with a common filter and, I assume, an estimate of broadband source power "source.avg.pow". After reconstructing source time series (source_ts) using the common filter, I perform frequency analysis for each source/dipole within a given frequency band, for example:

    cfg.foi        = [8 12];
    cfg.taper      = 'hanning';
    Pow_alpha = ft_freqanalysis(cfg, source_ts);

From here, the two possible ways of normalizing are:
(a)  Get a broadband source power estimate to normalize the alpha power.
    cfg.output     = 'pow';
    cfg.method     = 'mtmfft';
    cfg.foi        = [1 90]; % same as  high and low pass filters of data
    cfg.taper      = 'hanning';
    FA_source    = ft_freqanalysis(cfg, source_ts);
    Pow_alphanorm  =  Pow_alpha.powspctrm / sum(FA_source.powscptrm,2)
(b)  Use the estimate from LCMV ft_sourceanalysis
    Pow_alphanorm  =  Pow_alpha.powspctrm / source.avg.pow;

My question is whether (b) is a valid approach to normalizing the spectrum/FOI power, or would normalization as in (a) be more interpretable?
I noticed that the two approaches produce different results but not dramatically so. I would greatly appreciate help on deciding which is more theoretically justified.
Thanks,

Gabriel Costa
_______________________________________________
fieldtrip mailing list
https://mailman.science.ru.nl/mailman/listinfo/fieldtrip
https://doi.org/10.1371/journal.pcbi.1002202

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20260923/f2bb75ca/attachment.htm>


More information about the fieldtrip mailing list