source of equation

mne version 1.8.0
windows 11
Hi experts,
I am a biginner of mne.
I study time_frequency.py(mne-python/mne/minimum_norm/time_frequency).
In def _single_epoch_tfr, line432, script is plv_f /= np.abs(plv_f).
Please let me know the meaning, background, source of “plv_f /= np.abs(plv_f).”
The reports I know does not this division.

Thanks for your response in advance.

Best regards,
Tetsu

@oyamat , that line of code was written 10 years ago, so I don’t think someone on this forum can describe it in great detail for you :frowning:

Here’s what I can say:

  • PLV stands for Phase Locking Value.

  • Practically speaking, plv_f /= np.abs(plv_f) just scales plv_f by the absolute value of itself. So it will be either -1 or 1.

  • I think that this line of code is only reached if you set return_plv to True in mne.minimum_norm.source_induced_power

1 Like

Maybe it’s as discussed in this thread?

Dear Scott,

Thank you for your response. I don’t understand the correct definition of Phase Locking Value(PLV), Phase Locking Factor(PLF), the Evoked Power.
Then,
(1) If the value is divided by the absolute of coefficients of the complex, the value will become PLF ?
(2) PLF is applied to a single channel(electrode), PLV is applied to 2 channels, not 1 channel. This is correct ?
(3) Please let me know how to calculate the evoked power for 1 channel.

Best regards,
Tetsu

Hi,

  1. I think plf_f is a complex number and dividing by it’s absolute value only amounts to applying a scaling factor that makes the amplitude span the range [0, 1]. In that respect, PLV is not converted to PLF when applying the normalization.
  2. I am no expert, but I would that’s true based on a couple of articles (A novel approach for assessing neuromodulation using phase-locked information measured with TMS-EEG - PubMed, Frontiers | Transcranial magnetic stimulation-induced global propagation of transient phase resetting associated with directional information flow).
  3. Maybe this example will be of help to you.

Cheers,

1 Like

Assuming plv_f /= np.abs(plv_f) is equal to CSDxy/|CSDxy| this is just a method to obtain e^(i theta) where theta is the phase difference between x and y signal. By average CSDxy/|CSDxy| across epochs you get a plv value. I came to this conclusion from reading the following articles.

Ricardo Bruña et al 2018 J. Neural Eng. 15 056011

arXiv:1702.05254

Neuroimage. 2013 July 1; 74: 231–244. doi:10.1016/j.neuroimage.2013.02.008.

PLOSONE|DOI:10.1371/journal.pone.0146443 January8, 2016

Hum Brain Mapp. 1999;8(4):194-208. doi: 10.1002/(sici)1097-0193(1999)8:4<194::aid-hbm4>3.0.co;2-c.

2 Likes