Practico Potenciales Evocados

14
UNER – Facultad de Ingeniería Programación Avanzada 1 ADQUISICIÓN Y PROCESAMIENTO DE POTENCIALES EVOCADOS Introducción Potencial evocado se trata de una exploración neurofisiológica que evalúa la función del sistema sensorial acústico, visual, somatosensorial 1 y sus vías por medio de respuestas provocadas frente a un estímulo conocido y normalizado. Cuando un tren de estímulos sensoriales de cualquier tipo llega al cerebro, provoca secuencias características de ondas en el trazado electroencefalográfico (EEG), que denominamos potenciales evocados. Son diferentes para cada modalidad sensorial y su variabilidad también depende de la intensidad del estímulo. Característicamente presentan una relación estable en el tiempo respecto al estímulo. Los potenciales evocados auditivos de tronco cerebral (PEATC) representan la actividad eléctrica generada por el nervio auditivo y las vías auditivas ascendentes del tronco cerebral en respuesta a un estímulo acústico adecuado. Se colocan al paciente unos auriculares mediante los cuales escuchará un sonido a distintas intensidades. Las respuestas se registran con unos electrodos pegados al cuero cabelludo y lóbulos de las orejas. Tomografía Eléctrica Cerebral. ProyecciónNormal de Potencial Auditivo. 1 El sistema somatosensorial comprende un complejo organismo consistente en centros de recepción y proceso, cuya función es producir modalidades de estímulo tales como el tacto, la temperatura, la propiocepción (posición del cuerpo) y la nocicepción (dolor).

Transcript of Practico Potenciales Evocados

Page 1: Practico Potenciales Evocados

UNER – Facultad de Ingeniería Programación Avanzada

1

ADQUISICIÓN Y PROCESAMIENTO DE POTENCIALES EVOCADOS

Introducción Potencial evocado se trata de una exploración neurofisiológica que evalúa la función del sistema sensorial acústico, visual, somatosensorial1 y sus vías por medio de respuestas provocadas frente a un estímulo conocido y normalizado. Cuando un tren de estímulos sensoriales de cualquier tipo llega al cerebro, provoca secuencias características de ondas en el trazado electroencefalográfico (EEG), que denominamos potenciales evocados. Son diferentes para cada modalidad sensorial y su variabilidad también depende de la intensidad del estímulo. Característicamente presentan una relación estable en el tiempo respecto al estímulo. Los potenciales evocados auditivos de tronco cerebral (PEATC) representan la actividad eléctrica generada por el nervio auditivo y las vías auditivas ascendentes del tronco cerebral en respuesta a un estímulo acústico adecuado. Se colocan al paciente unos auriculares mediante los cuales escuchará un sonido a distintas intensidades. Las respuestas se registran con unos electrodos pegados al cuero cabelludo y lóbulos de las orejas.

Tomografía Eléctrica Cerebral. ProyecciónNormal de Potencial Auditivo.

1 El sistema somatosensorial comprende un complejo organismo consistente en centros de recepción y

proceso, cuya función es producir modalidades de estímulo tales como el tacto, la temperatura, la propiocepción (posición del cuerpo) y la nocicepción (dolor).

Page 2: Practico Potenciales Evocados

UNER – Facultad de Ingeniería Programación Avanzada

2

Los potenciales evocados poseen 10 ms de duración y consisten en una sucesión de picos cuya amplitud generalmente posee valores cercanos a 1 µV. La morfología característica de esta señal en adultos se muestra en la figura 1, donde puede observarse la secuencia de picos, que se identifican con números romanos desde el I hasta el VII.

Figura 1: Morfología de la señal de PEATC.

Para obtener esta señal debe estimularse el sistema auditivo (el efecto de dicho estímulo es la onda que precede al pico I) y registrarse el electroencefalograma (EEG) de la persona mediante electrodos. La morfología de la señal de EEG es la registrada en la figura 2.

0 2 4 6 8 10-600

-400

-200

0

200

400

600

Tiempo [ms]

Am

plit

ud

[u

V]

Figura 2: Morfología de la señal de EEG.

