How to interpret mne_connectivity results

Hello everyone!
I’m using:

  • MNE version: 1.3.0
  • operating system: e.g. macOS 13

I’m new to connectivity analysis (and really any EEG analysis) and I have got a connectivity matrix using this code script:

con_methods = ['wpli']
con_freqs = ['4-30', '4-8', '8-13', '13-20', '20-30', '8-10', '10-13']
freqs_min = [int(x.split('-')[0]) for x in con_freqs]
freqs_max = [int(x.split('-')[1]) for x in con_freqs]
sen_or_sour = 'sensors'

def calculate_conn(data, con_methods, sfreq, freqs_min, freqs_max, node_names, person, output_folder):

    for con_method in con_methods:
        con = mne_connectivity.spectral_connectivity_epochs(data, method = con_methods,
                                                                                       mode = 'multitaper',
                                                                                       sfreq=sfreq, fmin=freqs_min,
                                                                                       fmax = freqs_max, faverage = True,
                                                                                       mt_adaptive = True, n_jobs = -1)
        con = con.get_data(output='dense')
    for shp in range(0, con.shape[2]):
        output_filename = f'{output_folder}/{person}_{sen_or_sour}_{con_method}.csv'
        savefile = pd.DataFrame(np.array(con[:,:,shp]))
        savefile.columns = savefile.index = node_names


epochs = epoching(raw, 6., 0.5) #type - numpy array
person = 'man'
calculate_conn(epochs, con_methods,['sfreq'], freqs_min, freqs_max,['ch_names'], person, output_folder)

Please someone explain me how do I enterprise the results? I have a table now with values 1 and values between 0 and 1. Do I understand correctly there is no certain values or cutoffs that tell brain regions are interconnected significantly more than the others? What is a common practice interpreting the results?

I’m performing analysis on a EEG of epilepsy patient. Is there any way I can tell their brain connectivity do or do not differ from Normal EEG? Should I compare them?

Really any answers or suggestions on analysis are highly appreciated!


This doesn’t answer your question about interpretation, but note that it appears that you’re using the same output_filename for each slice of axis 2; so if your con has shape (n_sensors, n_sensors, n_frequencies) then your saved file will only contain the last frequency bin (all others are getting overwritten on each iteration of the loop).

Since you appear to be using wpli method, the relevant reference (from the docstring of the spectral_connectivity_epochs function) is this one: Presumably the interpretation can be gleaned from there.

cc @adam2392 who might have better answers ready-to-hand

Interpretation is left to the user and is dependent on your assumptions and data. I think certain packages implement graph-based statistics: Overview of graspologic — graspologic 3.0.0 documentation