Estudio de Aplicación de Escritorio con Integración de EEG
Contenidos:
Descripción general
El objetivo de este tutorial es demostrar cómo configurar un estudio simple con integración de EEG utilizando la aplicación de escritorio.
Nota: Para obtener más información sobre la aplicación de escritorio, incluyendo una guía de instalación y una descripción general de las funcionalidades de la aplicación, consulte esta página.
Nota: Para obtener más información sobre la aplicación de escritorio, incluyendo una guía de instalación y una descripción general de las funcionalidades de la aplicación, consulte esta página.
Configuración del estudio
En la pestaña de Configuración del Estudio, bajo la columna Características del Experimento
, desplácese hacia abajo hasta la opción Lab-Streaming-Layer
y actívela. Para obtener más información sobre estas configuraciones, visite esta página.
Luego, aparecerá este campo de texto donde puede nombrar el flujo de salida. Aquí, creamos un solo flujo y mantuvimos el nombre y las opciones predeterminadas.
Creando un flujo de salida en la Configuración del Estudio para establecer una conexión con el EEG.
Normalmente, desea configurar un flujo de salida para los eventos generados en Labvanced y enviarlo como un flujo de marcadores a sus grabaciones de EEG para marcar eventos, de modo que pueda realizar un análisis relacionado con los eventos de los datos de EEG. Después de que esto esté configurado, puede enviar marcadores individuales en ese flujo, lo cual es bastante sencillo utilizando el sistema de eventos de Labvanced.
Configuración de Estudio Simple
Para los propósitos de este tutorial, configuraremos rápidamente un estudio para el efecto bouba-kiki con el fin de tener una base de discusión y un fundamento para configurar los eventos relacionados con el EEG para enviar marcadores basados en:
- Qué categoría de estímulo se está mostrando (es decir, bouba categoría= formas redondas; kiki categoría= formas puntiagudas / afiladas)
- Cuándo se hizo clic en la imagen
Para ver cómo configuramos los estímulos (para contexto), consulte la marca de minuto 04:19
en este video:
Descripción rápida del proceso de carga de estímulos (basado en el video anterior):
- Desde el sistema de ensayo, creamos el nivel y lo llamamos ‘bouba’ que será para las imágenes de estímulos de formas redondas y luego creamos otro nivel y lo llamamos ‘kiki’ para las imágenes de estímulos de formas puntiagudas.
- Ahora, bajo la condición Bouba mostrada en el Sistema de Ensayos, hacemos clic en ella y seleccionamos el objeto, luego cargamos nuestros archivos de imagen relevantes, seleccionando las opciones para: i.) crear tantos ensayos como estímulos y ii.) auto-asignarlos.
- Luego, hacemos lo mismo para la otra condición seleccionando el objeto bajo la condición y repitiendo el proceso.
En este punto, tenemos un estudio simple con dos tipos de estímulos. Después de que configuremos los eventos (sección siguiente), la tarea final se verá así, con un clic en la imagen navegando el estudio hacia el siguiente ensayo, mientras envía marcadores de EEG.
Configuración de Eventos
Ahora, para los eventos, la idea principal es que queremos enviar un marcador de EEG basado en qué tipo / categoría de imagen está viendo el participante, así como un marcador de cuándo se hizo clic en la imagen.
Evento 1: Enviar Marcador (Inicio de Marco / Estímulo) al EEG
Para este primer evento, queremos que el EEG sepa: a) cuándo comenzó el marco con los estímulos, pero b.) también de qué categoría de imagen pertenece el estímulo (es decir, bouba o kiki).
DISPARADOR
Disparador de Ensayo y Marco
→Al Inicio del Marco
Seleccionando Inicio de Marco como un Disparador para cuándo debe hacerse el primer marcador de EEG.
ACCIÓN
Dado que queremos alternar entre condiciones, necesitaremos una acción de si/entonces, en el editor:
Acción de Control
→Acción de Requisitos (Si…Entonces)
Para especificar la primera condición, llamamos a la variable de factor correspondiente y la igualamos a 'bouba.' Esto se realiza aplicando los siguientes pasos en el editor:
- Haga clic en
+ Requisito
- En el ícono de lápiz izquierdo:
Variable
→Seleccionar Variable
y elijafactor1_tg1_task0
- En el ícono de lápiz derecho:
Valor Constante
→Cadena
→ escriba la cadena bouba
Nota: En el proceso de diseño del experimento, debe dar a sus factores nombres únicos y descriptivos. En el ejemplo de arriba, usamos el nombre predeterminado factor1_tg1_task0 pero para diseños estructuralmente sólidos, debe dar a sus factores nombres más precisos que reflejen la categoría (como 'Forma').
Una vez que se cumple esta condición SI
, queremos que ENTONCES
ocurra lo siguiente:
Agregar Acción
Acciones API
→Enviar Marcador LabStreamingLayer
- Seleccione el flujo que se creó anteriormente bajo la ‘Configuración del Estudio’ para este propósito (es decir, el labvanced_stream_1)
- Valor a enviar:
Valor Constante
→Cadena
→ escriba la palabra bouba
Especificando el marcador LSL basado en el tipo de condición de imagen de estímulo.
Repetimos el proceso para la condición kiki haciendo clic en la opción + Agregar Caso Else If
.
Sugerencia de flujo de trabajo: En lugar de crear un segundo evento para la condición ‘kiki’. Simplemente copie el evento anterior (usando el ícono de duplicado en la parte superior, junto a la palabra `IF`) y simplemente cambie las cadenas para que correspondan con el otro factor o tipo de estímulo, es decir, ‘kiki’.
RESUMEN
Hasta este punto, hemos configurado Labvanced para enviar un marcador de EEG (basado en el tipo de forma del estímulo) tan pronto como comienza el marco, es decir, tan pronto como se presenta el estímulo.
Evento 2: Respuesta del Participante
Ahora queremos enviar un marcador y medir algo que sea más dinámico, es decir, cuándo se hizo clic en la imagen. Aquí, también podemos cuantificar el tiempo de reacción y avanzar al siguiente ensayo (todo basado en el clic del mouse en la imagen).
Podemos crear otro evento, de modo que cuando se haga clic en la imagen, el EEG reciba el marcador de ‘clic’.
DISPARADOR
Entrada del Usuario
→Disparador del Mouse
+ Agregar Objetivo
→ seleccionar el objeto de imagen (image_1)
Seleccionando un clic en la imagen como el disparador para cuándo debe crearse el segundo marcador.
ACCIÓN 1 (Enviar marcador 'clic' al EEG)
Cree un nuevo marcador haciendo:
Acciones API
→Enviar Marcador LabStreamingLayer
- Flujo LSL: seleccione
labvanced_stream_1
- Valor a enviar:
Valor Constante
→Cadena
→ escriba la palabra Clic
ACCIÓN 2 (Registrar el tiempo de reacción)
Utilice Establecer / Registrar Variable
y cree una variable que sea escalar y numérica que registre el tiempo de activación del mouse desde el inicio del marco de la siguiente manera:
+ Acción
Acciones de Variable
→Establecer / Registrar Variable
Seleccionar
(botón verde) →+Nueva Variable
(superior derecha)- Nombre: RT
- Formato: Escalar
- Tipo de Datos: Numérico
- → ‘OK’
- Ícono de lápiz →
Disparador (Mouse)
→Tiempo de Disparador (Desde Inicio del Marco)
ACCIÓN 3 (Saltar al siguiente ensayo)
+ Acción
Acciones de Salto
→Saltar A
→Siguiente Ensayo
Siguiendo este procedimiento, su evento tendrá este aspecto:
Tres acciones se configurarán al hacer clic en la imagen objetivo: i.) enviar el marcador al EEG, cuantificar el tiempo de reacción y pasar al siguiente ensayo.
RESUMEN
El evento anterior, con el disparador de hacer clic en una imagen específica, tiene las siguientes acciones que siguen: se envía un marcador de ‘clic’ directamente al EEG, se registra el tiempo de reacción (desde el inicio del marco) en milisegundos y se almacena en la variable ‘RT’, y el experimento avanza al siguiente ensayo.
En este punto, se ha configurado un estudio muy simple con una estructura y capacidades para enviar marcadores a un EEG!
- Dos tipos diferentes de estímulos
- El EEG recibe marcadores basados en:
- tipo de estímulo mostrado
- cuándo ocurrió el ‘clic’
- El estudio registra el tiempo de reacción y tiene la navegación configurada
MODO LOCAL
En la aplicación de escritorio ahora, al alternar de nuevo al modo ‘local’ se muestra que hay una sincronización ocurriendo.
El estudio se está cargando y actualizando localmente en la aplicación de escritorio.
Después de unos segundos, el estudio actualizado se ha descargado, por lo que todos los cambios realizados en línea se reflejan en la versión local.
Pasemos a una sesión de grabación de EEG.
Sesión de Grabación de Datos de EEG
Para comenzar una sesión de grabación de datos de EEG, por supuesto necesitamos el estudio de Labvanced que hicimos anteriormente (con su estructura y eventos para enviar los marcadores). Pero también necesitaremos algunos programas suplementarios (gratuitos) para infundir el EEG con marcadores, así como las herramientas para visualizar y potencialmente analizar los datos.
Equipo EEG (Muse 2 EEG)
En esta demostración, estamos utilizando un auricular portátil Muse 2 EEG. Con el programa BlueMuse (gratuito) abierto (para la diadema EEG Muse 2), hacemos clic en la opción ‘Iniciar Streaming’. Una segunda ventana aparecerá mostrando 4 flujos diferentes: el canal de EEG, acelerómetro, giroscopio, etc., así como sus respectivas tasas de muestreo.
Iniciando la transmisión en BlueMuse (ventana derecha) y los flujos aparecen (ventana izquierda).
Estas dos ventanas se pueden minimizar ahora.
Grabador de Laboratorio
La siguiente herramienta que usaremos es el Grabador de Laboratorio (gratuito) que es el software de grabación de LSL que puede utilizarse para grabar el flujo de datos LSL que acaba de conectar, así como para guardarlo en un archivo .XDF.
Si ha iniciado su sistema de EEG y comenzado el flujo de LSL, los verá aquí. En este punto, el flujo de Labvanced aún no se ha iniciado porque el estudio no ha comenzado. Por lo tanto, el estudio necesita iniciarse para que este flujo también comience.
El flujo superior (en rojo) no se ha iniciado porque el estudio aún no ha comenzado. Iniciar el estudio hará que este flujo se vuelva verde. En el lado derecho, puede especificar dónde guardar los datos.
Tan pronto como se inicie el estudio (es decir, abra el estudio en Labvanced y presione Grabar
). Tan pronto como se inicie el estudio y esté en el vestíbulo de espera, entonces puede hacer clic en el botón ‘actualizar’ en el Grabador de Laboratorio y puede ver que el flujo Labvanced ahora está listo.
Nota: En el lado derecho del programa Grabador de Laboratorio, puede indicar la ruta del archivo y elegir dónde guardar el archivo de flujo de datos de datos combinados del flujo Labvanced y del EEG y potencialmente otras fuentes de series temporales localmente en su computadora.
Ahora haga clic en Iniciar
en el programa Grabador de Laboratorio (esquina superior izquierda) para comenzar la grabación.
Brain Vision
Para ver algo, es decir, el feed en vivo del flujo de LSL, necesita iniciar otra herramienta como el Brain Vision Analyzer (gratuito) de Brain Products que usamos aquí y que proporciona una buena visualización de lo que se está grabando.
Al hacer clic en Conectar
, todos los flujos deberían mostrarse aquí. También puede hacer clic en el flujo de Labvanced y hacer clic en Aceptar
.
Ahora, podemos comenzar el experimento y comenzar a grabar y visualizar los datos de EEG!
Vista previa de la transmisión en vivo de EEG en Brain Vision.
Cuando haya un clic o una respuesta en el estudio, también verá que los marcadores aparecen en el flujo de EEG en la parte inferior del programa Brain Vision.
El marcador de ‘clic’ y el marcador de condición no son tan distintos en esta escala. Eso es porque milisegundos después de hacer clic en la imagen, se establece el marcador de condición para el nuevo ensayo, así que aparecen juntos aquí, superponiéndose visualmente.
Los marcadores creados en Labvanced aparecen en la parte inferior, basados en el tipo de condición y clic.
En general, ¡funciona bastante bien!
Finalizando la Grabación
Ahora el estudio ha terminado. Así que podemos detener la grabación de datos haciendo clic en Detener
en el programa Grabador de Laboratorio. Toma unos segundos para que se cree y guarde el archivo.
Análisis de Datos de EEG
EEGLAB Standalone
Lo último que queremos mostrar es cómo analizar los datos de EEG. Por supuesto, hay muchas maneras de analizar datos de EEG, como en Python o en R o utilizar MatLab.
Usaremos el EEGLAB Standalone (gratuito) de la Universidad de California - San Diego (UCSD) que no requiere MatLab ni licencia, solo un entorno de ejecución para que pueda inspeccionar directamente las grabaciones de datos.
Con las opciones de EEGLAB Standalone, todos los complementos, como aquellos para cargar los archivos .XDF (que es el formato de salida del Grabador de Laboratorio), se pueden cargar directamente.
Desde la opción Archivo
, vaya a Importar Datos
→ Usando Funciones y Complementos de EEGLAB
→ desde .XDF a .XDFZ
y busque el archivo del Grabador de Laboratorio en la carpeta local que se especificó anteriormente para ser guardada. Luego, cárguelo. Aparecerán cuadros de diálogo para nombrar la importación y el conjunto de datos.
Una vez que se abra el archivo, aparecerá información relacionada con los marcos por epoch, así como el número de eventos y más.
Vista previa del conjunto de datos [test_1] de EEGLAB Standalone.
Podemos ir a Gráfico
→ Datos de Canal (desplazamiento)
que es una buena visión general de los datos grabados y puede mover a través de los datos.
Abriendo los datos del canal y revisando la sesión de grabación. Los marcadores se enumeran en rosa y verde en la parte superior.
No haremos ningún análisis ahora, pero desde aquí puede realizar operaciones interesantes utilizando marcas de tiempo y conjuntos de datos por epochs. Hay materiales agradables y tutoriales de EEGLAB que cubren una amplia gama de temas.
Por ejemplo, bajo el menú Gráfico
, puede ver muchas opciones. Este es una especie de espectrograma de la grabación.
Un ejemplo de una figura creada utilizando EEGLAB Standalone basada en los datos grabados en esta demostración.
¡Esperamos que esto haya sido útil y haya demostrado cuán rápido se puede configurar un estudio de EEG utilizando la aplicación de escritorio de Labvanced! ¡Gracias!