Estudio de Aplicación de Escritorio con Integración de EEG
Contenidos:
Descripción general
El objetivo de esta guía es demostrar cómo configurar un estudio simple con integración de EEG utilizando la aplicación de escritorio.
Nota: Para 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, consulta esta página.
Nota: Para 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, consulta esta página.
Configuración
En la pestaña Configuración, en la columna Funciones Especiales, desplázate hacia abajo hasta la opción Lab-Streaming-Layer y actívala. Para más información sobre estas configuraciones, visita esta página.
Luego, aparecerá un campo de texto donde puedes nombrar el flujo de salida. Aquí, creamos un solo flujo y mantenemos el nombre y las opciones predeterminadas.
Típicamente, querrás configurar un flujo de salida para los eventos generados en Labvanced y enviarlo como un flujo de marcadores a tus grabaciones de EEG para marcar eventos, de modo que puedas realizar un análisis relacionado con eventos de los datos de EEG. Después de que esto esté configurado, puedes enviar marcadores individuales en ese flujo, lo cual es bastante directo utilizando el sistema de eventos de Labvanced.
Configuración de un Estudio Simple
Para los propósitos de esta guía, configuraremos rápidamente un estudio para el efecto bouba-kiki con el fin de tener una base de discusión y una base 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 espinosas / afiladas)
- Cuándo se hizo clic en la imagen
Para ver cómo configuramos los estímulos (para contexto), consulta 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 nombramos ‘bouba’ que será para las imágenes de estímulos de formas redondas y luego creamos otro nivel y lo nombramos ‘kiki’ para las imágenes de estímulos de formas espinosas.
- Ahora, bajo la condición Bouba mostrada en el Sistema de Ensayo, hacemos clic en ella y seleccionamos el objeto y luego subimos nuestros archivos de imagen relevantes, seleccionando las opciones para: i.) crear tantos ensayos como estímulos hay 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 configurar los eventos (sección siguiente), la tarea final se verá así, con un clic en la imagen navegando el estudio hacia adelante al siguiente ensayo, mientras se envían 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 para cuándo se hizo clic en la imagen.
Evento 1: Enviar Marcador (Inicio de Marco/Estímulo) a EEG
Para este primer evento, queremos que 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 del Marco como un Disparador para cuándo se debe hacer el primer marcador de EEG.
ACCIÓN
Dado que queremos cambiar entre condiciones, necesitaremos una acción de si/entonces, en el editor:
Acción de Control→Acción de Requerimiento (Si...Entonces)
Para especificar la primera condición, llamamos a la variable de factor correspondiente y la establecemos igual a 'bouba.' Esto se hace aplicando los siguientes pasos en el editor:
- Haz clic en
+ Requerimiento - En el icono de lápiz izquierdo:
Variable→Seleccionar Variabley eligefactor1_tg1_task0 - En el icono de lápiz derecho:
Valor Constante→Cadena→ escribe la cadena bouba
Nota: En el proceso de diseño del experimento, debes dar a tus factores nombres únicos y descriptivos. En el ejemplo anterior usamos el nombre predeterminado factor1_tg1_task0, pero para diseños estructuralmente sólidos, deberías dar a tus factores nombres más precisos que reflejen la categoría (como 'Forma').
Una vez que se cumple esta condición SI, queremos que a continuación ocurra lo siguiente:
Agregar AcciónAcciones de API→Enviar Marcador de LabStreamingLayer- Selecciona el flujo que se creó anteriormente bajo las ‘Configuraciones del Estudio’ para este propósito (es decir, el labvanced_stream_1)
- Valor a enviar:
Valor Constante→Cadena→ escribe la palabra bouba
Especificando el marcador LSL basado en el tipo de condición de estímulo de imagen.
Repetimos el proceso para la condición kiki haciendo clic en la opción + Agregar Otro Caso Si.
Sugerencia de flujo de trabajo: En lugar de crear un segundo evento para la condición ‘kiki’. Simplemente copia el evento anterior (usando el icono de duplicado en la parte superior, al lado de la palabra `SI`) y simplemente cambia las cadenas para que correspondan con el otro factor o tipo de estímulo, es decir, ‘kiki’.
RESUMEN
Hasta este punto, configuramos Labvanced para enviar un marcador de EEG (basado en el tipo de forma del estímulo) en cuanto comienza el marco, es decir, en cuanto se presenta el estímulo.
Evento 2: Respuesta del Participante
Ahora queremos enviar un marcador y medir algo que es 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, así que cuando se haga clic en la imagen, el EEG recibe el marcador de ‘clic’.
DISPARADOR
Entrada del Usuario→Disparador de Mouse+ Agregar Objetivo→ selecciona el objeto de imagen (image_1)
Seleccionando un clic en la imagen como el disparador para cuándo se debe crear el segundo marcador.
ACCIÓN 1 (Enviar marcador 'clic' a EEG)
Crea un nuevo marcador haciendo:
Acciones de API→Enviar Marcador de LabStreamingLayer- Flujo LSL: selecciona
labvanced_stream_1 - Valor a Enviar:
Valor Constante→Cadena→ escribe la palabra Clic
ACCIÓN 2 (Registrar tiempo de reacción)
Usa el Establecer / Registrar Variable creando una variable que sea escalar y numérica que registre el tiempo de activación del mouse desde el inicio del marco:
+ AcciónAcciones de Variable→Establecer / Registrar VariableSeleccionar(botón verde) →+Nueva Variable(parte superior derecha)- Nombre: RT
- Formato: Escalar
- Tipo de Dato: Numérico
- → ‘OK’
- Icono de lápiz →
Disparador (Mouse)→Tiempo de Disparo (Desde el Inicio del Marco)
ACCIÓN 3 (Saltar al siguiente ensayo)
+ AcciónAcciones de Salto→Saltar A→Siguiente Ensayo
Siguiendo este procedimiento, tu evento se verá así:
Tres acciones se configuran para ocurrir al hacer clic con el mouse en la imagen objetivo: i.) enviando el marcador al EEG, cuantificando el tiempo de reacción y moviéndose al siguiente ensayo.
RESUMEN
El evento anterior, con el disparador de hacer clic en una imagen específica, tiene las siguientes acciones que le siguen: un marcador de ‘clic’ directo se envía al EEG, se registra un 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
- 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 navegación configurada
MODO LOCAL
En la aplicación de escritorio ahora, al cambiar de nuevo al modo 'local' 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 ha sido 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 arriba (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.
Equipos de EEG (Muse 2 EEG)
En esta demostración, estamos utilizando un auricular wearable Muse 2 EEG. Con el programa BlueMuse (gratuito) abierto (para el Auricular EEG Muse 2), hacemos clic en la opción ‘Iniciar transmisión’. Aparecerá una segunda ventana 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 pueden minimizarse ahora.
Grabador de Laboratorio
La siguiente herramienta que usaremos es el Grabador de Laboratorio (gratuito) que es el software de grabación LSL que puedes usar para grabar el flujo de datos LSL que acabas de conectar, así como guardarlo en un archivo .XDF.
Si has iniciado tu sistema de EEG y comenzado el flujo LSL, los verás aquí. En este punto, el flujo de Labvanced aún no ha comenzado porque el estudio no ha comenzado aún. Por lo tanto, el estudio necesita ser iniciado para que este flujo comience también.
El flujo superior (en rojo) no se ha iniciado porque el estudio no ha comenzado aún. Iniciar el estudio hará que este flujo sea verde. En el lado derecho, puedes especificar dónde guardar los datos.
Tan pronto como el estudio comience (es decir, abre el estudio en Labvanced y presiona Grabar). Tan pronto como el estudio comience y esté en el vestíbulo de espera, puedes hacer clic en el botón ‘actualizar’ en el Grabador de Laboratorio y podrás ver que el flujo de Labvanced está ahora listo.
Nota: En el lado derecho del programa Grabador de Laboratorio, puedes indicar la ruta del archivo y elegir dónde guardar el archivo de datos del flujo combinado de datos del flujo Labvanced y el EEG y potencialmente otras fuentes de series temporales localmente en tu computadora.
Ahora haz clic en Iniciar en el programa Grabador de Laboratorio (esquina superior izquierda) para iniciar la grabación.
Brain Vision
Para ver algo, es decir, la transmisión en vivo del flujo LSL, necesitas iniciar otra herramienta como el Brain Vision Analyzer (gratuito) de Brain Products que usamos aquí, 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 puedes hacer clic en el flujo de Labvanced y hacer clic en OK.
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 hay un clic o una respuesta en el estudio, verás que los marcadores aparecen también 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, por lo que aparecen juntos aquí, superpuestos 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 el archivo sea creado y guardado.
Análisis de Datos de EEG
EEGLAB Standalone
Lo último que queremos mostrar es cómo analizar datos de EEG. Por supuesto, hay muchas maneras de analizar datos de EEG como en Python o en R o usar 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 puedas inspeccionar directamente los registros de datos.
Con las opciones de EEGLAB Standalone, todos los plugins 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, ve a Importar Datos → Usando Funciones y Plugins de EEGLAB → de archivo .XDF a archivo .XDFZ y encuentra el archivo del Grabador de Laboratorio en la carpeta local que se especificó anteriormente para guardarlo. Luego, cárgalo. Aparecerán cuadros de diálogo para nombrar la importación y el conjunto de datos.
Una vez abierto el archivo, aparecerá información relacionada con los cuadros por época, así como el número de eventos, etc.
Vista previa del conjunto de datos [test_1] de EEGLAB Standalone.
Podemos ir a Graficar → Datos de canal (desplazarse) que es una buena visión general de los datos grabados y puedes moverte a través de los datos.
Abriendo los datos del canal y revisando la sesión de grabación. Los marcadores están listados en rosa y verde en la parte superior.
No haremos ningún análisis ahora, pero desde aquí puedes realizar operaciones interesantes utilizando marcas de tiempo y conjuntos de datos de épocas. Hay buenos materiales y tutoriales de EEGLAB que cubren una amplia gama de temas.
Por ejemplo, bajo el elemento de menú Graficar, puedes ver muchas opciones. Este es un tipo de espectrograma de la grabación.
Un ejemplo de una figura creada utilizando EEGLAB Standalone basado en los datos grabados en esta demostración.
¡Esperamos que esto haya sido útil y demuestra qué tan rápido se puede configurar un estudio de EEG utilizando la aplicación de escritorio de Labvanced! ¡Gracias!