MNE, как сохранить полный необработанный сигнал ЭЭГ с событиями в виде файла Matlab?
raw, timestamp = ur.MNE_Read_EDF(path)
mne_events, events_dict = ev.MNE_prepare_events(path, timestamp)
epochs = mne.Epochs(raw, mne_events, events_dict, tmin=-0.5, tmax=0.5)
signal = epochs.plot(block=True)
Это кажется простым, но я потерян. У меня есть сырой сигнал EEG в файлах EDF и события в файле CSV. Я сумел создать эпохи по этим событиям, а затем построить необработанный сигнал с помеченными событиями, однако мне нужно перенести его в файл, который доступен в Matlab. Я не могу использовать scipy.io.savemat для сюжета? Я не могу просто загрузить эти файлы в Matlab, потому что он каким-то образом десинхронизирует эпохи, вероятно, из-за усредненной частоты дискретизации. MNE не делает этого, но дальнейший анализ должен быть проведен в Matlab. Помощь высоко ценится, я не могу найти ответ на сайте MNE.
1 ответ
Для получения необработанных данных эпох можно позвонить .get_data()
метод класса эпох. Это предоставит вам массив трехмерных фигур (n_epochs, n_channels, n_times).
Чтобы получить данные о ваших событиях, вы можете использовать find_events
функция, которая будет возвращать events
:
Возвращает:
события: массив, форма = (n_events, 3)
Все события, которые были найдены. Первый столбец содержит время события в образцах, а третий столбец содержит идентификатор события. Для output = 'onset' или 'step', второй столбец содержит значение канала стим непосредственно перед событием / шагом. Для output = 'offset', второй столбец содержит значение канала стим после смещения события.
На самом деле, у вас, вероятно, уже есть данные о вашем событии mne_events
в вашем примере.
Эти данные могут быть сохранены с scipy.io.savemat
функция, которую вы упомянули.