Boletín No. 104
1o. de septiembre de 2024
Mapeo de actividad electroencefalográfica en MATLAB
Karen Victoria Villanueva De Luna Blanca Tovar Corona, Dra. Adrián Octavio Ramírez Morales, Dr. Álvaro Anzueto Ríos, Dr.
Instituto Politécnico Nacional
UPIITA
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
,
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
,
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
,
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
Resumen
Este artículo presenta una metodología para el mapeo de los valores promedio de energía derivados de señales electroencefalográficas, utilizando herramientas de MATLAB. La técnica incluye una fase de preprocesamiento de datos seguida de la extracción de bandas de frecuencia específicas. Se emplean filtros digitales ajustados a las particularidades de las señales y sus espectrogramas, los cuales se analizan mediante la Densidad Espectral de Potencia para visualizar y cuantificar los valores de energía normalizados. Posteriormente, se crea una representación topográfica mediante la interpolación sobre una cuadrícula que simula la disposición de los electrodos en el cuero cabelludo. Los mapas resultantes se validan con datos del archivo MDD S1 TASK, extraído de la base de datos de Mumtaz y colaboradores de 2017, validando así la eficacia del enfoque propuesto.
Introducción
El análisis de señales electroencefalográficas es una herramienta fundamental en el estudio de la actividad cerebral. Un aspecto crucial del análisis de electroencefalogramas (EEG) es la identificación y cuantificación de las diferentes bandas de frecuencia, que se asocian con distintos estados cerebrales y cognitivos. Sin embargo, la interpretación de estas señales puede ser compleja [1].
El uso de herramientas computacionales como MATLAB permite aplicar técnicas avanzadas de procesamiento de señales para extraer información relevante. En particular, la Densidad Espectral de Potencia (PSD) es una técnica que permite descomponer una señal en sus componentes de frecuencia y analizar su distribución de energía. Al integrar la PSD en diferentes bandas de frecuencia, es posible obtener valores de energía que representan el aporte de cada banda al total de la señal. Estos valores pueden ser normalizados para facilitar su comparación.
En este artículo, se presenta una metodología detallada para el mapeo del promedio de las bandas de energía normalizadas, extraídas de señales de EEG. Se describe el preprocesamiento de las señales, la obtención de valores de energía y su normalización, así como la generación de mapas que esquematizan la distribución espacial de estos valores en el cuero cabelludo. La metodología propuesta se valida utilizando el archivo MDD S1 TASK de la base de datos pública de Mumtaz et al. (2017), demostrando su utilidad [2].
Metodología
Obtención de bandas normalizadas
La obtención de bandas normalizadas se caracteriza por los 3 pasos, descritos a continuación:
- Preprocesamiento de las señales
De acuerdo con las características del método de digitalización de los registros electroencefalográficos, se debe tomar en cuenta la frecuencia de muestreo para implementar los filtros digitales adecuadamente. Por ejemplo, la función butter que devuelve los coeficientes de un filtro digital tipo Butterworth, recibe como parámetros de entrada el orden del filtro y un arreglo que contiene el rango de frecuencias de la banda de paso normalizado respecto a la frecuencia de Nyquist, que es la mitad del valor de la frecuencia de muestreo [3].
Las funciones filter y filtfilt permiten aplicar los coeficientes en cada una de las señales. Por una parte, filter devuelve la señal con el filtro implementado sin considerar una corrección en el desfase de grupo inherente al proceso. En contraste, filtfilt filtra la señal dos veces, una en sentido directo y otra en sentido inverso, para revertir el desfase; sin embargo, es importante considerar que este método implica un decaimiento del 50% en las frecuencias de corte.
El rango de frecuencias a filtrar depende de las componentes que se busca mantener, por lo que es recomendable visualizar constantemente la información con el método de PSD. Existen diferentes técnicas para calcular la PSD, en este trabajo utilizamos el método de Welch. En MATLAB, este se implementa utilizando la función pwelch que recibe los siguientes parámetros: la señal original, el tipo de ventana a implementar, la cantidad de muestras entre cada traslape de ventanas, el valor de la resolución y la frecuencia de muestreo. En este caso se implementó la ventana de Hanning usando la función hanning. Como parámetros de salida, los vectores FREC y PSD son los valores de frecuencia y densidad de potencia del espectrograma, respectivamente.
Al graficar FREC en Hz en el eje de las abscisas y, PSD con unidades generalmente de en el eje de las ordenadas, obtenemos el espectrograma de nuestra señal. Es especialmente útil visualizar las señales antes y después de implementar los filtros para corroborar su efecto y reconocer si es necesario adecuar los valores de las frecuencias de corte.
- Obtención de valores de energía
- Normalización
Hasta ahora, tenemos una cantidad N de valores de energía por cada electrodo, donde N es igual a la cantidad n de bandas analizadas, más el valor del espectrograma total, por segundo de grabación. Primero necesitamos normalizar con respecto al ancho de cada una de las bandas en frecuencia, mencionadas en la Tabla I.
Una vez preprocesadas las derivaciones, identificaremos los valores de energía en cada banda de frecuencia analizada. Los límites en las bandas de frecuencia varían respecto al autor. En nuestro ejemplo, consideramos los siguientes rangos en Hertz:
Los valores de energía corresponden al área bajo la curva del diagrama de PSD en cada rango de frecuencias considerado. Por lo tanto, es útil usar la función trapz que realiza una integración numérica utilizando la regla del trapecio. Entonces, es necesario aplicar la función en cada rango, en correspondencia con FREC y PSD. Adicionalmente, para normalizar es necesario calcular la energía respecto al 100% del espectrograma, ingresando en la función los vectores FREC y PSD completos; como lo muestra la Figura I b).
Este método se puede llevar a cabo segmentando la señal en ventanas temporales, que pueden variar de acuerdo con el propósito del estudio. Es posible realizar un análisis del promedio de la energía en el tiempo, segmentando en ventanas de un segundo de grabación del EEG, tal como ilustra la Figura I a). En consecuencia, la cantidad de muestras por segundo está relacionada con la frecuencia de muestreo de los datos.
Figura I. Proceso para la obtención de bandas normalizadas. |
Una vez normalizados, los valores a graficar corresponden a la razón del aporte energético de cada banda de frecuencias, respecto al aporte normalizado del espectrograma total. En otras palabras, son obtenidos al dividir la energía normalizada de cada banda de frecuencias, sobre el valor de la energía total normalizada, como se puede comprobar en la Figura I c).
Generación de mapas
Para analizar la energía promedio en cada banda de frecuencias, inicialmente calculamos el valor promedio correspondiente a cada una. Es crucial asegurar que el número de bandas de frecuencia analizadas (n) sea equivalente para cada electrodo. En nuestro estudio, identificamos cuatro valores de energía promedio por electrodo, cada uno asociado a una banda de frecuencia distinta.
El mapeo de estos valores se realiza mediante un proceso de interpolación estructurado en cuatro etapas clave:
- Dibujo de la cabeza y localización de electrodos: Se realiza un esquema básico de la cabeza para posicionar los electrodos.
- Generación de una cuadrícula: Se crea una cuadrícula sobre el esquema previo que servirá de base para la interpolación.
- Interpolación en los puntos especificados: Se ajustan los valores de energía a la cuadrícula para obtener una representación continua.
- Visualización de la superficie interpolada: Se gráfica la distribución espacial de la energía en la superficie de la cabeza.
Este proceso se ilustra a través del esquematizado de los 19 electrodos de un registro EEG, conforme al sistema 10-20, facilitando la comprensión y el análisis visual de la distribución de la energía.
Figura II. Proceso para generar los mapas. |
- Dibujo de la cabeza y localización de electrodos
- Generación de una cuadrícula
- Interpolación en los puntos especificados
- Visualización de la superficie interpolada
Para dibujar la cabeza, se utiliza una circunferencia que haga alusión a la vista superior del cráneo. A los costados, un par de circunferencias pequeñas consiguen asemejar la posición de las orejas, mientras que un triángulo en la parte superior corresponde a la nariz. Es útil centrar la circunferencia de mayor tamaño en (0,0) para facilitar la localización de los 19 electrodos, que serán representadas mediante puntos. Cabe destacar que los electrodos se identifican en pares, con excepción de los correspondientes a la zona medial, por lo que, al localizar el electrodo de un hemisferio, el otro es su proyección en el eje y. El esquema propuesto se muestra en la Figura II a).
El comando meshgrid genera las coordenadas de una cuadrícula 2D que contiene los vectores x e y. X es una matriz que contiene cada x en cada fila, mientras Y contiene cada y en sus columnas. Es posible indicar las coordenadas en cada eje con linspace, lo que adicionalmente permite asignar la cantidad de puntos entre los rangos considerados.
Es recomendable establecer los límites de los rangos por fuera de la cabeza, para que la interpolación dentro de la misma se calcule adecuadamente.
La interpolación de valores permitirá completar la cuadrícula de acuerdo con los valores normalizados. Para este fin, el comando griddata recibe las posiciones en x e y, que corresponden a las coordenadas establecidas al localizar los electrodos; además de asociar los respectivos niveles o, en nuestro caso, valores normalizados. Finalmente, se introducen las matrices X e Y. Es sumamente importante la correspondencia de la posición del electrodo con el valor normalizado.
Se recomienda establecer 4 valores adicionales en la interpolación, que correspondan a valores externos en la circunferencia. Por ejemplo, si la circunferencia se da en una cuadrícula que comprende de -1 a 1 en x e y, es útil ingresar las 4 coordenadas que permitan interpolar hasta los límites -3 y 3. Sus valores en valores_normalizados_promedio pueden ser 0, ya que su única finalidad es que la información dentro de la cabeza sea adecuadamente graficada; tal como muestra la Figura II b).
Graficar X, Y y Z como una superficie en dos dimensiones es posible mediante contourf, ingresando los parámetros. Adicionalmente, la escala de color puede ser modificada estableciendo los límites inferior y superior con caxis. En general, es común visualizar los datos con escalas de colores que van de tonalidades frías a cálidas. Establecer el estilo con colormap(‘jet’), cumple con estas características.
Para mejorar el aspecto de la gráfica, se pueden consultar los parámetros adicionales en cada función. Además, establecer una condición que al cumplir que todo valor de Z por fuera de la circunferencia que corresponde a la cabeza sea asignado como valor indeterminado (NaN), evitando graficar valores que no son necesarios. La Figura II c) ilustra este paso.
Resultados
Este estudio presenta los hallazgos derivados del archivo MDD S1 TASK perteneciente a la base de datos de Mumtaz et al. (2017). Este archivo corresponde a un paciente diagnosticado con Trastorno Depresivo Mayor (MDD). 'S1' designa al sujeto analizado, mientras que 'TASK' indica que los datos se obtuvieron durante una sesión de 10 minutos en la que se registró el componente P300 a través de una prueba de paradigma oddball con tres estímulos. Los datos se organizaron en la Figura II y se presenta en cuatro sub-ventanas, cada una correspondiente a una banda de frecuencia diferente. Conforme a lo esperado, se observó una prominente actividad en la banda beta (β_B) en la región occipital, coherente con la naturaleza visual del estímulo empleado en la prueba.
Figura II. Resultados obtenidos en el archivo MDD S1 TASK. |
Conclusión
Los resultados de este estudio ilustran claramente la utilidad del archivo MDD S1 TASK para la comprensión del Trastorno Depresivo Mayor mediante la observación del componente P300 en pruebas de paradigma oddball con estímulos visuales. La organización y análisis de los datos en cuatro bandas de frecuencia distintas permitieron una evaluación detallada de la actividad cerebral, especialmente en la región occipital. La actividad notable en la banda beta durante las pruebas confirma la hipótesis inicial de una mayor respuesta cerebral en áreas relacionadas con el procesamiento visual. Estos hallazgos no solo validan la metodología empleada, sino que también proporcionan un camino para futuras investigaciones sobre biomarcadores para pruebas en el laboratorio.
Referencias
- Ernst Niedermeyer; Donald L. Schomer; Fernando H. Lopes da Silva (2011). Niedermeyer’s electroencephalography: basic principles, clinical applications, and related fieldsWolters Kluwer Health | Lippincott Williams Wilkins, 6th Edition, ISBN-13: 978-0-7817-8942-4.
- Mumtaz et al. (2017). A Wavelet-Based Technique to Predict Treatment Outcome for Major Depressive DisorderPLoS ONEDOI: 10.1371/journal.pone.0171409.
- John G. Proakis; Dimitris G. Manolakis (año). Título del artículolibro,revista o nombre de la página webtexto restante. https://www.lipsum.com/feed/html
- John G. Proakis; Dimitris G. Manolakis (1992). Digital Signal Processing: Principals, Algorithms and ApplicationsPrentice-Hall, 3rd Edition, ISBN: 0-13-394338-9.