forked from listenzcc/data_review
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathload_preprocess_view.py
61 lines (49 loc) · 1.64 KB
/
load_preprocess_view.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# coding: utf-8
import os
import mne
import numpy as np
# import matplotlib.pyplot as plt
from pick_good_sensors import good_sensors
smooth_kernel = 1/200+np.array(range(200))*0
def smooth(x, picks, y=smooth_kernel):
return x
for j in picks:
x[j] = np.convolve(x[j], y, 'same')
return x
# Prepare filename QYJ, ZYF
filedir = 'D:/BeidaShuju/rawdata/QYJ'
fname_training_list = list(os.path.join(
filedir, 'MultiTraining_%d_raw_tsss.fif' % j)
for j in range(1, 6))
fname_testing_list = list(os.path.join(
filedir, 'MultiTest_%d_raw_tsss.fif' % j)
for j in range(1, 9))
train = True
fname_list = fname_training_list
fname = fname_list[3]
def get_epochs(fname, event_id, tmin, t0, tmax,
freq_l=1, freq_h=10, use_good_sensors=True):
# Make defaults
baseline = (tmin, t0)
reject = dict(mag=5e-12, grad=4000e-13)
decim = 1
# Prepare rawobject
raw = mne.io.read_raw_fif(fname, preload=True)
picks = mne.pick_types(raw.info, meg=True, eeg=False,
eog=False, stim=False, exclude='bads')
if use_good_sensors:
sensors, picks = good_sensors(raw.ch_names)
raw = mne.io.RawArray(smooth(raw.get_data(), picks), raw.info)
raw.filter(freq_l, freq_h, fir_design='firwin')
events = mne.find_events(raw)
# Get epochs
epochs = mne.Epochs(raw, event_id=event_id, events=events,
decim=decim, tmin=tmin, tmax=tmax,
picks=picks, baseline=baseline,
reject=reject, preload=True)
return epochs, raw
'''
epochs = get_epochs(fname=fname, train=train)
epochs.plot(show=False)
plt.show()
'''