Exemplo n.º 1
0
experiments = df_sub.experiment
df_sub = df_sub.set_index("participant")
nr_seconds = 3
fmax = 55
fmin = 2

for i_sub, (participant, exp) in enumerate(zip(participants, experiments)):
    print(participant, exp)
    dfs = []

    participant_id = "%s_%s" % (participant, exp)
    raw_file = "../working/%s_raw.fif" % participant_id
    raw = mne.io.read_raw_fif(raw_file)
    raw.load_data()
    raw.pick_types(ecog=True)
    raw = helper.reject_channels(raw, participant, exp)

    psd, freq = mne.time_frequency.psd_welch(
        raw,
        fmin=fmin,
        fmax=fmax,
        n_fft=nr_seconds * int(raw.info["sfreq"]),
    )

    # calculate spectral parametrization for each channel
    plot_folder = "../results/psd_param/%s/" % participant
    os.makedirs(plot_folder, exist_ok=True)

    # always plot 9 electrodes together in a figure for saving some space
    fig, ax = plt.subplots(3, 3)
    counter = 0
Exemplo n.º 2
0
participants = df.participant
experiments = df.experiment
df = df.set_index("participant")

nr_patterns = 1
df2 = pd.DataFrame()

for i_s, (participant, exp) in enumerate(zip(participants, experiments)):

    # load electrode positions
    participant_id = "%s_%s" % (participant, exp)
    raw = mne.io.read_raw_fif("../working/%s_raw.fif" % participant_id)
    raw.crop(0, 1)
    raw.load_data()
    raw.pick_types(ecog=True)
    raw = helper.reject_channels(raw, participant, exp)

    # load patterns for all peak frequencies
    peaks = helper.get_participant_peaks(participant, exp)

    for i_p, peak in enumerate(peaks):
        patterns, filters = helper.load_ssd(participant_id, peak)

        for idx in range(nr_patterns):
            pattern = patterns[:, idx]
            xyz = np.array([ich["loc"][:3] for ich in raw.info["chs"]])
            distance = squareform(pdist(xyz, "cityblock"))

            # find maximum value & select distance to maximum
            i_max = np.argmax(np.abs(pattern))
            dist_to_max = distance[i_max]