Как правильно удалить артефакт EOG из других данных ЭЭГ с помощью MNE?
У меня есть данные ЭЭГ, и я использую MNE python для чтения данных и их предварительной обработки. Я застрял (Удаление артефактов EOG с использованием метода слепого разделения источников, анализ независимых компонентов (ICA).).
Как я понимаю из примеров, представленных на веб-сайте mne, чтобы получить эпохи EOG или найти плохие EOG, я должен использовать следующий код после фильтрации (пропускной способности) данных:
# Other available choices are `infomax` or `extended-infomax`
# We pass a float value between 0 and 1 to select n_components based on the
# percentage of variance explained by the PCA components.
ica = ICA(n_components=0.95, method='fastica')
picks = mne.pick_types(raw.info, meg=True, eeg=False, eog=False,
stim=False, exclude='bads')
ica.fit(raw, picks=picks, decim=3, reject=dict(mag=4e-12, grad=4000e-13))
# detect EOG by correlation
eog_inds, scores = ica.find_bads_eog(raw)
ica.exclude += eog_inds
eog_evoked = create_eog_epochs(raw, tmin=-.5, tmax=.5, picks=picks).average()
# Apply the solution to Raw, Epochs or Evoked like this:
ica.apply(epochs)
Однако, когда я пробовал одни и те же коды, я сталкивался с множеством ошибок следующим образом:
1- Когда я попробовал find_bads_eog, он возвращает пустой список, в то время как в качестве описания NIC записывающего устройства есть EOG1 и EOG2, записанные в каналах Fp1 и Fp2. Таким образом, я попытался mne.pick_channels, чтобы получить индексы EOG. Это правильно? Есть ли способы установить EOG для этих каналов?
2- Теперь, после того, как у меня есть индексы, я хочу установить диктат отклонения, но я не знаю, как я могу выбрать значения амплитуд EOG от пика до пика и других амплитуд EEG. Таким образом, я поставил None. Тем не менее, я получаю пустые участки. Итак, как я могу указать здесь значения или что я должен использовать вместо этого?
3. У меня была идея использовать ICA для работы со скелетом после нахождения и извлечения всех данных эпох, но теперь я сделал то, что я должен использовать после выполнения этих шагов ИЛИ где результаты, которые я должен использовать для последующего расчета характеристик:
#ICA (EoG) artifact removal
ica = FastICA()
S_ = ica.fit_transform(EEG)
# Reconstruct signals
A_ = ica.mixing_
A_=A_.T
Теперь хочу узнать, как правильно удалить EOG из моих данных. Пожалуйста помоги.