Values of zero in coherence analysis

Hello. I’m looking at some before/after resting connectivity. Thus far, I’ve used two different methods.

  1. With one set of scouts, I’ve calculated coherence using the processed source-space recordings, selecting “mean” and “after” as recommended. This worked fine, I was able to get a matrix of coherence values at various frequency bands and extract the data to work on it in Matlab.

  2. I have another set of scouts which are better, being derived from a brain atlas and used in one of my prior studies. However, there are more scouts and they’re much larger. Thus, an NxN analysis using “mean” and “after” runs into severe RAM restrictions. To ease those, I extracted the mean time-signals from the scouts and then ran the coherence analysis on that data. However, this produces scout-pairs whose coherence is 0, which seems incorrect (at most it ought to be a very low number).

Would anyone be able to explain why I’m getting some “0” coherence results using the second method?

And can anyone suggest another approach? I’d rather not redraw the second set of scouts, since they’ve been useful for a prior study, though I won’t rule it out.

  • B

Hi Benjamin,

I've calculated coherence using the processed source-space recordings, selecting "mean" and "after" as recommended

In the Brainstorm documentation, there is no official recommendation yet on what to do at this stage. This choice is up to the experimenter. You may discuss it directly with @Sylvain.

this produces scout-pairs whose coherence is 0, which seems incorrect (at most it ought to be a very low number).

Insignificant values of coherence are removed from the result and replaced with zeros. If you have very low coherence values and/or very not enough samples to estimate it correctly, you will get zeros in output. The formulas used are described in the code:

There were also zero values in your previous calculation, but because you were averaging many values (nb vertices in scout A * nb vertices in scout B), you were not seeing them in the final results.

And can anyone suggest another approach?

@Sylvain, @hossein27en ?

Cheers,
Francois

Oh, okay, I hadn’t realized there was some significance estimation in the Brainstorm script. I think this is fine then, I can replace the 0-values with arbitrarily low values for my own script (my problem was a divide-by-zero result in my script invalidating correlations between behavioural results and coherence results).

Hi Benjamin:

For resting state connectivity, I recommend you use the Amplitude Envelope Correlation (AEC) measure, which computes the correlation between the envelopes of narrow band signals (e.g., delta, theta, alpha, etc.). These envelopes can also be low-pass filtered, to capture and compute inter-regional correlations between only their slower fluctuations. I am not sure BST would let you do that from the user interface though. There is an AEC option in the GUI whereby source time series are orthogonalized before their envelopes are extracted: this is what Brooked et al. have been using for their several resting-state studies. They have reported interesting connectome results using AEC in the beta band.

Hope this helps.

Hi Sylvain,

Thanks for the suggestion, I’ll take a look at that.