Чтение местоположений каналов в MNE Python - PullRequest
0 голосов
/ 21 января 2020

Я новичок в MNE Python, и я работаю с файлами .set из EEGlab (Matlab) для анализа оценки источника. Данные были записаны из 66 каналов (64 ЭЭГ и 2 ЭОГ) из EasyCaps, с 10-20 IS. В Matlab EEG.chanlocs правильно показывает координаты каждого электрода (метки, тип, тета, радиус, X, Y, Z, sph_theta, sph_phi, sph_radius, urchin, ref). Но кажется, что я не могу прочитать эти местоположения в MNE Python.

import mne

#The .set files are imported ok
data_path = r"D:\EEGdata";
fname = data_path + '\ppt10.set'
mydata = mne.io.read_epochs_eeglab(fname)

#The data look ok, and channel labels are correctly displayed
mydata
mydata.plot()
mydata.ch_names

#But the channel locations are not found
mydata.plot_sensors()     #RuntimeError: No valid channel positions found

Есть какие-либо предложения о том, как читать местоположения каналов из файлов .set? Или, альтернативно, как вручную создать местоположения на основе координат из EEG.chanlocs?

Я также попытался использовать монтаж по умолчанию 10-20, выбирая только те каналы, которые использовал, но не могу заставить его работать .

#Create a montage based on the standard 1020, which includes 94 electrode labels in upper case
montage = mne.channels.make_standard_montage('standard_1020')
[ch_name.upper() for ch_name in mydata.ch_names] #it correctly convert the channel labels into upper case
mydata.ch_names = [ch_name.upper() for ch_name in mydata.ch_names] #doesn't work
#File "<ipython-input-62-69a7053dc310>", line 1, in <module>
#mydata.ch_names=[ch_name.upper() for ch_name in mydata.ch_names]
#AttributeError: can't set attribute

montage = mne.channels.make_standard_montage('standard_1020',mydata.ch_names]

Я также подумал, что могу использовать инструмент преобразования для преобразования файлов .set в файлы .fif. Я проверил онлайн-документацию, но я не могу найти такой инструмент. Есть идеи?

...