El PEATC se encuentra inmerso en esta señal de EEG, que actúa como ruido de fondo. La amplitud del PEATC es mucho menor que este ruido, como puede verse comparando los valores de amplitud entre las figuras 1 y 2. La extracción de la señal de PEATC desde el ruido de fondo que se encuentra en las señales registradas puede realizarse mediante una técnica de filtrado conocida como Promediación Coherente. Ésta consiste en registrar las señales electroencefalográficas luego de aplicar una serie de

Page 3: Practico Potenciales Evocados

UNER – Facultad de Ingeniería Programación Avanzada

3

estímulos auditivos, para posteriormente promediarlas y obtener el potencial evocado libre de ruido2. Generalmente la Promediación Coherente necesita procesar alrededor de 1000 registros de EEG para obtener una única señal de PEATC, que luego debe pasar por varios filtros que permiten obtener una señal clara que puede ser utilizada para diagnósticos clínicos. El análisis y procesamiento de los PEATC reviste gran importancia en el estudio de la capacidad auditiva. Las diferentes características de esta señal, como por ejemplo la presencia o no de picos, valores de amplitudes y latencias (tiempos de ocurrencia de picos), permiten realizar diagnósticos como la estimación del umbral de audición o la localización de patologías auditivas, entre otros. Las señales adquiridas pueden procesarse mediante Sistemas de Adquisición y Procesamiento de Potenciales Evocados (SAPPE). Estos dispositivos tienen la capacidad de cargar las señales de EEG registradas, aplicarles todos los filtros correspondientes para obtener la señal de PEATC para luego almacenar los resultados en archivos o mostrarlos en una pantalla o display. En la figura 3 está esquematizado el procedimiento completo de adquisición y procesamiento.

Figura 3: Esquema del procedimiento completo de PEATC

En la figura 4 se muestran ejemplos de sistemas de adquisición y procesamiento de PEATC comerciales.

2 Este proceso puede llevarse a cabo dado que puede suponerse al PEATC como una señal estable

(igual en cada uno de los registros) y a la señal de ruido (EEG) aleatoria, estacionaria y de valor medio cero.

SAPPE

Page 4: Practico Potenciales Evocados

UNER – Facultad de Ingeniería Programación Avanzada

4

Figura 4: Sistemas de adquisición de PEATC.

Page 5: Practico Potenciales Evocados

UNER – Facultad de Ingeniería Programación Avanzada

5

Objetivos Los objetivos de este práctico son:

• Adquirir y almacenar en memoria los datos de las respuestas a los estímulos auditivos (registros de EEG) que se encuentran dentro de archivos en el disco rígido.

• Promediar las señales almacenadas a fin de obtener la señal de PEATC.

• Aplicar distintas técnicas de procesamiento a la señal de PEATC para mejorar sus características.

• Mostrar la señal de PEATC en pantalla y almacenarla en el disco rígido.

• Determinar los valores de los picos encontrados en la señal de PEATC, y los tiempos en los que éstos ocurren.

1. DISEÑO ORIENTADO A OBJETOS

• Objetivo Comprensión y presentación del diseño del problema. Identificación de las clases candidatas, las definitivas y sus relaciones.

• Trabajo a presentar 1.a) Diseño del programa. 1.b) Declaración de las clases encontradas con sus atributos y métodos más significativos. 2. ADQUISICIÓN DE LAS SEÑALES DE EEG Por cada paciente al que se le realizó el estudio, se encuentra almacenado en el disco rígido un archivo de texto llamado “_NOMBRE_.cfg” (donde ‘_NOMBRE_’ representa el nombre de los pacientes). Contiene parámetros importantes del estudio, como el nombre del paciente, la fecha en que se obtuvieron las señales, el nombre del archivo donde se encuentran almacenadas todas las señales, la cantidad de señales obtenidas y la cantidad de muestras por señal. Todas las señales se encuentran almacenadas en un único archivo binario para cada paciente, con el formato tiempo de muestra/valor de la muestra, ambos valores flotantes. Un esquema de dicho formato para un paciente se esquematiza en la figura 5.

Page 6: Practico Potenciales Evocados

UNER – Facultad de Ingeniería Programación Avanzada

6

REGISTRO_X.DAT

EEG1 EEG2

EEGm

Figura 5: Archivo con m señales de EEG de n muestras cada uno

