<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">
Hi Gabriel,
<div><br>
</div>
<div>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.</div>
<div><br>
</div>
<div>Best wishes,</div>
<div><br>
</div>
<div>Jan-Mathijs</div>
<div><br>
</div>
<div><br>
</div>
<div><br id="lineBreakAtBeginningOfMessage">
<div><br>
<blockquote type="cite">
<div>On 11 Sep 2026, at 11:54, Gabriel Costa via fieldtrip <fieldtrip@science.ru.nl> wrote:</div>
<br class="Apple-interchange-newline">
<div>
<div dir="ltr">
<p class="MsoNormal" style="margin:0cm 0cm 6pt;line-height:normal;font-family:Aptos,sans-serif">
Dear Fieldtrip community,</p>
<p class="MsoNormal" style="margin:0cm 0cm 6pt;line-height:normal;font-family:Aptos,sans-serif">
<span lang="EN-US" style="background-color:transparent"><span style="background-color:transparent;line-height:14.95px"><span style="background-color:transparent">I came across an issue regarding normalization of</span> resting-state EEG power in source space</span><span style="background-color:transparent;line-height:14.95px"> <span lang="EN-US">using
beamforming</span></span><span lang="EN-US" style="background-color:transparent">. I was hoping to get your opinion on this</span><span style="background-color:transparent">. </span>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. </span><span style="background-color:transparent">Using the following LCMV configuration for the source analysis:</span></p>
<span class="gmail-im">
<div style="margin: 0cm; line-height: normal; font-family: Aptos, sans-serif;"><i> cfg = []; ...<br>
</i></div>
<div style="margin: 0cm; line-height: normal; font-family: Aptos, sans-serif;"><i> cfg.method = 'lcmv';</i></div>
<div style="margin: 0cm; line-height: normal; font-family: Aptos, sans-serif;"><i> cfg.lcmv.projectnoise = 'yes';</i></div>
<div style="margin: 0cm; line-height: normal; font-family: Aptos, sans-serif;"><i> cfg.lcmv.keepfilter = 'yes';</i></div>
<div style="margin: 0cm; line-height: normal; font-family: Aptos, sans-serif;"><i> cfg.lcmv.weightnorm = 'nai';</i></div>
</span>
<div style="margin: 0cm; line-height: normal; font-family: Aptos, sans-serif;"><i> source = ft_sourceanalysis(cfg, data_timelock);</i></div>
<p class="MsoNormal" style="margin:0cm 0cm 6pt;line-height:normal;font-family:Aptos,sans-serif">
<i> </i></p>
<p class="MsoNormal" style="margin:0cm 0cm 6pt;line-height:normal;font-family:Aptos,sans-serif">
<span lang="EN-US">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:</span></p>
<span class="gmail-im" style="color:inherit">
<div style="margin: 0cm; line-height: normal; font-family: Aptos, sans-serif;"><i><br>
</i></div>
<div style="margin: 0cm; line-height: normal; font-family: Aptos, sans-serif;"><i> cfg.foi = [8 12];</i></div>
<div style="margin: 0cm; line-height: normal; font-family: Aptos, sans-serif;"><i> </i><i><span lang="EN-US">cfg.taper = 'hanning';</span></i></div>
</span>
<div style="margin: 0cm; line-height: normal; font-family: Aptos, sans-serif;"><i> Pow_alpha = ft_freqanalysis(cfg, source_ts);</i></div>
<p class="MsoNormal" style="margin:0cm 0cm 6pt;line-height:normal;font-family:Aptos,sans-serif">
<i> </i></p>
<p class="MsoNormal" style="margin:0cm 0cm 6pt;line-height:normal;font-family:Aptos,sans-serif">
<span lang="EN-US">From here, the two possible ways of normalizing are:</span></p>
<p class="MsoNormal" style="margin:0cm 0cm 6pt;line-height:normal"><b style="background-color:transparent"><span lang="EN-US"><font face="Aptos, sans-serif">(a)</font><span style="font-family:"Times New Roman";font-variant:normal;font-size-adjust:none;font-kerning:auto;font-feature-settings:normal;font-weight:normal;font-stretch:normal;line-height:normal"> </span><span style="font-variant:normal;font-size-adjust:none;font-kerning:auto;font-feature-settings:normal;font-weight:normal;font-stretch:normal;line-height:normal"><font face="arial, sans-serif">Get
a broadband source power estimate to normalize the alpha power.</font></span></span></b></p>
<span class="gmail-im">
<div style="margin: 0cm; line-height: normal; font-family: Aptos, sans-serif;"><i style="background-color:transparent"> cfg.output = 'pow';</i></div>
<div style="margin: 0cm; line-height: normal; font-family: Aptos, sans-serif;"><i> cfg.method = 'mtmfft';</i></div>
</span>
<div style="margin: 0cm; line-height: normal; font-family: Aptos, sans-serif;"><i> cfg.foi = [1 90]; % same as high and low pass filters of data</i></div>
<div style="margin: 0cm; line-height: normal; font-family: Aptos, sans-serif;"><i> </i><i><span lang="EN-US">cfg.taper = 'hanning';</span></i></div>
<p class="MsoNormal" style="margin:0cm 0cm 6pt;line-height:normal;font-family:Aptos,sans-serif">
<i style="background-color:transparent"> FA_source = ft_freqanalysis(cfg, source_ts);</i></p>
<p class="MsoNormal" style="margin:0cm 0cm 6pt;line-height:normal;font-family:Aptos,sans-serif">
<span style="background-color:transparent"> Pow_alphanorm = Pow_alpha.powspctrm / </span><b style="background-color:transparent">sum(FA_source.powscptrm,2)</b></p>
<p class="MsoNormal" style="margin:0cm 0cm 6pt;line-height:normal;font-family:Aptos,sans-serif">
<b style="background-color:transparent">(b) </b><span style="background-color:transparent"> Use the estimate from LCMV ft_sourceanalysis </span></p>
<p class="MsoNormal" style="margin:0cm 0cm 6pt;line-height:normal;font-family:Aptos,sans-serif">
<span style="background-color:transparent"> Pow_alphanorm = Pow_alpha.powspctrm / </span><b style="background-color:transparent">source.avg.pow</b><span style="background-color:transparent">;</span></p>
<p class="MsoNormal" style="margin:0cm 0cm 6pt;line-height:normal;font-family:Aptos,sans-serif">
<span lang="EN-US" style="background-color:transparent"><br>
</span></p>
<p class="MsoNormal" style="margin:0cm 0cm 6pt;line-height:normal;font-family:Aptos,sans-serif">
<span lang="EN-US" style="background-color:transparent">My question is whether <b>(b)</b> is a valid approach to normalizing the spectrum/FOI power</span><span style="background-color:transparent">, or would normalization as in</span><span style="background-color:transparent"> </span><b style="background-color:transparent">(a)</b><span style="background-color:transparent"> </span><span style="background-color:transparent">be
more interpretable?</span></p>
<p class="MsoNormal" style="margin:0cm 0cm 6pt;line-height:normal;font-family:Aptos,sans-serif">
<span lang="EN-US">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.</span></p>
<p class="MsoNormal" style="margin:0cm 0cm 6pt;line-height:normal;font-family:Aptos,sans-serif">
<span lang="EN-US">Thanks,</span></p>
<div style="margin: 0cm 0cm 6pt; line-height: normal; font-family: Aptos, sans-serif;">
<br class="webkit-block-placeholder">
</div>
<p class="MsoNormal" style="margin:0cm 0cm 6pt;line-height:normal;font-family:Aptos,sans-serif">
<span lang="EN-US">Gabriel Costa</span></p>
</div>
_______________________________________________<br>
fieldtrip mailing list<br>
https://mailman.science.ru.nl/mailman/listinfo/fieldtrip<br>
https://doi.org/10.1371/journal.pcbi.1002202<br>
</div>
</blockquote>
</div>
<br>
</div>
</body>
</html>