Я новичок в 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. Я проверил онлайн-документацию, но я не могу найти такой инструмент. Есть идеи?