.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_single_simulation/plot_single_simulation.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note Click :ref:`here ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_single_simulation_plot_single_simulation.py: Single simulation and parameters computation ============================================ This example shows how to simulate a sensor level MEG configuration and compute optimal parameters for neural activity and connectivity estimation .. GENERATED FROM PYTHON SOURCE LINES 10-25 .. code-block:: default import mne import numpy as np import math import os.path as op import os from scipy import optimize, signal import funcs_single_sim as funcs import pooch subject_dir = op.join(mne.datasets.sample.data_path(), 'subjects') subject = 'sample' .. GENERATED FROM PYTHON SOURCE LINES 26-27 Define customizable features .. GENERATED FROM PYTHON SOURCE LINES 27-42 .. code-block:: default # Standard deviation of the entries of the AR model (accepted values are: # ranging from 0.1 to 1) alpha = np.random.rand(1)*0.9+0.1 # area of the simulated patch in cm^2 (accepted values are: 2, 4, 8) area = 8 # intra coherenc of the simulated patch (accepted values are: 1, 2, 4) intra_coh = 1 # sensor level SNR in dB (accepted values are: ranging from -20 to 5) SNR_sensors = -5 # background activity (computed as the norm f the patches time cources over the # norm of the background time courses) (accepted values are: 0.1, 0.5, 0.9) SNR_background = 2 .. GENERATED FROM PYTHON SOURCE LINES 43-44 Download data (if not already downloaded or generated with generate_fwd.py) .. GENERATED FROM PYTHON SOURCE LINES 44-63 .. code-block:: default data_path = op.join('..', 'data') if not op.exists(data_path): os.mkdir(data_path) fname = 'cortico_dist_oct6.npy' if not op.exists(op.join(data_path, fname)): url = 'https://osf.io/download/37kaz/?direct%26mode=render' pooch.retrieve(url=url, known_hash=None, path=data_path, fname=fname) fname = 'oct6_fwd.fif' if not op.exists(op.join(data_path, fname)): url = 'https://osf.io/download/7dfvm/?direct%26mode=render' pooch.retrieve(url=url, known_hash=None, path=data_path, fname=fname) .. rst-class:: sphx-glr-script-out .. code-block:: none Downloading data from 'https://osf.io/download/37kaz/?direct%26mode=render' to file '/home/alberto/Documents/regconnectivity/data/cortico_dist_oct6.npy'. SHA256 hash of downloaded file: 3be6c4a963a912903a771963ea1876a0fe4f273f92e831ae9d3a13388a8f055d Use this value as the 'known_hash' argument of 'pooch.retrieve' to ensure that the file hasn't changed if it is downloaded again in the future. Downloading data from 'https://osf.io/download/7dfvm/?direct%26mode=render' to file '/home/alberto/Documents/regconnectivity/data/oct6_fwd.fif'. SHA256 hash of downloaded file: b7080e28f95f50ccbf8f76452627da1b98f58ab1c8a96d92831fd5f5efb13005 Use this value as the 'known_hash' argument of 'pooch.retrieve' to ensure that the file hasn't changed if it is downloaded again in the future. .. GENERATED FROM PYTHON SOURCE LINES 64-65 Load data .. GENERATED FROM PYTHON SOURCE LINES 65-99 .. code-block:: default # data path fwd_file = op.join(data_path, 'oct6_fwd.fif') # load data fwd = mne.read_forward_solution(fwd_file, verbose=False) fwd = mne.convert_forward_solution(fwd, surf_ori=True, force_fixed=True, use_cps=True, verbose=False) fwd = mne.pick_types_forward(fwd, meg='mag', eeg=False, ref_meg=False) # leadfield matrix G = fwd['sol']['data'] G = 10**5*G GGt = G.dot(G.T) U, s, V = np.linalg.svd(G) V = V.T # dipols position dip_pos = fwd['source_rr'] # dipols orientations dip_or = fwd['source_nn'] # Source space src = fwd['src'] # vertex indeces vertno = [src[0]['vertno'], src[1]['vertno']] # load cortico-cortical distance matrix cortico_dist_file = op.join(data_path, 'cortico_dist_oct6.npy') cortico_dist = np.load(cortico_dist_file) .. rst-class:: sphx-glr-script-out .. code-block:: none 102 out of 306 channels remain after picking .. GENERATED FROM PYTHON SOURCE LINES 100-101 Define additional features .. GENERATED FROM PYTHON SOURCE LINES 101-129 .. code-block:: default T = int(10000) # Number of time points fs = int(128) # Samples frequency # range for filtering the data fmin = 8 fmax = 12 delta_t = 1/fs # Time resolution M = G.shape[0] # Number of sensor N_dense = G.shape[1] # Number of sources in source space N_act = int(2) # Number of active patches P = int(5) # MVAR order ratio_max = 1.5 # Ratio max between the intensities of the seed sources of the # active patches # store relevant features features = {'T': T, 'fs': fs, 'fmin': fmin, 'fmax': fmax, 'N_act': N_act, 'SNR_sensors': SNR_sensors, 'area': area, 'intra_coh': intra_coh, 'SNR_backgroud': SNR_background} .. GENERATED FROM PYTHON SOURCE LINES 130-131 Define sources location .. GENERATED FROM PYTHON SOURCE LINES 131-143 .. code-block:: default # Select a pais of sources satisfying specific requirements seed_loc = funcs.select_sources(G, dip_pos, 1)[0] # Define patch radius from the desired area r = np.sqrt(area*10**(-4)/math.pi) # radius of the patch (maximum distance # from the seed in meters) # Define the location of the sources within the patches p1_locs, p2_locs = funcs.gen_patches_sources(cortico_dist, r, seed_loc) .. GENERATED FROM PYTHON SOURCE LINES 144-149 Plot patches on the brain .. warning:: Note that plot perspective might not be optimal, when downloading the codes plots are interavtive and perspectives can be changed. .. GENERATED FROM PYTHON SOURCE LINES 149-180 .. code-block:: default view = 'axial' X = np.zeros((G.shape[1])) stc = mne.SourceEstimate(X, vertices=vertno, tmin=0, tstep=1, subject=subject) hemi = 'both' brain = stc.plot(subject=subject, surface='inflated', smoothing_steps=5, hemi=hemi, subjects_dir=subject_dir, time_viewer=False, colorbar=False, views=view) nv_lh = stc.vertices[0].shape[0] for idx, loc in enumerate([loc for loc in p1_locs]): if loc < nv_lh: brain.add_foci(stc.vertices[0][loc], coords_as_verts=True, hemi='lh', color='black', scale_factor=0.3) else: brain.add_foci(stc.vertices[1][loc-nv_lh], coords_as_verts=True, hemi='rh', color='black', scale_factor=0.3) nv_lh = stc.vertices[0].shape[0] for idx, loc in enumerate([loc for loc in p2_locs]): if loc < nv_lh: brain.add_foci(stc.vertices[0][loc], coords_as_verts=True, hemi='lh', color='red', scale_factor=0.3) else: brain.add_foci(stc.vertices[1][loc-nv_lh], coords_as_verts=True, hemi='rh', color='red', scale_factor=0.3) title = 'Active patches location' brain.add_text(0.1, 0.9, title, 'title', font_size=14) .. image-sg:: /auto_single_simulation/images/sphx_glr_plot_single_simulation_001.png :alt: plot single simulation :srcset: /auto_single_simulation/images/sphx_glr_plot_single_simulation_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none Using pyvistaqt 3d backend. Using control points [0. 0. 0.] /home/alberto/Documents/regconnectivity/examples_single_simulation/plot_single_simulation.py:158: RuntimeWarning: All data were zero colorbar=False, views=view) .. GENERATED FROM PYTHON SOURCE LINES 181-182 Simulate brain activity .. GENERATED FROM PYTHON SOURCE LINES 182-273 .. code-block:: default # Step 1: simulate a pair of MVAR time courses # # The generated time courses must satisfy two criteria: # 1) the ratio between the norms is lower than ratio_max # # 2) the power spectrum in the frequency range of interest is high enough # initialize the time courses seed_tc = np.zeros((N_act, T)) nperseg = 256 # length of the window for the fourier transform nfft = nperseg # number of frequencies power_condition = 0 while power_condition == 0: ratio = np.inf # generate MVAR time courses until they meet the condition on the norm while ratio > ratio_max: AR_mod = funcs.gen_ar_model(N_act, P, alpha) # generate MVAR model X_act, AR_mod = funcs.gen_ar_series(AR_mod, T) # generate MVAR time # courses norm_X = np.linalg.norm(X_act, axis=1) # compute norm ratio = norm_X[-1]/norm_X[0] # retain pairs of time courses whose # intensities are close # (int_max/int_min < ratio_max) # normalize the time series so that different pairs have similar intensity # (this was important in the paper simulation where more than one pair of # time courses were simulated) norm_const = np.mean(np.std(X_act, axis=1)) X_act = X_act/norm_const # compute power spectrum in the freq range of interest f, Pwe = signal.welch(X_act, fs=fs, window='hann', nperseg=nperseg, noverlap=nperseg//2, nfft=nfft, detrend='constant', return_onesided=True, scaling='density', axis=-1) P_tot = Pwe[0, :] + Pwe[1, :] f_in = np.intersect1d(np.where(f >= fmin)[0], np.where(f <= fmax)[0]) # retain only time courses with sufficiently high power in the frequency # range of interest if np.sum(P_tot[f_in])/len(f_in) > 1.2*np.sum(P_tot)/len(f): b, a = signal.butter(3, np.array([8, 12]), btype='bandpass', analog=False, output='ba', fs=fs) X_act = signal.filtfilt(b, a, X_act, axis=-1, padtype='odd', padlen=None, method='pad', irlen=None) seed_tc[:, :] = X_act power_condition = 1 # Step 2: generate patch activity # Generate the time courses associated with the sources within the patches, so # that they have the desired intracoherence level. p1_tcs, p2_tcs = funcs.gen_coherent_patches(seed_tc, p1_locs, p2_locs, intra_coh, 0, nperseg, nfft, fs, fmin, fmax) # Step 3: generate background activtiy (it takes a while) # To each source outside the patche is assigned a time course following an AR # model of order 5. The overall activity of the background sources is then # normalized to obtain the desired SNR level # locations of background sources bg_locs = np.setdiff1d(np.arange(N_dense), np.concatenate((p1_locs, p2_locs))) # generate background time courses exploiting an AR model bg_tcs_general = funcs.gen_background_tcs(P, len(bg_locs), T) # define the norm of patches and background activity to define the snr between # patches and bg patches_norm = np.linalg.norm(np.concatenate((p1_tcs, p2_tcs), axis=0), ord='fro')**2 bg_norm_general = np.linalg.norm(bg_tcs_general, ord='fro')**2 # scale background time coursed to obtain the desired snr level bg_tcs = bg_tcs_general*np.sqrt((patches_norm/bg_norm_general)/SNR_background) # Step 4: store the genarate data in a single matrix X = np.zeros((N_dense, T)) X[bg_locs, :] = bg_tcs X[p1_locs, :] = p1_tcs X[p2_locs, :] = p2_tcs .. GENERATED FROM PYTHON SOURCE LINES 274-275 Generate sensor level recordings .. GENERATED FROM PYTHON SOURCE LINES 275-288 .. code-block:: default # generate white gaussian noise N_tilde = np.random.randn(M, T) # scale the noise to obtain the desired SNR Sigma = np.sqrt(np.linalg.norm(G.dot(X), ord='fro')**2/(10**(SNR_sensors/10) * np.linalg.norm(N_tilde, ord='fro')**2)) N = Sigma*N_tilde # generate sensor level recordings Y = G.dot(X)+N .. GENERATED FROM PYTHON SOURCE LINES 289-290 Store the generated data .. GENERATED FROM PYTHON SOURCE LINES 290-296 .. code-block:: default data = {} data['X'] = X data['Y'] = Y data['sees_loc'] = seed_loc .. GENERATED FROM PYTHON SOURCE LINES 297-298 Compute optimal parameters .. GENERATED FROM PYTHON SOURCE LINES 298-312 .. code-block:: default # number of parameters to be tested to find the optimal one for connectivity # estimation n_lambdas = 15 # initialize the dictionary where to store parameters, TPF and FPF related to # connectivity estimation, and the variance of the noise parameters = {'tc': [], 'conn': np.zeros((4, n_lambdas)), 'TPF_conn': np.zeros((n_lambdas, 4, 20)), 'FPF_conn': np.zeros((n_lambdas, 4, 20)), 'sigma_noise': []} .. GENERATED FROM PYTHON SOURCE LINES 313-314 Optimal parameter for neural activity estimation .. GENERATED FROM PYTHON SOURCE LINES 314-326 .. code-block:: default # define startin point used by the minimize function to find the optimal # parameter input_lamX = np.linalg.norm(N, ord='fro')**2/np.linalg.norm(G.dot(X), ord='fro')**2 # find the optimal parameter opt_set = optimize.minimize(funcs.err_X, input_lamX, args=(X, Y, G, GGt), method='Nelder-Mead') lamX = opt_set['x'][0].copy() .. GENERATED FROM PYTHON SOURCE LINES 327-328 Optimal parameters for connecttivity estimation .. GENERATED FROM PYTHON SOURCE LINES 328-357 .. code-block:: default # define the parameter to be tested to find the optimal one for connectivity # estimation, the parameters are defined as multiples of the optimal parameter # for neural activity estimation lambdas = np.logspace(-5, 1, num=n_lambdas)*lamX # define the matrix of positives and negatives (positives=1, negtives=0) for # connectivity, if the (i,j)-th entry of the matrix assumes value 1 (0) # indicate that there is (there is not) connection between source i and j PN_matrix_conn = np.zeros((len(p1_locs), N_dense), dtype=int) PN_matrix_conn[:, p2_locs] = np.ones((len(p1_locs), len(p2_locs)), dtype=int) PN_matrix_conn = np.delete(PN_matrix_conn, p1_locs, axis=-1) # initialize matrices of true positive and false positive fractions TPF_conn = np.zeros((n_lambdas, 4, 20)) # dimension: # n_lambdas x conn_meths x thresholds FPF_conn = np.zeros((n_lambdas, 4, 20)) # dimension: # n_lambdas x conn_meths x thresholds AUC_conn = np.zeros((n_lambdas, 4)) # dimension: n_lambdas x conn_meths # compute the AUC value for each tested parameter and for each connectivity # matrix for i_lam in range(n_lambdas): AUC_conn[i_lam, :], TPF_conn[i_lam, :, :], FPF_conn[i_lam, :, :] = \ funcs.auc(lambdas[i_lam], ['cpsd', 'imcoh', 'ciplv', 'wpli'], G, GGt, Y, p1_locs, p2_locs, fmin, fmax, PN_matrix_conn, fs, nperseg) .. rst-class:: sphx-glr-script-out .. code-block:: none Connectivity computation... computing connectivity for 298420 connections using t=0.000s..1.992s for estimation (256 points) frequencies: 8.0Hz..12.0Hz (9 points) using FFT with a Hanning window to estimate spectra the following metrics will be computed: Imaginary Coherence, ciPLV, WPLI computing connectivity for epoch 1 computing connectivity for epoch 2 computing connectivity for epoch 3 computing connectivity for epoch 4 computing connectivity for epoch 5 computing connectivity for epoch 6 computing connectivity for epoch 7 computing connectivity for epoch 8 computing connectivity for epoch 9 computing connectivity for epoch 10 computing connectivity for epoch 11 computing connectivity for epoch 12 computing connectivity for epoch 13 computing connectivity for epoch 14 computing connectivity for epoch 15 computing connectivity for epoch 16 computing connectivity for epoch 17 computing connectivity for epoch 18 computing connectivity for epoch 19 computing connectivity for epoch 20 computing connectivity for epoch 21 computing connectivity for epoch 22 computing connectivity for epoch 23 computing connectivity for epoch 24 computing connectivity for epoch 25 computing connectivity for epoch 26 computing connectivity for epoch 27 computing connectivity for epoch 28 computing connectivity for epoch 29 computing connectivity for epoch 30 computing connectivity for epoch 31 computing connectivity for epoch 32 computing connectivity for epoch 33 computing connectivity for epoch 34 computing connectivity for epoch 35 computing connectivity for epoch 36 computing connectivity for epoch 37 computing connectivity for epoch 38 computing connectivity for epoch 39 computing connectivity for epoch 40 computing connectivity for epoch 41 computing connectivity for epoch 42 computing connectivity for epoch 43 computing connectivity for epoch 44 computing connectivity for epoch 45 computing connectivity for epoch 46 computing connectivity for epoch 47 computing connectivity for epoch 48 computing connectivity for epoch 49 computing connectivity for epoch 50 computing connectivity for epoch 51 computing connectivity for epoch 52 computing connectivity for epoch 53 computing connectivity for epoch 54 computing connectivity for epoch 55 computing connectivity for epoch 56 computing connectivity for epoch 57 computing connectivity for epoch 58 computing connectivity for epoch 59 computing connectivity for epoch 60 computing connectivity for epoch 61 computing connectivity for epoch 62 computing connectivity for epoch 63 computing connectivity for epoch 64 computing connectivity for epoch 65 computing connectivity for epoch 66 computing connectivity for epoch 67 computing connectivity for epoch 68 computing connectivity for epoch 69 computing connectivity for epoch 70 computing connectivity for epoch 71 computing connectivity for epoch 72 computing connectivity for epoch 73 computing connectivity for epoch 74 computing connectivity for epoch 75 computing connectivity for epoch 76 computing connectivity for epoch 77 [Connectivity computation done] Connectivity computation... computing connectivity for 298420 connections using t=0.000s..1.992s for estimation (256 points) frequencies: 8.0Hz..12.0Hz (9 points) using FFT with a Hanning window to estimate spectra the following metrics will be computed: Imaginary Coherence, ciPLV, WPLI computing connectivity for epoch 1 computing connectivity for epoch 2 computing connectivity for epoch 3 computing connectivity for epoch 4 computing connectivity for epoch 5 computing connectivity for epoch 6 computing connectivity for epoch 7 computing connectivity for epoch 8 computing connectivity for epoch 9 computing connectivity for epoch 10 computing connectivity for epoch 11 computing connectivity for epoch 12 computing connectivity for epoch 13 computing connectivity for epoch 14 computing connectivity for epoch 15 computing connectivity for epoch 16 computing connectivity for epoch 17 computing connectivity for epoch 18 computing connectivity for epoch 19 computing connectivity for epoch 20 computing connectivity for epoch 21 computing connectivity for epoch 22 computing connectivity for epoch 23 computing connectivity for epoch 24 computing connectivity for epoch 25 computing connectivity for epoch 26 computing connectivity for epoch 27 computing connectivity for epoch 28 computing connectivity for epoch 29 computing connectivity for epoch 30 computing connectivity for epoch 31 computing connectivity for epoch 32 computing connectivity for epoch 33 computing connectivity for epoch 34 computing connectivity for epoch 35 computing connectivity for epoch 36 computing connectivity for epoch 37 computing connectivity for epoch 38 computing connectivity for epoch 39 computing connectivity for epoch 40 computing connectivity for epoch 41 computing connectivity for epoch 42 computing connectivity for epoch 43 computing connectivity for epoch 44 computing connectivity for epoch 45 computing connectivity for epoch 46 computing connectivity for epoch 47 computing connectivity for epoch 48 computing connectivity for epoch 49 computing connectivity for epoch 50 computing connectivity for epoch 51 computing connectivity for epoch 52 computing connectivity for epoch 53 computing connectivity for epoch 54 computing connectivity for epoch 55 computing connectivity for epoch 56 computing connectivity for epoch 57 computing connectivity for epoch 58 computing connectivity for epoch 59 computing connectivity for epoch 60 computing connectivity for epoch 61 computing connectivity for epoch 62 computing connectivity for epoch 63 computing connectivity for epoch 64 computing connectivity for epoch 65 computing connectivity for epoch 66 computing connectivity for epoch 67 computing connectivity for epoch 68 computing connectivity for epoch 69 computing connectivity for epoch 70 computing connectivity for epoch 71 computing connectivity for epoch 72 computing connectivity for epoch 73 computing connectivity for epoch 74 computing connectivity for epoch 75 computing connectivity for epoch 76 computing connectivity for epoch 77 [Connectivity computation done] Connectivity computation... computing connectivity for 298420 connections using t=0.000s..1.992s for estimation (256 points) frequencies: 8.0Hz..12.0Hz (9 points) using FFT with a Hanning window to estimate spectra the following metrics will be computed: Imaginary Coherence, ciPLV, WPLI computing connectivity for epoch 1 computing connectivity for epoch 2 computing connectivity for epoch 3 computing connectivity for epoch 4 computing connectivity for epoch 5 computing connectivity for epoch 6 computing connectivity for epoch 7 computing connectivity for epoch 8 computing connectivity for epoch 9 computing connectivity for epoch 10 computing connectivity for epoch 11 computing connectivity for epoch 12 computing connectivity for epoch 13 computing connectivity for epoch 14 computing connectivity for epoch 15 computing connectivity for epoch 16 computing connectivity for epoch 17 computing connectivity for epoch 18 computing connectivity for epoch 19 computing connectivity for epoch 20 computing connectivity for epoch 21 computing connectivity for epoch 22 computing connectivity for epoch 23 computing connectivity for epoch 24 computing connectivity for epoch 25 computing connectivity for epoch 26 computing connectivity for epoch 27 computing connectivity for epoch 28 computing connectivity for epoch 29 computing connectivity for epoch 30 computing connectivity for epoch 31 computing connectivity for epoch 32 computing connectivity for epoch 33 computing connectivity for epoch 34 computing connectivity for epoch 35 computing connectivity for epoch 36 computing connectivity for epoch 37 computing connectivity for epoch 38 computing connectivity for epoch 39 computing connectivity for epoch 40 computing connectivity for epoch 41 computing connectivity for epoch 42 computing connectivity for epoch 43 computing connectivity for epoch 44 computing connectivity for epoch 45 computing connectivity for epoch 46 computing connectivity for epoch 47 computing connectivity for epoch 48 computing connectivity for epoch 49 computing connectivity for epoch 50 computing connectivity for epoch 51 computing connectivity for epoch 52 computing connectivity for epoch 53 computing connectivity for epoch 54 computing connectivity for epoch 55 computing connectivity for epoch 56 computing connectivity for epoch 57 computing connectivity for epoch 58 computing connectivity for epoch 59 computing connectivity for epoch 60 computing connectivity for epoch 61 computing connectivity for epoch 62 computing connectivity for epoch 63 computing connectivity for epoch 64 computing connectivity for epoch 65 computing connectivity for epoch 66 computing connectivity for epoch 67 computing connectivity for epoch 68 computing connectivity for epoch 69 computing connectivity for epoch 70 computing connectivity for epoch 71 computing connectivity for epoch 72 computing connectivity for epoch 73 computing connectivity for epoch 74 computing connectivity for epoch 75 computing connectivity for epoch 76 computing connectivity for epoch 77 [Connectivity computation done] Connectivity computation... computing connectivity for 298420 connections using t=0.000s..1.992s for estimation (256 points) frequencies: 8.0Hz..12.0Hz (9 points) using FFT with a Hanning window to estimate spectra the following metrics will be computed: Imaginary Coherence, ciPLV, WPLI computing connectivity for epoch 1 computing connectivity for epoch 2 computing connectivity for epoch 3 computing connectivity for epoch 4 computing connectivity for epoch 5 computing connectivity for epoch 6 computing connectivity for epoch 7 computing connectivity for epoch 8 computing connectivity for epoch 9 computing connectivity for epoch 10 computing connectivity for epoch 11 computing connectivity for epoch 12 computing connectivity for epoch 13 computing connectivity for epoch 14 computing connectivity for epoch 15 computing connectivity for epoch 16 computing connectivity for epoch 17 computing connectivity for epoch 18 computing connectivity for epoch 19 computing connectivity for epoch 20 computing connectivity for epoch 21 computing connectivity for epoch 22 computing connectivity for epoch 23 computing connectivity for epoch 24 computing connectivity for epoch 25 computing connectivity for epoch 26 computing connectivity for epoch 27 computing connectivity for epoch 28 computing connectivity for epoch 29 computing connectivity for epoch 30 computing connectivity for epoch 31 computing connectivity for epoch 32 computing connectivity for epoch 33 computing connectivity for epoch 34 computing connectivity for epoch 35 computing connectivity for epoch 36 computing connectivity for epoch 37 computing connectivity for epoch 38 computing connectivity for epoch 39 computing connectivity for epoch 40 computing connectivity for epoch 41 computing connectivity for epoch 42 computing connectivity for epoch 43 computing connectivity for epoch 44 computing connectivity for epoch 45 computing connectivity for epoch 46 computing connectivity for epoch 47 computing connectivity for epoch 48 computing connectivity for epoch 49 computing connectivity for epoch 50 computing connectivity for epoch 51 computing connectivity for epoch 52 computing connectivity for epoch 53 computing connectivity for epoch 54 computing connectivity for epoch 55 computing connectivity for epoch 56 computing connectivity for epoch 57 computing connectivity for epoch 58 computing connectivity for epoch 59 computing connectivity for epoch 60 computing connectivity for epoch 61 computing connectivity for epoch 62 computing connectivity for epoch 63 computing connectivity for epoch 64 computing connectivity for epoch 65 computing connectivity for epoch 66 computing connectivity for epoch 67 computing connectivity for epoch 68 computing connectivity for epoch 69 computing connectivity for epoch 70 computing connectivity for epoch 71 computing connectivity for epoch 72 computing connectivity for epoch 73 computing connectivity for epoch 74 computing connectivity for epoch 75 computing connectivity for epoch 76 computing connectivity for epoch 77 [Connectivity computation done] Connectivity computation... computing connectivity for 298420 connections using t=0.000s..1.992s for estimation (256 points) frequencies: 8.0Hz..12.0Hz (9 points) using FFT with a Hanning window to estimate spectra the following metrics will be computed: Imaginary Coherence, ciPLV, WPLI computing connectivity for epoch 1 computing connectivity for epoch 2 computing connectivity for epoch 3 computing connectivity for epoch 4 computing connectivity for epoch 5 computing connectivity for epoch 6 computing connectivity for epoch 7 computing connectivity for epoch 8 computing connectivity for epoch 9 computing connectivity for epoch 10 computing connectivity for epoch 11 computing connectivity for epoch 12 computing connectivity for epoch 13 computing connectivity for epoch 14 computing connectivity for epoch 15 computing connectivity for epoch 16 computing connectivity for epoch 17 computing connectivity for epoch 18 computing connectivity for epoch 19 computing connectivity for epoch 20 computing connectivity for epoch 21 computing connectivity for epoch 22 computing connectivity for epoch 23 computing connectivity for epoch 24 computing connectivity for epoch 25 computing connectivity for epoch 26 computing connectivity for epoch 27 computing connectivity for epoch 28 computing connectivity for epoch 29 computing connectivity for epoch 30 computing connectivity for epoch 31 computing connectivity for epoch 32 computing connectivity for epoch 33 computing connectivity for epoch 34 computing connectivity for epoch 35 computing connectivity for epoch 36 computing connectivity for epoch 37 computing connectivity for epoch 38 computing connectivity for epoch 39 computing connectivity for epoch 40 computing connectivity for epoch 41 computing connectivity for epoch 42 computing connectivity for epoch 43 computing connectivity for epoch 44 computing connectivity for epoch 45 computing connectivity for epoch 46 computing connectivity for epoch 47 computing connectivity for epoch 48 computing connectivity for epoch 49 computing connectivity for epoch 50 computing connectivity for epoch 51 computing connectivity for epoch 52 computing connectivity for epoch 53 computing connectivity for epoch 54 computing connectivity for epoch 55 computing connectivity for epoch 56 computing connectivity for epoch 57 computing connectivity for epoch 58 computing connectivity for epoch 59 computing connectivity for epoch 60 computing connectivity for epoch 61 computing connectivity for epoch 62 computing connectivity for epoch 63 computing connectivity for epoch 64 computing connectivity for epoch 65 computing connectivity for epoch 66 computing connectivity for epoch 67 computing connectivity for epoch 68 computing connectivity for epoch 69 computing connectivity for epoch 70 computing connectivity for epoch 71 computing connectivity for epoch 72 computing connectivity for epoch 73 computing connectivity for epoch 74 computing connectivity for epoch 75 computing connectivity for epoch 76 computing connectivity for epoch 77 [Connectivity computation done] Connectivity computation... computing connectivity for 298420 connections using t=0.000s..1.992s for estimation (256 points) frequencies: 8.0Hz..12.0Hz (9 points) using FFT with a Hanning window to estimate spectra the following metrics will be computed: Imaginary Coherence, ciPLV, WPLI computing connectivity for epoch 1 computing connectivity for epoch 2 computing connectivity for epoch 3 computing connectivity for epoch 4 computing connectivity for epoch 5 computing connectivity for epoch 6 computing connectivity for epoch 7 computing connectivity for epoch 8 computing connectivity for epoch 9 computing connectivity for epoch 10 computing connectivity for epoch 11 computing connectivity for epoch 12 computing connectivity for epoch 13 computing connectivity for epoch 14 computing connectivity for epoch 15 computing connectivity for epoch 16 computing connectivity for epoch 17 computing connectivity for epoch 18 computing connectivity for epoch 19 computing connectivity for epoch 20 computing connectivity for epoch 21 computing connectivity for epoch 22 computing connectivity for epoch 23 computing connectivity for epoch 24 computing connectivity for epoch 25 computing connectivity for epoch 26 computing connectivity for epoch 27 computing connectivity for epoch 28 computing connectivity for epoch 29 computing connectivity for epoch 30 computing connectivity for epoch 31 computing connectivity for epoch 32 computing connectivity for epoch 33 computing connectivity for epoch 34 computing connectivity for epoch 35 computing connectivity for epoch 36 computing connectivity for epoch 37 computing connectivity for epoch 38 computing connectivity for epoch 39 computing connectivity for epoch 40 computing connectivity for epoch 41 computing connectivity for epoch 42 computing connectivity for epoch 43 computing connectivity for epoch 44 computing connectivity for epoch 45 computing connectivity for epoch 46 computing connectivity for epoch 47 computing connectivity for epoch 48 computing connectivity for epoch 49 computing connectivity for epoch 50 computing connectivity for epoch 51 computing connectivity for epoch 52 computing connectivity for epoch 53 computing connectivity for epoch 54 computing connectivity for epoch 55 computing connectivity for epoch 56 computing connectivity for epoch 57 computing connectivity for epoch 58 computing connectivity for epoch 59 computing connectivity for epoch 60 computing connectivity for epoch 61 computing connectivity for epoch 62 computing connectivity for epoch 63 computing connectivity for epoch 64 computing connectivity for epoch 65 computing connectivity for epoch 66 computing connectivity for epoch 67 computing connectivity for epoch 68 computing connectivity for epoch 69 computing connectivity for epoch 70 computing connectivity for epoch 71 computing connectivity for epoch 72 computing connectivity for epoch 73 computing connectivity for epoch 74 computing connectivity for epoch 75 computing connectivity for epoch 76 computing connectivity for epoch 77 [Connectivity computation done] Connectivity computation... computing connectivity for 298420 connections using t=0.000s..1.992s for estimation (256 points) frequencies: 8.0Hz..12.0Hz (9 points) using FFT with a Hanning window to estimate spectra the following metrics will be computed: Imaginary Coherence, ciPLV, WPLI computing connectivity for epoch 1 computing connectivity for epoch 2 computing connectivity for epoch 3 computing connectivity for epoch 4 computing connectivity for epoch 5 computing connectivity for epoch 6 computing connectivity for epoch 7 computing connectivity for epoch 8 computing connectivity for epoch 9 computing connectivity for epoch 10 computing connectivity for epoch 11 computing connectivity for epoch 12 computing connectivity for epoch 13 computing connectivity for epoch 14 computing connectivity for epoch 15 computing connectivity for epoch 16 computing connectivity for epoch 17 computing connectivity for epoch 18 computing connectivity for epoch 19 computing connectivity for epoch 20 computing connectivity for epoch 21 computing connectivity for epoch 22 computing connectivity for epoch 23 computing connectivity for epoch 24 computing connectivity for epoch 25 computing connectivity for epoch 26 computing connectivity for epoch 27 computing connectivity for epoch 28 computing connectivity for epoch 29 computing connectivity for epoch 30 computing connectivity for epoch 31 computing connectivity for epoch 32 computing connectivity for epoch 33 computing connectivity for epoch 34 computing connectivity for epoch 35 computing connectivity for epoch 36 computing connectivity for epoch 37 computing connectivity for epoch 38 computing connectivity for epoch 39 computing connectivity for epoch 40 computing connectivity for epoch 41 computing connectivity for epoch 42 computing connectivity for epoch 43 computing connectivity for epoch 44 computing connectivity for epoch 45 computing connectivity for epoch 46 computing connectivity for epoch 47 computing connectivity for epoch 48 computing connectivity for epoch 49 computing connectivity for epoch 50 computing connectivity for epoch 51 computing connectivity for epoch 52 computing connectivity for epoch 53 computing connectivity for epoch 54 computing connectivity for epoch 55 computing connectivity for epoch 56 computing connectivity for epoch 57 computing connectivity for epoch 58 computing connectivity for epoch 59 computing connectivity for epoch 60 computing connectivity for epoch 61 computing connectivity for epoch 62 computing connectivity for epoch 63 computing connectivity for epoch 64 computing connectivity for epoch 65 computing connectivity for epoch 66 computing connectivity for epoch 67 computing connectivity for epoch 68 computing connectivity for epoch 69 computing connectivity for epoch 70 computing connectivity for epoch 71 computing connectivity for epoch 72 computing connectivity for epoch 73 computing connectivity for epoch 74 computing connectivity for epoch 75 computing connectivity for epoch 76 computing connectivity for epoch 77 [Connectivity computation done] Connectivity computation... computing connectivity for 298420 connections using t=0.000s..1.992s for estimation (256 points) frequencies: 8.0Hz..12.0Hz (9 points) using FFT with a Hanning window to estimate spectra the following metrics will be computed: Imaginary Coherence, ciPLV, WPLI computing connectivity for epoch 1 computing connectivity for epoch 2 computing connectivity for epoch 3 computing connectivity for epoch 4 computing connectivity for epoch 5 computing connectivity for epoch 6 computing connectivity for epoch 7 computing connectivity for epoch 8 computing connectivity for epoch 9 computing connectivity for epoch 10 computing connectivity for epoch 11 computing connectivity for epoch 12 computing connectivity for epoch 13 computing connectivity for epoch 14 computing connectivity for epoch 15 computing connectivity for epoch 16 computing connectivity for epoch 17 computing connectivity for epoch 18 computing connectivity for epoch 19 computing connectivity for epoch 20 computing connectivity for epoch 21 computing connectivity for epoch 22 computing connectivity for epoch 23 computing connectivity for epoch 24 computing connectivity for epoch 25 computing connectivity for epoch 26 computing connectivity for epoch 27 computing connectivity for epoch 28 computing connectivity for epoch 29 computing connectivity for epoch 30 computing connectivity for epoch 31 computing connectivity for epoch 32 computing connectivity for epoch 33 computing connectivity for epoch 34 computing connectivity for epoch 35 computing connectivity for epoch 36 computing connectivity for epoch 37 computing connectivity for epoch 38 computing connectivity for epoch 39 computing connectivity for epoch 40 computing connectivity for epoch 41 computing connectivity for epoch 42 computing connectivity for epoch 43 computing connectivity for epoch 44 computing connectivity for epoch 45 computing connectivity for epoch 46 computing connectivity for epoch 47 computing connectivity for epoch 48 computing connectivity for epoch 49 computing connectivity for epoch 50 computing connectivity for epoch 51 computing connectivity for epoch 52 computing connectivity for epoch 53 computing connectivity for epoch 54 computing connectivity for epoch 55 computing connectivity for epoch 56 computing connectivity for epoch 57 computing connectivity for epoch 58 computing connectivity for epoch 59 computing connectivity for epoch 60 computing connectivity for epoch 61 computing connectivity for epoch 62 computing connectivity for epoch 63 computing connectivity for epoch 64 computing connectivity for epoch 65 computing connectivity for epoch 66 computing connectivity for epoch 67 computing connectivity for epoch 68 computing connectivity for epoch 69 computing connectivity for epoch 70 computing connectivity for epoch 71 computing connectivity for epoch 72 computing connectivity for epoch 73 computing connectivity for epoch 74 computing connectivity for epoch 75 computing connectivity for epoch 76 computing connectivity for epoch 77 [Connectivity computation done] Connectivity computation... computing connectivity for 298420 connections using t=0.000s..1.992s for estimation (256 points) frequencies: 8.0Hz..12.0Hz (9 points) using FFT with a Hanning window to estimate spectra the following metrics will be computed: Imaginary Coherence, ciPLV, WPLI computing connectivity for epoch 1 computing connectivity for epoch 2 computing connectivity for epoch 3 computing connectivity for epoch 4 computing connectivity for epoch 5 computing connectivity for epoch 6 computing connectivity for epoch 7 computing connectivity for epoch 8 computing connectivity for epoch 9 computing connectivity for epoch 10 computing connectivity for epoch 11 computing connectivity for epoch 12 computing connectivity for epoch 13 computing connectivity for epoch 14 computing connectivity for epoch 15 computing connectivity for epoch 16 computing connectivity for epoch 17 computing connectivity for epoch 18 computing connectivity for epoch 19 computing connectivity for epoch 20 computing connectivity for epoch 21 computing connectivity for epoch 22 computing connectivity for epoch 23 computing connectivity for epoch 24 computing connectivity for epoch 25 computing connectivity for epoch 26 computing connectivity for epoch 27 computing connectivity for epoch 28 computing connectivity for epoch 29 computing connectivity for epoch 30 computing connectivity for epoch 31 computing connectivity for epoch 32 computing connectivity for epoch 33 computing connectivity for epoch 34 computing connectivity for epoch 35 computing connectivity for epoch 36 computing connectivity for epoch 37 computing connectivity for epoch 38 computing connectivity for epoch 39 computing connectivity for epoch 40 computing connectivity for epoch 41 computing connectivity for epoch 42 computing connectivity for epoch 43 computing connectivity for epoch 44 computing connectivity for epoch 45 computing connectivity for epoch 46 computing connectivity for epoch 47 computing connectivity for epoch 48 computing connectivity for epoch 49 computing connectivity for epoch 50 computing connectivity for epoch 51 computing connectivity for epoch 52 computing connectivity for epoch 53 computing connectivity for epoch 54 computing connectivity for epoch 55 computing connectivity for epoch 56 computing connectivity for epoch 57 computing connectivity for epoch 58 computing connectivity for epoch 59 computing connectivity for epoch 60 computing connectivity for epoch 61 computing connectivity for epoch 62 computing connectivity for epoch 63 computing connectivity for epoch 64 computing connectivity for epoch 65 computing connectivity for epoch 66 computing connectivity for epoch 67 computing connectivity for epoch 68 computing connectivity for epoch 69 computing connectivity for epoch 70 computing connectivity for epoch 71 computing connectivity for epoch 72 computing connectivity for epoch 73 computing connectivity for epoch 74 computing connectivity for epoch 75 computing connectivity for epoch 76 computing connectivity for epoch 77 [Connectivity computation done] Connectivity computation... computing connectivity for 298420 connections using t=0.000s..1.992s for estimation (256 points) frequencies: 8.0Hz..12.0Hz (9 points) using FFT with a Hanning window to estimate spectra the following metrics will be computed: Imaginary Coherence, ciPLV, WPLI computing connectivity for epoch 1 computing connectivity for epoch 2 computing connectivity for epoch 3 computing connectivity for epoch 4 computing connectivity for epoch 5 computing connectivity for epoch 6 computing connectivity for epoch 7 computing connectivity for epoch 8 computing connectivity for epoch 9 computing connectivity for epoch 10 computing connectivity for epoch 11 computing connectivity for epoch 12 computing connectivity for epoch 13 computing connectivity for epoch 14 computing connectivity for epoch 15 computing connectivity for epoch 16 computing connectivity for epoch 17 computing connectivity for epoch 18 computing connectivity for epoch 19 computing connectivity for epoch 20 computing connectivity for epoch 21 computing connectivity for epoch 22 computing connectivity for epoch 23 computing connectivity for epoch 24 computing connectivity for epoch 25 computing connectivity for epoch 26 computing connectivity for epoch 27 computing connectivity for epoch 28 computing connectivity for epoch 29 computing connectivity for epoch 30 computing connectivity for epoch 31 computing connectivity for epoch 32 computing connectivity for epoch 33 computing connectivity for epoch 34 computing connectivity for epoch 35 computing connectivity for epoch 36 computing connectivity for epoch 37 computing connectivity for epoch 38 computing connectivity for epoch 39 computing connectivity for epoch 40 computing connectivity for epoch 41 computing connectivity for epoch 42 computing connectivity for epoch 43 computing connectivity for epoch 44 computing connectivity for epoch 45 computing connectivity for epoch 46 computing connectivity for epoch 47 computing connectivity for epoch 48 computing connectivity for epoch 49 computing connectivity for epoch 50 computing connectivity for epoch 51 computing connectivity for epoch 52 computing connectivity for epoch 53 computing connectivity for epoch 54 computing connectivity for epoch 55 computing connectivity for epoch 56 computing connectivity for epoch 57 computing connectivity for epoch 58 computing connectivity for epoch 59 computing connectivity for epoch 60 computing connectivity for epoch 61 computing connectivity for epoch 62 computing connectivity for epoch 63 computing connectivity for epoch 64 computing connectivity for epoch 65 computing connectivity for epoch 66 computing connectivity for epoch 67 computing connectivity for epoch 68 computing connectivity for epoch 69 computing connectivity for epoch 70 computing connectivity for epoch 71 computing connectivity for epoch 72 computing connectivity for epoch 73 computing connectivity for epoch 74 computing connectivity for epoch 75 computing connectivity for epoch 76 computing connectivity for epoch 77 [Connectivity computation done] Connectivity computation... computing connectivity for 298420 connections using t=0.000s..1.992s for estimation (256 points) frequencies: 8.0Hz..12.0Hz (9 points) using FFT with a Hanning window to estimate spectra the following metrics will be computed: Imaginary Coherence, ciPLV, WPLI computing connectivity for epoch 1 computing connectivity for epoch 2 computing connectivity for epoch 3 computing connectivity for epoch 4 computing connectivity for epoch 5 computing connectivity for epoch 6 computing connectivity for epoch 7 computing connectivity for epoch 8 computing connectivity for epoch 9 computing connectivity for epoch 10 computing connectivity for epoch 11 computing connectivity for epoch 12 computing connectivity for epoch 13 computing connectivity for epoch 14 computing connectivity for epoch 15 computing connectivity for epoch 16 computing connectivity for epoch 17 computing connectivity for epoch 18 computing connectivity for epoch 19 computing connectivity for epoch 20 computing connectivity for epoch 21 computing connectivity for epoch 22 computing connectivity for epoch 23 computing connectivity for epoch 24 computing connectivity for epoch 25 computing connectivity for epoch 26 computing connectivity for epoch 27 computing connectivity for epoch 28 computing connectivity for epoch 29 computing connectivity for epoch 30 computing connectivity for epoch 31 computing connectivity for epoch 32 computing connectivity for epoch 33 computing connectivity for epoch 34 computing connectivity for epoch 35 computing connectivity for epoch 36 computing connectivity for epoch 37 computing connectivity for epoch 38 computing connectivity for epoch 39 computing connectivity for epoch 40 computing connectivity for epoch 41 computing connectivity for epoch 42 computing connectivity for epoch 43 computing connectivity for epoch 44 computing connectivity for epoch 45 computing connectivity for epoch 46 computing connectivity for epoch 47 computing connectivity for epoch 48 computing connectivity for epoch 49 computing connectivity for epoch 50 computing connectivity for epoch 51 computing connectivity for epoch 52 computing connectivity for epoch 53 computing connectivity for epoch 54 computing connectivity for epoch 55 computing connectivity for epoch 56 computing connectivity for epoch 57 computing connectivity for epoch 58 computing connectivity for epoch 59 computing connectivity for epoch 60 computing connectivity for epoch 61 computing connectivity for epoch 62 computing connectivity for epoch 63 computing connectivity for epoch 64 computing connectivity for epoch 65 computing connectivity for epoch 66 computing connectivity for epoch 67 computing connectivity for epoch 68 computing connectivity for epoch 69 computing connectivity for epoch 70 computing connectivity for epoch 71 computing connectivity for epoch 72 computing connectivity for epoch 73 computing connectivity for epoch 74 computing connectivity for epoch 75 computing connectivity for epoch 76 computing connectivity for epoch 77 [Connectivity computation done] Connectivity computation... computing connectivity for 298420 connections using t=0.000s..1.992s for estimation (256 points) frequencies: 8.0Hz..12.0Hz (9 points) using FFT with a Hanning window to estimate spectra the following metrics will be computed: Imaginary Coherence, ciPLV, WPLI computing connectivity for epoch 1 computing connectivity for epoch 2 computing connectivity for epoch 3 computing connectivity for epoch 4 computing connectivity for epoch 5 computing connectivity for epoch 6 computing connectivity for epoch 7 computing connectivity for epoch 8 computing connectivity for epoch 9 computing connectivity for epoch 10 computing connectivity for epoch 11 computing connectivity for epoch 12 computing connectivity for epoch 13 computing connectivity for epoch 14 computing connectivity for epoch 15 computing connectivity for epoch 16 computing connectivity for epoch 17 computing connectivity for epoch 18 computing connectivity for epoch 19 computing connectivity for epoch 20 computing connectivity for epoch 21 computing connectivity for epoch 22 computing connectivity for epoch 23 computing connectivity for epoch 24 computing connectivity for epoch 25 computing connectivity for epoch 26 computing connectivity for epoch 27 computing connectivity for epoch 28 computing connectivity for epoch 29 computing connectivity for epoch 30 computing connectivity for epoch 31 computing connectivity for epoch 32 computing connectivity for epoch 33 computing connectivity for epoch 34 computing connectivity for epoch 35 computing connectivity for epoch 36 computing connectivity for epoch 37 computing connectivity for epoch 38 computing connectivity for epoch 39 computing connectivity for epoch 40 computing connectivity for epoch 41 computing connectivity for epoch 42 computing connectivity for epoch 43 computing connectivity for epoch 44 computing connectivity for epoch 45 computing connectivity for epoch 46 computing connectivity for epoch 47 computing connectivity for epoch 48 computing connectivity for epoch 49 computing connectivity for epoch 50 computing connectivity for epoch 51 computing connectivity for epoch 52 computing connectivity for epoch 53 computing connectivity for epoch 54 computing connectivity for epoch 55 computing connectivity for epoch 56 computing connectivity for epoch 57 computing connectivity for epoch 58 computing connectivity for epoch 59 computing connectivity for epoch 60 computing connectivity for epoch 61 computing connectivity for epoch 62 computing connectivity for epoch 63 computing connectivity for epoch 64 computing connectivity for epoch 65 computing connectivity for epoch 66 computing connectivity for epoch 67 computing connectivity for epoch 68 computing connectivity for epoch 69 computing connectivity for epoch 70 computing connectivity for epoch 71 computing connectivity for epoch 72 computing connectivity for epoch 73 computing connectivity for epoch 74 computing connectivity for epoch 75 computing connectivity for epoch 76 computing connectivity for epoch 77 [Connectivity computation done] Connectivity computation... computing connectivity for 298420 connections using t=0.000s..1.992s for estimation (256 points) frequencies: 8.0Hz..12.0Hz (9 points) using FFT with a Hanning window to estimate spectra the following metrics will be computed: Imaginary Coherence, ciPLV, WPLI computing connectivity for epoch 1 computing connectivity for epoch 2 computing connectivity for epoch 3 computing connectivity for epoch 4 computing connectivity for epoch 5 computing connectivity for epoch 6 computing connectivity for epoch 7 computing connectivity for epoch 8 computing connectivity for epoch 9 computing connectivity for epoch 10 computing connectivity for epoch 11 computing connectivity for epoch 12 computing connectivity for epoch 13 computing connectivity for epoch 14 computing connectivity for epoch 15 computing connectivity for epoch 16 computing connectivity for epoch 17 computing connectivity for epoch 18 computing connectivity for epoch 19 computing connectivity for epoch 20 computing connectivity for epoch 21 computing connectivity for epoch 22 computing connectivity for epoch 23 computing connectivity for epoch 24 computing connectivity for epoch 25 computing connectivity for epoch 26 computing connectivity for epoch 27 computing connectivity for epoch 28 computing connectivity for epoch 29 computing connectivity for epoch 30 computing connectivity for epoch 31 computing connectivity for epoch 32 computing connectivity for epoch 33 computing connectivity for epoch 34 computing connectivity for epoch 35 computing connectivity for epoch 36 computing connectivity for epoch 37 computing connectivity for epoch 38 computing connectivity for epoch 39 computing connectivity for epoch 40 computing connectivity for epoch 41 computing connectivity for epoch 42 computing connectivity for epoch 43 computing connectivity for epoch 44 computing connectivity for epoch 45 computing connectivity for epoch 46 computing connectivity for epoch 47 computing connectivity for epoch 48 computing connectivity for epoch 49 computing connectivity for epoch 50 computing connectivity for epoch 51 computing connectivity for epoch 52 computing connectivity for epoch 53 computing connectivity for epoch 54 computing connectivity for epoch 55 computing connectivity for epoch 56 computing connectivity for epoch 57 computing connectivity for epoch 58 computing connectivity for epoch 59 computing connectivity for epoch 60 computing connectivity for epoch 61 computing connectivity for epoch 62 computing connectivity for epoch 63 computing connectivity for epoch 64 computing connectivity for epoch 65 computing connectivity for epoch 66 computing connectivity for epoch 67 computing connectivity for epoch 68 computing connectivity for epoch 69 computing connectivity for epoch 70 computing connectivity for epoch 71 computing connectivity for epoch 72 computing connectivity for epoch 73 computing connectivity for epoch 74 computing connectivity for epoch 75 computing connectivity for epoch 76 computing connectivity for epoch 77 [Connectivity computation done] Connectivity computation... computing connectivity for 298420 connections using t=0.000s..1.992s for estimation (256 points) frequencies: 8.0Hz..12.0Hz (9 points) using FFT with a Hanning window to estimate spectra the following metrics will be computed: Imaginary Coherence, ciPLV, WPLI computing connectivity for epoch 1 computing connectivity for epoch 2 computing connectivity for epoch 3 computing connectivity for epoch 4 computing connectivity for epoch 5 computing connectivity for epoch 6 computing connectivity for epoch 7 computing connectivity for epoch 8 computing connectivity for epoch 9 computing connectivity for epoch 10 computing connectivity for epoch 11 computing connectivity for epoch 12 computing connectivity for epoch 13 computing connectivity for epoch 14 computing connectivity for epoch 15 computing connectivity for epoch 16 computing connectivity for epoch 17 computing connectivity for epoch 18 computing connectivity for epoch 19 computing connectivity for epoch 20 computing connectivity for epoch 21 computing connectivity for epoch 22 computing connectivity for epoch 23 computing connectivity for epoch 24 computing connectivity for epoch 25 computing connectivity for epoch 26 computing connectivity for epoch 27 computing connectivity for epoch 28 computing connectivity for epoch 29 computing connectivity for epoch 30 computing connectivity for epoch 31 computing connectivity for epoch 32 computing connectivity for epoch 33 computing connectivity for epoch 34 computing connectivity for epoch 35 computing connectivity for epoch 36 computing connectivity for epoch 37 computing connectivity for epoch 38 computing connectivity for epoch 39 computing connectivity for epoch 40 computing connectivity for epoch 41 computing connectivity for epoch 42 computing connectivity for epoch 43 computing connectivity for epoch 44 computing connectivity for epoch 45 computing connectivity for epoch 46 computing connectivity for epoch 47 computing connectivity for epoch 48 computing connectivity for epoch 49 computing connectivity for epoch 50 computing connectivity for epoch 51 computing connectivity for epoch 52 computing connectivity for epoch 53 computing connectivity for epoch 54 computing connectivity for epoch 55 computing connectivity for epoch 56 computing connectivity for epoch 57 computing connectivity for epoch 58 computing connectivity for epoch 59 computing connectivity for epoch 60 computing connectivity for epoch 61 computing connectivity for epoch 62 computing connectivity for epoch 63 computing connectivity for epoch 64 computing connectivity for epoch 65 computing connectivity for epoch 66 computing connectivity for epoch 67 computing connectivity for epoch 68 computing connectivity for epoch 69 computing connectivity for epoch 70 computing connectivity for epoch 71 computing connectivity for epoch 72 computing connectivity for epoch 73 computing connectivity for epoch 74 computing connectivity for epoch 75 computing connectivity for epoch 76 computing connectivity for epoch 77 [Connectivity computation done] Connectivity computation... computing connectivity for 298420 connections using t=0.000s..1.992s for estimation (256 points) frequencies: 8.0Hz..12.0Hz (9 points) using FFT with a Hanning window to estimate spectra the following metrics will be computed: Imaginary Coherence, ciPLV, WPLI computing connectivity for epoch 1 computing connectivity for epoch 2 computing connectivity for epoch 3 computing connectivity for epoch 4 computing connectivity for epoch 5 computing connectivity for epoch 6 computing connectivity for epoch 7 computing connectivity for epoch 8 computing connectivity for epoch 9 computing connectivity for epoch 10 computing connectivity for epoch 11 computing connectivity for epoch 12 computing connectivity for epoch 13 computing connectivity for epoch 14 computing connectivity for epoch 15 computing connectivity for epoch 16 computing connectivity for epoch 17 computing connectivity for epoch 18 computing connectivity for epoch 19 computing connectivity for epoch 20 computing connectivity for epoch 21 computing connectivity for epoch 22 computing connectivity for epoch 23 computing connectivity for epoch 24 computing connectivity for epoch 25 computing connectivity for epoch 26 computing connectivity for epoch 27 computing connectivity for epoch 28 computing connectivity for epoch 29 computing connectivity for epoch 30 computing connectivity for epoch 31 computing connectivity for epoch 32 computing connectivity for epoch 33 computing connectivity for epoch 34 computing connectivity for epoch 35 computing connectivity for epoch 36 computing connectivity for epoch 37 computing connectivity for epoch 38 computing connectivity for epoch 39 computing connectivity for epoch 40 computing connectivity for epoch 41 computing connectivity for epoch 42 computing connectivity for epoch 43 computing connectivity for epoch 44 computing connectivity for epoch 45 computing connectivity for epoch 46 computing connectivity for epoch 47 computing connectivity for epoch 48 computing connectivity for epoch 49 computing connectivity for epoch 50 computing connectivity for epoch 51 computing connectivity for epoch 52 computing connectivity for epoch 53 computing connectivity for epoch 54 computing connectivity for epoch 55 computing connectivity for epoch 56 computing connectivity for epoch 57 computing connectivity for epoch 58 computing connectivity for epoch 59 computing connectivity for epoch 60 computing connectivity for epoch 61 computing connectivity for epoch 62 computing connectivity for epoch 63 computing connectivity for epoch 64 computing connectivity for epoch 65 computing connectivity for epoch 66 computing connectivity for epoch 67 computing connectivity for epoch 68 computing connectivity for epoch 69 computing connectivity for epoch 70 computing connectivity for epoch 71 computing connectivity for epoch 72 computing connectivity for epoch 73 computing connectivity for epoch 74 computing connectivity for epoch 75 computing connectivity for epoch 76 computing connectivity for epoch 77 [Connectivity computation done] .. GENERATED FROM PYTHON SOURCE LINES 358-359 Store results .. GENERATED FROM PYTHON SOURCE LINES 359-369 .. code-block:: default parameters['tc'] = lamX.copy() parameters['conn'][0, :] = AUC_conn[:, 0].copy() parameters['conn'][1, :] = AUC_conn[:, 1].copy() parameters['conn'][2, :] = AUC_conn[:, 2].copy() parameters['conn'][3, :] = AUC_conn[:, 3].copy() parameters['TPF_conn'] = TPF_conn.copy() parameters['FPF_conn'] = FPF_conn.copy() .. GENERATED FROM PYTHON SOURCE LINES 370-373 Plot results Warning: note that plot perspective might not be optimal, when downloading the codes plots are interavtive and perspectives can be changed .. GENERATED FROM PYTHON SOURCE LINES 373-391 .. code-block:: default # connectivity measures that can be plotted conn_names = ['Cross-power spectrum', 'imCoh', 'ciPLV', 'wPLI'] # connectivity measure to plot (uncomment the one you wish to plot) # i_conn = 0 # cpsd i_conn = 1 # imCoh # i_conn = 2 # ciplv # i_conn = 3 # wpli # regularization parameter for the selected connectivity meteric lamC = lambdas[np.argmin(AUC_conn[:, i_conn])]*lamX # estimated neural activity with the optimal parameters lamX and lamC X_lamX = ((G.T).dot(np.linalg.inv(G.dot(G.T)+lamX*np.eye(M)))).dot(Y) X_lamC = ((G.T).dot(np.linalg.inv(G.dot(G.T)+lamC*np.eye(M)))).dot(Y) .. GENERATED FROM PYTHON SOURCE LINES 392-396 Plot simulated and estimated neural activity (norm along time of the absolute value) Warning: note that plot perspective might not be optimal, when downloading the codes plots are interavtive and perspectives can be changed .. GENERATED FROM PYTHON SOURCE LINES 396-431 .. code-block:: default hemi = 'both' # plot simulated neural activty stc = mne.SourceEstimate(np.linalg.norm(X, axis=1) / np.max(np.linalg.norm(X, axis=1)), vertices=vertno, tmin=0, tstep=1, subject=subject) title = 'Simulated neural activtiy' brain = stc.plot(subject=subject, surface='inflated', smoothing_steps=5, views=view, hemi=hemi, subjects_dir=subject_dir, time_viewer=False, colorbar=True) brain.add_text(0.1, 0.9, title, 'title', font_size=14) brain.show() # plot esimated neural activtiy (estimated using lamX) stc = mne.SourceEstimate(np.linalg.norm(X_lamX, axis=1) / np.max(np.linalg.norm(X_lamX, axis=1)), vertices=vertno, tmin=0, tstep=1, subject=subject) title = 'Estimated neural activtiy (using lam_X)' brain = stc.plot(subject=subject, surface='inflated', smoothing_steps=5, views=view, hemi=hemi, subjects_dir=subject_dir, time_viewer=False, colorbar=True) brain.add_text(0.1, 0.9, title, 'title', font_size=14) brain.show() # plot esimated neural activtiy (estimated using lamC) stc = mne.SourceEstimate(np.linalg.norm(X_lamC, axis=1) / np.max(np.linalg.norm(X_lamC, axis=1)), vertices=vertno, tmin=0, tstep=1, subject=subject) title = r'Estimated neural activtiy (using lam_{'+conn_names[i_conn]+'})' brain = stc.plot(subject=subject, surface='inflated', smoothing_steps=5, views=view, hemi=hemi, subjects_dir=subject_dir, time_viewer=False, colorbar=True) brain.add_text(0.1, 0.9, title, 'title', font_size=14) brain.show() .. rst-class:: sphx-glr-horizontal * .. image-sg:: /auto_single_simulation/images/sphx_glr_plot_single_simulation_002.png :alt: plot single simulation :srcset: /auto_single_simulation/images/sphx_glr_plot_single_simulation_002.png :class: sphx-glr-multi-img * .. image-sg:: /auto_single_simulation/images/sphx_glr_plot_single_simulation_003.png :alt: plot single simulation :srcset: /auto_single_simulation/images/sphx_glr_plot_single_simulation_003.png :class: sphx-glr-multi-img * .. image-sg:: /auto_single_simulation/images/sphx_glr_plot_single_simulation_004.png :alt: plot single simulation :srcset: /auto_single_simulation/images/sphx_glr_plot_single_simulation_004.png :class: sphx-glr-multi-img .. rst-class:: sphx-glr-script-out .. code-block:: none Using control points [0.08584372 0.12251911 0.7543848 ] Using control points [0.56483155 0.62229469 0.93866464] Using control points [0.64458285 0.69500395 0.96114625] .. GENERATED FROM PYTHON SOURCE LINES 432-436 Plot simulated connectivity and estimated connectivity with both lamX and lamC (norm along frequency of seed based conncctivity) Warning: note that plot perspective might not be optimal, when downloading the codes plots are interavtive and perspectives can be changed .. GENERATED FROM PYTHON SOURCE LINES 436-509 .. code-block:: default # Compute true and estimated connectivity conn_true = np.zeros((len(p1_locs), N_dense)) conn_lamC = np.zeros((len(p1_locs), N_dense)) conn_lamX = np.zeros((len(p1_locs), N_dense)) for i_loc, loc in enumerate(p1_locs): # true connectivity f, Connlam_row = signal.csd(X[loc, :], X, fs=fs, window='hann', nperseg=nperseg, noverlap=nperseg//2, nfft=nfft, detrend='constant', return_onesided=True, scaling='density', axis=-1) f_in = np.intersect1d(np.where(f >= fmin)[0], np.where(f <= fmax)[0]) conn_true[i_loc, :] = np.mean(abs(Connlam_row[:, f_in]), axis=-1) # estimated connectivity (lamC) f, Connlam_row = signal.csd(X_lamC[loc, :], X_lamC, fs=fs, window='hann', nperseg=nperseg, noverlap=nperseg//2, nfft=nfft, detrend='constant', return_onesided=True, scaling='density', axis=-1) f_in = np.intersect1d(np.where(f >= fmin)[0], np.where(f <= fmax)[0]) conn_lamC[i_loc, :] = np.mean(abs(Connlam_row[:, f_in]), axis=-1) # estimated connectivity (lamX) f, Connlam_row = signal.csd(X_lamX[loc, :], X_lamX, fs=fs, window='hann', nperseg=nperseg, noverlap=nperseg//2, nfft=nfft, detrend='constant', return_onesided=True, scaling='density', axis=-1) f_in = np.intersect1d(np.where(f >= fmin)[0], np.where(f <= fmax)[0]) conn_lamX[i_loc, :] = np.mean(abs(Connlam_row[:, f_in]), axis=-1) conn_true = np.mean(conn_true, axis=0) conn_lamX = np.mean(conn_lamX, axis=0) conn_lamC = np.mean(conn_lamC, axis=0) conn = [conn_true, conn_lamX, conn_lamC] # plot simulate brain connectivity stc = mne.SourceEstimate(conn_true/np.max(conn_true), vertices=vertno, tmin=0, tstep=1, subject=subject) brain = stc.plot(subject=subject, surface='inflated', smoothing_steps=5, hemi=hemi, subjects_dir=subject_dir, time_viewer=False, colorbar=True, views=view) title = 'Simulated '+conn_names[i_conn] brain.add_text(0.1, 0.9, title, 'title', font_size=14) brain.show() # plot estimated brain connectivity (estimated using lamX) stc = mne.SourceEstimate(conn_lamX/np.max(conn_lamX), vertices=vertno, tmin=0, tstep=1, subject=subject) brain = stc.plot(subject=subject, surface='inflated', smoothing_steps=5, hemi=hemi, subjects_dir=subject_dir, time_viewer=False, colorbar=True, views=view) title = 'Estimated ' + conn_names[i_conn] + r' (with lam_{X})' brain.add_text(0.1, 0.9, title, 'title', font_size=14) brain.show() # plot estimated brain connectivity (estimated using lamc) stc = mne.SourceEstimate(conn_lamC/np.max(conn_lamC), vertices=vertno, tmin=0, tstep=1, subject=subject) brain = stc.plot(subject=subject, surface='inflated', smoothing_steps=5, hemi=hemi, subjects_dir=subject_dir, time_viewer=False, colorbar=True, views=view) title = 'Estimated ' + conn_names[i_conn] + r' (with lam_{' + \ conn_names[i_conn] + '})' brain.add_text(0.1, 0.9, title, 'title', font_size=14) brain.show() .. rst-class:: sphx-glr-horizontal * .. image-sg:: /auto_single_simulation/images/sphx_glr_plot_single_simulation_005.png :alt: plot single simulation :srcset: /auto_single_simulation/images/sphx_glr_plot_single_simulation_005.png :class: sphx-glr-multi-img * .. image-sg:: /auto_single_simulation/images/sphx_glr_plot_single_simulation_006.png :alt: plot single simulation :srcset: /auto_single_simulation/images/sphx_glr_plot_single_simulation_006.png :class: sphx-glr-multi-img * .. image-sg:: /auto_single_simulation/images/sphx_glr_plot_single_simulation_007.png :alt: plot single simulation :srcset: /auto_single_simulation/images/sphx_glr_plot_single_simulation_007.png :class: sphx-glr-multi-img .. rst-class:: sphx-glr-script-out .. code-block:: none Using control points [0.00162604 0.00233609 1. ] Using control points [0.52588823 0.58516497 0.93286758] Using control points [0.62543007 0.68571702 0.9685291 ] .. GENERATED FROM PYTHON SOURCE LINES 510-511 Save data in a local folder .. GENERATED FROM PYTHON SOURCE LINES 511-523 .. code-block:: default # Uncomment the lines below if you wish to save the results # save_path = op.join('.', 'results') # if not op.isdir(save_path): # os.makedirs(save_path) # np.save(op.join(dir_path, 'parameters.npy'), parameters) # np.save(op.join(dir_path, 'data.npy'), data) # np.save(op.join(dir_path, 'features.npy'), features) # np.save(op.join(dir_path, 'connectivity.npy'), conn) .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 66 minutes 0.137 seconds) .. _sphx_glr_download_auto_single_simulation_plot_single_simulation.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_single_simulation.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_single_simulation.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_