Se requiere leer dichos archivos y almacenar todas las señales en memoria, en conjunto con sus parámetros. Una vez que todos los datos fueron almacenados, es conveniente reordenarlos como se muestra en la figura 6. Al estar ordenados de esta manera, el procesamiento de las señales puede realizarse de una forma mucho más eficiente, dado que en lugar de ser necesario cargar los m x n datos en memoria para comenzar la promediación, se pueden ir procesando de a m datos para obtener cada muestra del potencial evocado.

REGISTRO_X_MODIF.DAT m 1ras muestras m 2das muestras

m navas muestras

Figura 6: Formato del archivo modificado

Es decir, esta nueva estructura tiene primero los primeros registros de todas las señales, luego los segundos registros de todas las señales y así sucesivamente.

• Objetivo Comprensión de los fundamentos de lectura y escritura de archivos de texto y binarios. Utilización de estructuras de datos.

• Trabajo a presentar 2.a) Almacenar en memoria los parámetros del estudio en conjunto con las señales registradas utilizando la estructura de datos creada durante el diseño del problema.

t11 v11 t12 v12

2

…. …. t1n v1n t21 v21 t22 v22 …. …. t2n v2n …. ….

….

….

….

….

…. …. ….

….

….

….

….

….

…. …. ….

….

…. ….

….

….

….

….

…. …. ….

….

t

….

….

tm1 vm1 tm2

vm2

….

….

tmn

vmn

t11 v11 t21 v21 …. …. tm1 vm1

t12 v12 t22 v22 …. …. tm2 vm2 …. ….

….

….

….

….

…. …. ….

….

….

….

….

….

…. …. ….

….

…. ….

….

….

….

….

…. …. ….

….

t

….

….

t1n v1n t2n

v2n

….

….

tmn

vmn

Page 7: Practico Potenciales Evocados

UNER – Facultad de Ingeniería Programación Avanzada

7

2.b) Mostrar por pantalla los datos correspondientes a cada paciente. 2.c) Graficar con GNUPlot uno de los EEG de un paciente. El usuario podrá elegir el paciente y cual señal será la mostrada en pantalla. 2.d) A partir de las señales almacenadas en el archivo REGISTRO_X.DAT generar otro archivo binario con el formato mostrado en la figura 6 utilizando la funciones de la biblioteca iostream, como por ejemplo seekg() y tellg(). 3. FILTRADOS DE LAS SEÑALES DE EEG Se requiere obtener algunos parámetros estadísticos importantes de las señales de EEG como el valor medio µ, el desvío estándar σ y los valores máximos y mínimos. Estos parámetros permiten identificar, por ejemplo, las señales que pueden ser descartadas debido a que sus valores se encuentran fuera del rango normal para un adulto. Posteriormente, debe obtenerse la señal de PEATC a partir de las señales de EEG mediante la técnica de Promediación Coherente, que consiste en

promediar los valores isócronos3 de todas las señales de EEG almacenadas en memoria. Una vez extraído el PEATC, pueden aplicársele algunas técnicas de filtrado con distinto fines, por ejemplo: - Remoción del nivel de continua: para llevar a cero el valor medio de todas las señales. El filtro se implementa sustrayendo a cada valor de la señal el valor medio µ de la misma. - Remoción de tendencia lineal (Detrend): para corregir la tendencia a subir o bajar de las señales. Esta tendencia puede verse como una recta que pasa por el medio de la señal, denominada recta de mínimos cuadrados. El filtro se implementa sustrayendo a la señal la recta de ajuste de mínimos cuadrados. El algoritmo para encontrar la recta de mínimos cuadrados es: void RectaMinimosCuadrados() { int n = s.size();

double sumx=0,sumy=0,sumx2=0,sumy2=0,sumxy=0; double sxx,syy,sxy; double x,y;

for (int i=0; i<n; i++)

{ x=i; y=s[i]; sumx += x; sumy += y;

sumx2 += (x * x); sumy2 += (y * y); sumxy += (x * y); }

3 Isócronos: que ocurren en el mismo instante de tiempo.

Page 8: Practico Potenciales Evocados

UNER – Facultad de Ingeniería Programación Avanzada

8

sxx = sumx2 - (sumx * sumx / n); syy = sumy2 - (sumy * sumy / n); sxy = sumxy - (sumx * sumy / n);

// Pendiente infinita

if (abs(sxx) == 0) cout << "Pendiente infinita"; else {

// Calcula la pendiente y la ordenada al origen

pendiente = sxy / sxx; ord_origen = sumy / n - pendiente * sumx / n; } }

