participant = "ug" file_name = "../working/%s_%s_raw.fif" % (participant, exp_id) raw = mne.io.read_raw_fif(file_name, preload=True) raw.pick_types(ecog=True) # -- get common average referenced activity nr_channels = len(raw.ch_names) filters_car = np.zeros((nr_channels, nr_channels)) - 1 / nr_channels for i in range(nr_channels): filters_car[i, i] = 1 raw_car = ssd.apply_filters(raw, filters_car, prefix="car") # -- compute SSD bin_width = 1.2 peak = 9.46 filters, patterns = ssd.run_ssd(raw, peak, bin_width) patterns_car = filters_car.T @ patterns # -- get SSS referenced signal nr_components = 3 raw_ssd = ssd.apply_filters(raw, filters[:, :nr_components]) # -- detect bursts with bycycle picks = [np.argsort(np.abs(patterns_car[:, 0]))[-1]] nr_trials = 15 raw_car.pick(picks) osc_param = { "amplitude_fraction_threshold": 0.5, "amplitude_consistency_threshold": 0.5, "period_consistency_threshold": 0.5,
raw.pick_types(ecog=True) # -- select 3 sEEG leads picks = range(19) ch_names = ["ecog%i" % i for i in picks] raw.pick_channels(ch_names) raw2 = raw.copy() ch_names_leads = ["ecog3", "ecog13", "ecog18"] picks1 = mne.pick_channels(raw2.ch_names, ch_names_leads, ordered=True) plot_seeg_3dbrain(raw) # -- apply SSD peak1 = 4.0 bin_width1 = 1.25 filters1, patterns = ssd.run_ssd(raw, peak1, bin_width1) peak2 = 8.15 bin_width2 = 2.5 filters2, patterns2 = ssd.run_ssd(raw, peak2, bin_width2) # combine top-SNR filters for each peak frequency into one matrix filters1[:, 1] = filters2[:, 0] patterns[:, 1] = patterns2[:, 0] raw_ssd = ssd.apply_filters(raw, filters1[:, :2]) raw_ssd.filter(1, None) picks = range(8) ch_names = ["ecog%i" % i for i in picks] lead1 = raw.copy().pick_channels(ch_names) lead1.set_eeg_reference("average")