def extract_data(self):
raw_edf = mne.io.read_raw_edf(self.filename, stim_channel='auto')
raw_edf.load_data()
# correct nan values
data = raw_edf.get_data()
# do not correct stimulus channel
assert raw_edf.ch_names[-1] == 'STI 014'
for i_chan in range(data.shape[0] - 1):
# first set to nan, than replace nans by nanmean.
this_chan = data[i_chan]
data[i_chan] = np.where(this_chan == np.min(this_chan),
np.nan, this_chan)
mask = np.isnan(data[i_chan])
chan_mean = np.nanmean(data[i_chan])
data[i_chan, mask] = chan_mean
gdf_events = raw_edf.find_edf_events()
raw_edf = mne.io.RawArray(data, raw_edf.info, verbose='WARNING')
# remember gdf events
raw_edf.info['gdf_events'] = gdf_events
return raw_edf
评论列表
文章目录