- Filtrado pasabajos: para suavizar la forma de onda de la señal. El filtro se implementa aplicando a la señal el siguiente algoritmo: s_filt[i-3] = a0*s[i] + a1*s[i-1] + a2*s[i-2] + a3*s[i-3] + a4*s[i-4]

+ a5*s[i-5] + a6*s[i-6]

donde

a0=0.09126085479392705; a1=0.11426173765854734; a2=0.15000490789650014; a3=0.16357952746091733;

a4=0.15000490789650014; a5=0.11426173765854734; a6=0.09126085479392705;

- Normalización: para que todas las señales posean la misma escala. El filtro se implementa escalando la señal en el rango [0,1], esto es, el valor mínimo de la señal toma el valor 0 y el valor máximo toma el valor 1. Los resultados parciales de cada uno de estos procesamientos se muestran a continuación en la figura 7.

Page 9: Practico Potenciales Evocados

UNER – Facultad de Ingeniería Programación Avanzada

9

m señales EEG

0 2 4 6 8 10-600

-400

-200

0

200

400

600

Tiempo [ms]

Am

plit

ud

[u

V]

Promediación Coherente

PEATC sin

procesar

Filtro Eliminación Continua

PEATC sin

continua

Filtro Eliminación de Tendencia Lineal

Page 10: Practico Potenciales Evocados

UNER – Facultad de Ingeniería Programación Avanzada

10

PEATC sin

tendencia

Filtro Pasa Bajos

PEATC suavizado

Filtro Normalizador

PEATC final

Fig. 7: Esquema del proceso completo de filtrado

Una vez obtenida y procesada la señal de PEATC, puede ser utilizada para realizar diagnósticos clínicos a través de inspección visual en el display del audiómetro. Por ejemplo, la ausencia del pico V en la señal es un claro indicativo de que el paciente sufre de algún tipo de hipoacusia (disminución de la capacidad auditiva).

Page 11: Practico Potenciales Evocados

UNER – Facultad de Ingeniería Programación Avanzada

11

Además, la visualización de la evolución de la señal a través de las distintas etapas de filtrado permite determinar la calidad y eficiencia de los filtros que están siendo utilizados.

• Objetivo

Utilización de los elementos de la STL: contenedores, iteradores y algoritmos.

• Trabajo a presentar 3.a) Calcular el valor medio y el desvío estándar de las señales de EEG registradas. Utilice métodos de la biblioteca algorithm, como por ejemplo, max_element(), min_element() y de la biblioteca numeric, como accumulate(), etc. Almacenar los resultados dentro del objeto que los calcula. 3.b) Realizar la Promediación Coherente de las señales almacenadas en memoria (no utilice el archivo obtenido en el punto 2.d), almacenando la señal de PEATC resultante dentro del objeto que lo calcula. 3.c) Implementar los filtros mencionados anteriormente: remoción de nivel de continua, remoción de tendencia lineal, pasabajos y normalizado descritos anteriormente. 3.d) Almacenar en archivos de texto todas las salidas parciales de los filtros utilizados en el punto 3.c. 3.e) Con el programa se debe poder visualizar con GNUPlot cualquier gráfico a elección del usuario. 4. OPERADORES PARA LA PROMEDIACIÓN COHERENTE Para hacer más clara la lectura del código, se propone escribir un nuevo algoritmo de la Promediación Coherente, donde la suma de las señales de EEG pueda llevarse a cabo mediante el operador ‘+’, y la división por el número de muestras, mediante el operador ‘/’. De la misma manera, se desea acceder a cada muestra de las señales por medio del operador ‘[]’, para poder utilizarlo de la siguiente manera: Senial PEATC; //Creación de un objeto de tipo Senial

float valor;

//Se accede DIRECTAMENTE a los valores almacenados mediante el

//operador [] APLICADO AL OBJETO

valor=PEATC[3];

PEATC[5]=0.0000023;

Page 12: Practico Potenciales Evocados

UNER – Facultad de Ingeniería Programación Avanzada

12

• Objetivo

Aplicación de conceptos de sobrecarga de funciones y sobrecarga de operadores.

