New method: corrected imaginary part of phase locking value (cIPLV)

Hi Francois and Martin,
I recently read a paper about PLV (Bruña et al., 2018) that proposes a new, faster and less biased way of computing PLV, even when assessing whole-brain connectivity. The paper includes their Matlab code.
I know your to-do list is long but could this be included in Brainstorm at some point?

Here is the link to the paper

Many thanks!

Thomas

1 Like

@Sylvain @hossein27en @leahy?

Dear Thomas,

Many thanks for your message.

As you mentioned, we have other priorities, so we cannot add this functionality to the Brainstorm at this time. Please consider that adding a new function needs several steps like necessity, validating the algorithm and simulations.

As you know, you can write your own process function based the available guidelines
in our tutorial.
https://neuroimage.usc.edu/brainstorm/Tutorials/Scripting

  • Hossein

I completely understand. Thanks for the fast answer Hossein!

Please correct me if I'm wrong but for iPLV simply open bst_connectivity.m and change abs to imag:

% Measure
if strcmpi(OPTIONS.Method, 'plv') || strcmpi(OPTIONS.Method, 'plvt')
% Apply measure
switch (OPTIONS.PlvMeasure)
case 'magnitude'
FileMat.TF = abs(FileMat.TF);
FileMat.Measure = 'other';
otherwise
FileMat.Measure = 'none';
end
else
FileMat.Measure = 'other';
end

That sounds promising, I hope your'e right!
:slight_smile:

Just seeing this now, but since this summer, the PLV implementation follows the Bruña and Pereda's paper, and it's indeed faster :slight_smile:

I added the basic one though, not the ciPLV (which is indeed very easy to modify).

What's the best way of adding the ciPLV? @Francois @Sylvain ?

If we decide that it's the default and that PLV becomes ciPLV, then it's easy for me.
Otherwise if we have to add a new measure, better I send you the modification directly.

cheers

@Sylvain @hossein27en @Raymundo.Cassani ?

I think it would be essential to have one PLV and one iPLV estimate. ciPLV seems to be the best for the latter.

2 Likes

It would be great to add these connectivity measures to BS!! :slight_smile:
Hopefully

@danielemarinazzo
Yes, please send me your code, in a way that is compatible with the current implementation of PLV:
https://github.com/brainstorm-tools/brainstorm3/blob/master/toolbox/connectivity/bst_connectivity.m#L505

Ideally, you should be able to replace the case 'plv' with your code and it should work.
I will add your code to a new case ciplv and add everything else needed in the rest of the software so that the output files are recognized correctly everywhere.

Thanks!

Hi, I have posted the edits in a pull request on github, my previous replies were too noisy and not all consistent with the brainstorm format.

The implementations are in the commented lines in the pull request here

1 Like

Thank you!

I haven't forgotten about your request. We will discuss this with the rest of the Brainstorm team at our biweekly meeting next week. Then I will need a few extra days to implement the new option in the PLV process.
Please be patient :slight_smile:

Thanks, and no hurry at all!
As a matter of fact in this case the delay was beneficial so I could double check the code and correct some inconsistencies.
Please feel free to ping me in case you need something when you discuss the implementation.

I opened a PR to discuss the implementation:
https://github.com/brainstorm-tools/brainstorm3/pull/497

Can you please comment directly in there?
Thanks

Merged here:

2 Likes

Thank you very much!!! :smile: