Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 2232

.pdf
Скачиваний:
26
Добавлен:
30.04.2022
Размер:
14.85 Mб
Скачать

любой каталог. Версия не для разработчика может иметь ошибки, которые были исправлены с помощью версии BCILAB-devel.

Далее надо открыть программу Matlab и перевести текущий каталог

Matlab в распакованную папку BCILAB: >> cd your/path/to/bcilab;

Как только будет найден исполнительный файл, надо будет просто ввести

команду >> bcilab.

Затем надо запустить BCILAB. После этого на консоль будет выведен текст «Добро пожаловать в набор инструментов BCILAB!», а затем должен появиться новый графический интерфейс с меню BCILAB (рис. 8.35).

Рис. 8.35. Запуск BCILAB

Как только поток будет запущен на компьютере, надо открыть BCILAB в

MATLAB (>> cd your / path / to / bcilab; bcilab), далее в меню надо выбрать “Online

Analysis > Read input from... > Lab streaming layer...” (рис. 8.36).

Рис. 8.36. Запуск потока данных

8.2.2. Анализ полученных данных

Существует много способов использования MATLAB для обработки анализа данных с плат регистрации ЭЭГ. Для начала рассмотрим работу с помощью дополнения EEGLAB (https://sccn.ucsd.edu/eeglab/download.php). EEGLAB - это интерактивный набор инструментов Matlab для обработки непрерывных и связанных с событиями ЭЭГ, ЭМГ и других электрофизиологических данных с использованием независимого анализа компонентов (ICA), анализа времени, частоты и других методов, включая отклонение артефактов.

220

Для установки EEGLAB надо загрузить zip-файл самой последней версии EEGLAB и распаковать его в каталог системы. Затем надо сделать этот набор инструментов доступным из Matlab, добавив путь к новому каталогу.

Для того чтобы проверить, правильно ли настроено дополнение EEGLAB, надо перейти в рабочую область Matlab и ввести команду >> Eeglab.

Если инструментарий еще не реализован правильно, консоль должна вывести сообщение «Undefined function or variable 'eeglab'.». Если инструментарий настроен правильно, должно появиться всплывающее окно с графическим интерфейсом EEGLAB (рис. 8.37).

Рис. 8.37. Всплывающее окно EEGLAB

Графический интерфейс OpenBCI сохраняет данные с отрицательным знаком, которые необходимы для работы с EEGLAB. После импорта полученных данных из OpenBCI в MATLAB, как описано выше, надо выполнить простое преобразование матрицы, выполнив команду eeg_data = eeg_data'”. После этого матрица данных готова к использованию с EEGLAB.

Если EEGLAB еще не запущен, надо ввести «eeglab» в командную строку Matlab, чтобы запустить программу. Далее надо импортировать матрицу в EEGLAB с помощью графического интерфейса EEGLAB, нажав следующие команды: “File -> Import Data -> Using EEGLAB functions and plugins -> From ASCII/float file or Matlab array” (рис. 8.38).

В появившемся всплывающем окне необходимо ввести информацию о типе данных. Надо выбрать «Matlab variable» и ввести имя переменной массива. Затем ввести частоту выборки данных (ее нужно прокомментировать в верхней части txt-файла - обычно 250 Гц по умолчанию в графическом интерфейсе OpenBCI). Другие поля можно оставить по умолчанию, и EEGLAB автоматически заполнит информацию из набора данных.

Местоположения каналов будут полезны для построения карт скальпа ЭЭГ в 2-D или 3-D форматах. OpenBCI использует стандартный формат 10-20 для моделей с 8 и 16 каналами. Местоположения электродов сохраняются в

221

файлах sfp. Данные о местоположении электродов на голове можно импортировать из файлов sfp, для этого надо щелкнуть по вкладке «Browse»

рядом с «Channel location file or info» и найти файл sfp. После указанных действий все данные будут импортированы в EEGLAB и готовы к использованию.

Рис. 8.38. Импорт матрицы в EEGLAB

Чтобы проверить, правильно ли импортируются данные, а также для ознакомления с интерфейсом EEGLAB, можно построить графики по загруженным данным. Для этого надо выбрать команду “Plot => Channel data (scroll)” во всплывающем окне интерфейса EEGLAB (рис. 8.39).

Рис. 8.39. Построение графиков

222

Загруженные данные должны появиться в окне, подобном изображению, представленному на рис. 8.40.

Рис. 8.40. Графики ЭЭГ

В EEGLAB также можно просматривать потоковые данные, но в основном EEGLAB работает с записанными данными.

Далее можно установить ERPLAB Toolbox (https://erpinfo.org/erplab),

специальное дополнение для Matlab. ERPLAB Toolbox - это бесплатный пакет для Matlab с открытым исходным кодом для анализа данных ERP. Он тесно интегрирован с EEGLAB Toolbox, расширяя возможности EEGLAB для предоставления надежных, мощных инструментов для обработки, визуализации и анализа ERP. Графический интерфейс пользователя облегчает освоение новичкам, а сценарии Matlab предоставляют огромные возможности для средних и продвинутых пользователей.

Для начала надо загрузить и распаковать последний выпуск ERPLAB в папку «plugins» каталога EEGLAB (если установлен старый выпуск EEGLAB, то также нужно будет ввести путь к этому каталогу в MATLAB с помощью команд “File> Set Path”). При следующем запуске EEGLAB в графическом интерфейсе EEGLAB должно появиться меню ERPLAB, как показано на рис. 8.41.

223

Рис. 8.41. Дополнение ERPLAB

Чтобы использовать ERPLAB для анализа наборов данных ЭЭГ, надо импортировать набор данных. После импорта данных можно будет использовать функции ERPLAB для анализа данных.

Также можно установить дополнение FieldTrip (http://www.fieldtriptoolbox.org/development/realtime/) для анализа расширенными методами как ЭЭГ, ЭМГ так и инвазивных электрофизиологических данных в режиме реального времени. Анализ включает в себя такие виды анализа, как частотно-временной анализ, восстановление источника с использованием диполей, распределенных источников и формирователей луча, а также непараметрический статистический анализ.

8.3. Обработка данных в программе Neuromore

Neuromore - студия потоковой обработки ЭЭГ данных. Как и BrainBay и BioEra, программа предоставляет визуальный конструктор, который можно использовать для обработки сигналов в режиме реального времени. Программа Neuromore Studio доступна для Windows (но только как 64-битное приложение).

Для начала надо загрузить последнюю версию программы Neuromore Studio для установленной операционной системы. После установки приложение будет находиться в папке “neuromore => Studio”.

После открытия программы Neuromore Studio начнется воспроизведение демонстрации, которая отображает пример данных ЭЭГ (рис. 8.42).

224

Рис. 8.42. Воспроизведение демонстрации

Для начала прямой трансляции данных из OpenBCI в Neuromore надо сначала подключить плату регистрации ЭЭГ к компьютеру. Обязательно необходимо убедиться, что плата регистрации распознается как COM-порт и ее задержка установлена на уровне 1 мс.

Далее, чтобы подключиться к плате OpenBCI из программы Neuromore, надо нажать увеличительное стекло в разделе «Устройства» в правом верхнем углу. После этого программа Neuromore будет искать новые устройства. Затем появится всплывающий логотип OpenBCI, и данные с платы начнут передаваться в верхней части окна Neuromore (рис. 8.43).

Рис. 8.43. Прием данных с платы

225

Программа Neuromore достаточно хорошо осуществляет подключение платы в автоматическом режиме, но, несмотря на это, подключение происходит в 9 случаев из 10. Если подключения не произошло, необходимо сбросить соединение (нажав кнопку сброса). Далее надо выключить плату регистрации, отсоединив USB-ключ. Затем заново подключить USB-ключ и включить плату. Если эти действия все равно не помогут, то можно попробовать те же действия, но с закрытием самой программы Neuromore.

Чтобы начать работу с Neuromore, необходимо открыть классификатор

«Getting Started» в папке OpenBCI панели «Back-End File System» (рис. 8.44).

Рис. 8.44. Начало работы с Neuromore

После этого появится пример визуального языка программирования Neuromore. Надо щелкнуть значок гаечного ключа и отвертки, чтобы при необходимости скрыть панель палитры узлов (рис. 8.45).

Neuromore называет эти графики взаимосвязанных процессоров «классификаторами». Базовая структура классификатора состоит из устройства ввода (такого как плата OpenBCI V3), подключенного к узлам обработки, которые заканчиваются каким-либо узлом вывода.

Некоторые из выходных узлов позволяют осуществлять вывод информации, такой как графики во временной или частотной областях. Однако стандартная компоновка Neuromore Studio не имеет открытых окон для этих выходных данных. Чтобы добавить окно для выходных данных во временной области, надо щелкнуть вкладку «View» на панели инструментов, затем «Add» => «Signal View» (рис. 8.46).

226

Рис. 8.45. Панель палитры узлов

Рис. 8.46. Добавление окна выходных данных

После этого появится новое окно. Надо нажать и перетащить окно в удобное место в макете Neuromore Studio - оно должно встать на место, как показано ниже на рис. 8.47.

Рис. 8.47. Установка окна вывода сигнала

227

Если посмотреть в окно классификатора, можно заметить, что есть три

«выходных» узла (узлы с символом глаза): Filtered Raw, Filtered FFT и Viewer.

Символы Filtered Raw и View показывают временную область сигнала.

Чтобы добавить окно, выводящее частотную область, необходимо нажать View => Add => Spectrum View. Затем переместить новое окно в удобное место. После этого появится узел Filtered FFT для сигнала одного канала (рис. 8.48).

Рис. 8.48. Вывод узла Filtered FFT

Для того чтобы перепроверить, какой сигнал соответствует какому выходу, надо дважды щелкнуть один из выходных узлов в окне классификатора. Это должно расширить окно палитры узлов. Затем надо открыть вкладку «Attributes» и выбрать «Custom Color», дважды щелкнув по блоку цвета, который появляется, чтобы выбрать цвет сигнала.

В приведенном ниже примере (рис. 8.49) выбран узел «Filtered Raw» и установлен ярко-зеленый цвет. Соответствующий сигнал после этого будет ярко-зеленый в окне просмотра сигналов. После этого можно просматривать сигналы от выходных узлов в классификаторе.

Такой вид графического программирования (или визуального программирования) также появляется в очень популярных программах, таких как PureData и MAX для более общих целей, а также OpenViBE и, конечно, Neuromore для обработки специфичной ЭЭГ.

Основная идея графического программирования заключается в том, что поток данных, который создается на устройстве ввода, может затем отображаться, обрабатываться и преобразовываться в выходные данные.

228

Рис. 8.49. Вывод узла Filtered FFT

Самый простой пример для плат OpenBCI в Neuromore Studio использует динамический альфа-детектор и исследует области ЭЭГ (рис. 8.50).

Рис. 8.50. Динамический альфа-детектор

Приведенный альфа-детектор поддерживает в среднем 30 секунд отношения между альфа-каналом (8-12 Гц) и интенсивностью фонового сигнала. Сам детектор сообщает об альфа-всплеске, который динамически изменяется в зависимости от среднего отношения альфа-сигнала/фона. Такая система адаптируется к низким или высоким альфа-волнам и увеличивает альфа-всплеск, когда среднее значение альфа-волн велико, и наоборот.

229