• Trabajo a presentar 4.a) Generar un nuevo algoritmo para la Promediación Coherente, en donde las señales de EEG puedan sumarse mediante el operador ‘+’ y pueda utilizarse el operador ‘/’ para realizar la división final en el cálculo del promedio. 4.b) Agregar al programa la posibilidad de acceder a cada elemento de cualquier señal en memoria para lectura o escritura mediante el operador ‘[]’. 5. GRAFICACIÓN DEL PROCESO DE FILTRADO Se requiere visualizar la evolución del proceso de Promediación Coherente de las señales de EEG. Esto permite, por ejemplo, determinar el número óptimo de señales de EEG que deben ser promediadas a fin de obtener una señal de PEATC de utilidad para diagnóstico. Un ejemplo de gráfico que muestra la evolución de la promediación puede verse en la figura 8.

Figura 8: Visualización de la evolución de la Promediación Coherente.

Page 13: Practico Potenciales Evocados

UNER – Facultad de Ingeniería Programación Avanzada

13

• Objetivo

Utilización de la biblioteca de graficación OpenGL.

• Trabajo a presentar 5.a) Graficar la señal de PEATC obtenida. 5.b) Realizar una gráfica en 3 dimensiones, en donde el eje x represente el tiempo, el eje y represente los resultados parciales de la Promediación Coherente y el eje z represente el número de señales de EEG promediadas. 6. CONTENEDOR DE FILTROS Dado que todos los procesamientos aplicados a la señal de PEATC pueden considerarse como filtros, se podría pensar en crear un conjunto de estos filtros, para ser utilizados indistintamente del tipo de procedimiento que realizan. Es decir: for(unsigned i=0;i<CantidadFiltros;i++)

{ ListaDeFiltros[i]->MostrarNombreFiltro(); ListaDeFiltros[i]->Filtrar(PotencialEvocado); }

• Objetivo Aplicación de conceptos de polimorfismo.

• Trabajo a presentar 6.a) Almacenar todos los filtros existentes en una única lista. 6.b) Agregar un método que permita identificar el tipo de filtro a utilizar, para diferenciar los distintos filtros existentes en la lista. 6.c) Filtrar la señal de PEATC utilizando todos los filtros que se encuentran almacenados en la lista de filtros. 7. CÁLCULO NUMÉRICO Como se mencionó anteriormente, la presencia de los picos, sus amplitudes y latencias (el tiempo en el que los picos ocurren), son las características principales que permiten realizar diagnósticos clínicos sobre el estado del sistema auditivo del paciente. En la actualidad, una de las ramas de investigación sobre estas señales apunta a la detección automática de hipoacusias. Esto requiere, entre otras cosas, el desarrollo de técnicas para la detección automática de los picos y el tiempo en el que éstos ocurren (latencias) como puede verse en la figura 9.

Page 14: Practico Potenciales Evocados

UNER – Facultad de Ingeniería Programación Avanzada

14

Figura 9: Gráfico del PEATC y su derivada primera.

• Objetivo Utilización de biblioteca de cálculo numérico.

• Trabajo a presentar 7.a) Interpolar los valores de la señal de PEATC utilizando funciones de la biblioteca Numerical Recipes (Oxford University), como por ejemplo spline() y splint(), para obtener mayor precisión en el cálculo del valor de los picos. Realizar métodos que permitan obtener el valor de la señal para cualquier tiempo. 7.b) Realizar métodos para obtener la 1er y 2da derivada de la señal para cualquier valor del tiempo. Estos se utilizarán para identificar los puntos críticos de la señal y discriminar si se trata de máximos o mínimos de la señal. 7.c) Los máximos y mínimos de la señal de PEATC se encuentran en aquellos puntos donde se anulan los valores de la 1ra derivada. Implementar un método para detectar cuáles son los intervalos de tiempo entre los que se encuentran las raíces de la derivada, y posteriormente encontrar dichas raíces. 7.d) Determinar el tiempo en el que ocurren los picos (máximos de la señal de PEATC) verificando que los puntos críticos encontrados mediante la 1ra derivada posean signo negativo en la 2da derivada. 7.e) Comente los resultados logrados, y compárelos con los que se obtienen mediante inspección visual de la señal. Para esto se debe graficar la señal de PEATC, su 1ra derivada en la misma ventana e indicar con círculos los picos encontrados utilizando GNUPlot.