archibos eeg

Upload: leno-nunez

Post on 11-Jul-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

DESARROLLO DE UNA HERRAMIENTA DE ARQUITECTURA ABIERTA PARA LA VISUALIZACION Y ANALISIS DE SEALES EEG

Ramiro Arango John Jairo Naranjo

UNIVERSIDAD TECNOLOGICA DE PEREIRA FACULTAD DE CIENCIAS BSICAS MAESTRA EN INSTRUMENTACIN FSICA PEREIRA 2010

DESARROLLO DE UNA HERRAMIENTA DE ARQUITECTURA ABIERTA PARA LA VISUALIZACION Y ANALISIS DE SEALES EEG

Ramiro Arango John Jairo Naranjo

Trabajo de grado para optar al ttulo de Magister en Instrumentacin Fsica

Director: M. Sc. EDISON DUQUE

UNIVERSIDAD TECNOLOGICA DE PEREIRA FACULTAD DE CIENCIAS BSICAS MAESTRA EN INSTRUMENTACIN FSICA PEREIRA 2010

Nota de aceptacin: _______________________________ _______________________________ _______________________________

_______________________________ Firma del Presidente del Jurado

_______________________________ Firma del Jurado

_______________________________ Firma del Jurado

Pereira, ________________________

AGRADECIMIENTOS

A nuestras familias por su paciencia y su apoyo.

CONTENIDOINTRODUCCIN ................................................................................................................................... 7 1. MARCO TERICO ............................................................................................................................. 9 1.1 ORIGEN Y NATURALEZA DE LAS SEALES EEG .............................................................................. 9 1.2 EVOLUCIN DE LOS REGISTROS EEG ........................................................................................... 11 1.3 PROPSITO DE LOS REGISTROS EEG ........................................................................................... 12 1.4 DETECCIN DE PATOLOGAS CEREBRALES BASADAS EN EL REGISTRO EEG ............................... 13 1.5 RITMOS EEG ................................................................................................................................ 14 1.6 FORMAS DE ONDA ...................................................................................................................... 15 1.7 OTRAS APLICACIONES DE LOS REGISTROS EEG ........................................................................... 16 1.8 DIAGNSTICO ASISTIDO POR EL COMPUTADOR ........................................................................ 17 1.8.1 Sistema de Reconocimiento De Patrones ................................................................................ 18 1.9 ASPECTOS TCNICOS DEL REGISTRO Y ANALISIS DE SEALES EEG ............................................. 19 1.10 TIPOS DE ELECTRODOS .............................................................................................................. 20 1.10.1 Montaje de Electrodos ........................................................................................................... 20 1.11 SEALES ADICIONALES AL REGISTRO DE EEG ........................................................................... 22 1.12 ESPECIFICACIONES DEL REGISTRO DE SEALES ........................................................................ 22 1.12.1 Escalas de tiempo y voltaje .................................................................................................... 22 1.12.1.1 Muestras x Segundo ........................................................................................................... 23 1.12.1.2 Cantidad de bits/sensitividad .............................................................................................. 23 1.12.2 Filtros...................................................................................................................................... 23 1.12.3 Eventos ................................................................................................................................... 24 1.12.4 Almacenamiento de los registros. Formatos de archivos EEG digitales, Compatibilidad entre sistemas ................................................................................................................................ 24 2. ANTECEDENTES ............................................................................................................................. 25 3. ARQUITECTURA DEL VISOR ........................................................................................................... 32 3.1 APLICACIN VISOR EEG_M ......................................................................................................... 33 3.2 COMPONENTES GRFICOS .......................................................................................................... 36 3.3 COMPONENTES DE SOPORTE...................................................................................................... 37 3.4 COMPONENTES PARA MANEJO DE MDULOS ........................................................................... 37

[1]

DESARROLLO DE UNA HERRAMIENTA DE ARQUITECTURA ABIERTA PARA LA VISUALIZACION Y ANALISIS DE SEALES EEG

3.5 DESCRIPCIN DETALLADA DE LOS COMPONENTES GRFICOS................................................... 38 3.5.1 Componente MainForm ........................................................................................................... 38 3.5.2 Componente Visualizacin 1D ................................................................................................. 39 3.5.2.1 Componentes lgicos ............................................................................................................ 40 3.5.2.2 Componentes Visuales .......................................................................................................... 41 3.5.3 Componente Visualizacin 2D ................................................................................................. 42 3.5.3.1 Componentes lgicos ............................................................................................................ 42 3.5.3.2 Componentes Visuales .......................................................................................................... 43 3.5.4 Componente de Acceso al Video ............................................................................................. 43 3.5.4.1 Componentes Lgicos. .......................................................................................................... 44 3.5.4.2 Componentes Visuales .......................................................................................................... 45 3.5.5 Componente de Lnea de Tiempo ............................................................................................ 45 3.5.5.1 Componentes Lgicos ........................................................................................................... 46 3.5.5.2 Componentes Visuales .......................................................................................................... 46 3.5.6 Componente de Edicin de Eventos ........................................................................................ 47 3.5.6.1 Componentes Lgicos ........................................................................................................... 47 3.5.6.2 Componentes Visuales .......................................................................................................... 48 3.5.7 Componente Contenedor de Controles ................................................................................... 48 3.5.7.1 Componentes Lgicos ........................................................................................................... 49 3.5.7.2 Componentes Visuales .......................................................................................................... 50 3.5.7.3 FilterFrame ............................................................................................................................ 50 3.5.7.4 EscalaFrame .......................................................................................................................... 50 3.5.7.5 FrameModo ........................................................................................................................... 51 3.5.7.6 FrameMontaje....................................................................................................................... 51 3.6. DESCRIPCIN DE LOS COMPONENTES DE SOPORTE ................................................................. 51 3.6.1 Componentes para el Manejo de Mdulos.............................................................................. 52 3.6.1.1 Funciones y Procedimientos ................................................................................................. 55 3.6.1.2 Registro de Tipos de Datos ................................................................................................... 56 3.6.2 Ejecucin de Procedimientos desde un Mdulo Binario.......................................................... 57 3.6.3 Controles .................................................................................................................................. 57 3.6.4 Interface con Otros Lenguajes (Intrpretes) ............................................................................ 58 3.6.4.1 Intrprete de MATLAB ........................................................................................................ 59 [2]

CONTENIDO

3.6.4.2 Mdulos de MATLAB ........................................................................................................... 60 3.6.4.3 Conversin de Variables de Lenguaje C a MATLAB ....................................................... 61 3.6.4.4 Ventana de Comandos de MATLAB .................................................................................... 62 4. INSTALACIN Y MANEJO BSICO DEL VISOR EEG_M ................................................................... 64 4.1 REQUERIMIENTOS DE SOFTWARE PARA LA INSTALACIN DEL VISOR EEG_M........................... 64 4.2 PROCESO DE INSTALACIN ......................................................................................................... 64 4.3 DESCRIPCIN BSICA DEL VISOR EEG_M .................................................................................... 64 5. RESULTADOS ................................................................................................................................. 67 6. CONCLUSIONES Y TRABAJOS FUTUROS ........................................................................................ 70 BIBLIOGRAFA .................................................................................................................................... 72 ANEXO 1. PROCESO DE CONSTRUCCIN DE UN MODULO PARA EL VISOR EEG_M ......................... 76 ANEXO 2. DESCRIPCION DE LAS LIBRERIAS DEL PROGRAMA ............................................................ 90 ANEXO 3. PROCESO DE INSTALACIN DEL VISOR EEG_M ................................................................ 97 ANEXO 4. GUA DE USUARIO DEL VISOR EEG_M ............................................................................ 103 ANEXO 5. CD DE INSTALACIN DEL VISOR EEG_M (INCLUYE AYUDAS) ......................................... 126

[3]

DESARROLLO DE UNA HERRAMIENTA DE ARQUITECTURA ABIERTA PARA LA VISUALIZACION Y ANALISIS DE SEALES EEG

INDICE DE FIGURASFigura 1. Ilustracin de una clula piramidal. ..................................................................................... 9 Figura 2. Alineacin de las clulas piramidales. ............................................................................... 10 Figura 3. Modelo para la representacin de una superficie cortical. ................................................. 10 Figura 4. Registro EEG tpico de un adulto ..................................................................................... 11 Figura 5. Sistema de reconocimiento de patrones ............................................................................. 19 Figura 6. Sistema de registro y anlisis de seales EEG tpico. Edison ........................................... 19 Figura 7. Sistema Internacional 10-20 de ubicacin de electrodos ................................................... 21 Figura 8. Sistema aumentado de posicionamiento de electrodos. ..................................................... 21 Figura 9. Sistemas de registro (a) Monopolar y (b) Bipolar ............................................................. 22 Figura 10. Diagrama de bloques del Sistema Modular del Visor EEG ............................................. 33 Figura 11. Diagrama de flujo del programa hasta que queda listo para cargar seales..................... 34 Figura 12. Diagrama de flujo del programa una vez se elige cargar un archivo de seales .............. 35 Figura 13. Componentes principales del Visor EEG_M ..................................................................... 36 Figura 14. Estructura jerrquica de los componentes VCL. .............................................................. 38 Figura 15. Componentes de Visualizacin 1D .................................................................................. 40 Figura 16. Componentes de Visualizacin 2D .................................................................................. 42 Figura 17. Componentes del Acceso a Video ................................................................................... 44 Figura 18. Componente de Lnea de Tiempo .................................................................................... 46 Figura 19. Componentes de Edicin de Eventos ............................................................................... 48 Figura 20. Componente Contenedor de controles ............................................................................ 49 Figura 21. Componentes para el manejo de mdulos ....................................................................... 52 Figura 22. Ventana de Comandos de Matlab ................................................................................. 63 Figura 23. Interfaz con el usuario del programa VisorEEG_M ........................................................ 65 Figura 24. Configuracin de las seales que hacen parte de un montaje. ......................................... 69 Figura 25. Configuracin de la posicin de los electrodos en la visualizacin topogrfica.............. 69

[4]

ABREVIATURASTRMINOS BIOMDICOS BCI ECG EEG EMG ERPs IRDA LDA MEG MRI PDA PET REM SSW Brain Computer Interface. Interfaces cerebro-computadora. ElectroCardiography. ElectroCardioGrafa (tambin aparece como EKG). ElectroEncephalograpy. ElectroEncefalografa. ElectroMiography. ElectroMiografa. Event Related Potential. Potenciales endgenos relacionados con eventos. Intermittent Rhythmic Delta Activity. Actividad Delta Rtmica Intermitente. Localized-Delta Activity. Actividad Delta Localizada. MagnetoEncephaloGraphy. MagnetoEncefalografa. Magnetic Resonance Imaging. Imagen de resonancia magntica. Polymorphic Delta Activity. Actividad Delta Polimrfica Positron Emission Tomography. Tomografa de Emisin de Positrones. Rapid Eye Movement. Movimiento rpido de los ojos. Spikes and Sharp Waves. Espigas y ondas agudas.

TRMINOS INFORMTICOS ADC API ASCII Analog-Digital Conversor. Conversor Anlogo Digital. Application Programming Interface. Interface de programacin de aplicacin. American Standard Code for Information Interchange. Cdigo Americano Estndar para el Intercambio de Informacin.

ATSM American Section of the International Association for Testing Materials. Seccin de Sociedad Internacional Americana para prueba de Materiales. DLL DSP Dynamic Link Library. Librera de Enlace Dinmico. Digital Signal Processor. Procesador digital de seales.

[5]

DESARROLLO DE UNA HERRAMIENTA DE ARQUITECTURA ABIERTA PARA LA VISUALIZACION Y ANALISIS DE SEALES EEG

FFT GNU ICA

Fast Fourier Transform. Transformada rpida de Fourier. General Public License. Licencia Pblica General. Independent Component Analysis. Anlisis de componentes independientes.

MMX Matrix Math eXtension. Conjunto de instrucciones Multimedia. RAM VCL XML Random Access Memory. Memoria de acceso aleatoria. Visual Component Library. Librera de Componentes Visuales de Borland. EXtensible Markup Language. Lenguaje de marcas expandible.

[6]

INTRODUCCINEl sistema nervioso funciona mediante contactos elctricos entre neuronas, configurando circuitos especficos para cada funcin neurolgica. La electroencefalografa es una tcnica exploratoria no invasiva, que permite registrar la actividad bioelctrica (ondas cerebrales) de las neuronas de la corteza cerebral, mediante unos aparatos adecuados y la colocacin previa de unos electrodos, en unas posiciones estndar. El registro grfico obtenido se denomina electroencefalograma (EEG), y consiste en una sucesin de ondas de diferentes frecuencias y amplitudes. Las llamadas "ondas cerebrales" son en realidad curvas formadas por el voltaje o diferencia de potencial entre 2 electrodos en funcin del tiempo. Los registros de EEG sirven para buscar la base orgnica y entender el funcionamiento elctrico de las afecciones. Se emplea en las epilepsias, los trastornos de la memoria, la demencia, los trastornos de aprendizaje y los cuadros psiquitricos. Gracias al avance de la tecnologa, dichos registros hoy se obtienen en formato digital, permitiendo que las valoraciones de ciertos eventos se puedan llevar a cabo por el especialista de manera ms acertada. En los grupos de investigacin de las universidades del eje cafetero se han presentado varios proyectos que, utilizando diversas tcnicas, logran extraer caractersticas e inclusive clasificar seales de EEG y ECG, pero hasta ahora pocos de ellos han trascendido a la labor mdica pues solo se llega a cumplir con los objetivos acadmicos. Para el desarrollo de este trabajo, nos propusimos los siguientes objetivos: Objetivo general: Desarrollar una herramienta que visualice las seales EEG de la forma usual que utilizan los programas de anlisis de EEG, con un sistema abierto que permita incorporar nuevas rutinas de anlisis con mdulos independientes (desarrolladas ya bien sea en Matlab o en un lenguaje compilado como Lenguaje C), que pueden adicionrsele o quitrsele en cualquier momento. Objetivos especficos: - Implementar rutinas que permitan acceder a los registros EEG de los Electroencefalgrafos comerciales. - Codificar rutinas para visualizacin de seales EEG, con escala de voltaje y tiempo configurables por el usuario. - Investigar sobre los diferentes mtodos de interpolacin en 2D, e implementar algunos para generar visualizacin topogrfica de los registros o anlisis de EEG. - Utilizar una decodificacin de video apropiada a la forma en que se graban las sesiones de EEG, y crear un mtodo de sincronizacin con la visualizacin de las seales. - Definir un estndar para comunicarse con rutinas desarrolladas en Matlab , para el tratamiento de seales EEG y algunas rutinas de ejemplo que lo utilicen. - Definir un estndar para comunicarse con mdulos DLLs para el tratamiento de seales EEG, y algunas rutinas de ejemplo que lo utilicen. - Implementar un sistema de configuracin para adicionar o eliminar los mdulos desarrollados.

[7]

DESARROLLO DE UNA HERRAMIENTA DE ARQUITECTURA ABIERTA PARA LA VISUALIZACION Y ANALISIS DE SEALES EEG

Para cumplir con los objetivos de este proyecto, en primera instancia se evaluaron los diferentes programas que se usan para el anlisis de registros EEG y de esta manera, conocer la forma usual de mostrar los registros para los especialistas (se pretendi hacer una herramienta con la cual el especialista est familiarizado con la forma de presentar los resultados), luego se analiz la documentacin sobre los diferentes formatos utilizados para guardar los registros de EEG, as como las libreras de dominio pblico que podran simplificar la labor de programacin. Con base en esta informacin se procedi a codificar las rutinas de acceso a archivos y visualizacin de los mismos. Se implement la visualizacin topogrfica y el acceso al video que acompaa a los exmenes de EEG. Luego se procedi a definir un estndar para los mdulos a incorporarse y la forma de comunicarse con el programa (paso de parmetros, retorno de valores, etc.), bien sea para mdulos implementados en un lenguaje compilado o un lenguaje interpretado. Se hicieron pruebas bsicas con algunos mdulos que implementen algoritmos simples, y en el momento nos encontramos en la fase de validacin con algunas rutinas ms elaboradas, y de aplicacin en epilepsia. Hay varios aspectos que consideramos destacables en la implementacin, aparte de la arquitectura abierta ya mencionada, que permiten un abanico de posibilidades y futuros proyectos, utilizando como base este trabajo. El primero de ellos es la implementacin de la visualizacin topogrfica, de un gran valor tanto acadmico, como clnico, al permitir ver de forma ms directa las zonas del cerebro donde se presenta actividad elctrica. Esta caracterstica permitira, entre otros: la ubicacin precisa de los focos epilpticos; la correlacin entre los estmulos y las seales, en investigaciones de potenciales evocados; y, porque no, en investigaciones de Interfaces Cerebro Computador. Otro de los puntos que consideramos destacables en este proyecto: la inclusin de rutinas de acceso y visualizacin de video que acompaa a los exmenes de EEG, lo que permite al especialista hacer un diagnstico ms acertado, al poder correlacionarlo con el registro de las seales EEG. Gracias a que permite visualizar los eventos cuantas veces se quiera, en completa sincronizacin con los registros, servira como asistencia en la deteccin manual de artificios debidos a movimientos del paciente. Esta caracterstica del programa tambin se podra aprovechar, utilizndolo como herramienta muy valiosa en el entrenamiento de estudiantes en la interpretacin de los registros.

Conviene tambin mencionar la gran cantidad de siglas, y la disparidad de algunas de ellas, en el contexto en que desenvuelve el proyecto. Mientras que en algunas partes encontramos las siglas provenientes de palabras en espaol, en otras las encontramos provenientes de palabras en ingls, y nos enfrentamos al dilema de cul de ellas utilizar: nuestro idioma nativo es espaol, pero el idioma nativo de los trminos cientficos es el ingls, ya que la mayor parte de las investigaciones y de las publicaciones se han hecho en aquel idioma. Finalmente, optamos por dejarlas en ingls, para hacerlas concordar con la amplia literatura que se encuentra en el medio, e incluir una pequeo gua de abreviaturas, para que el lector pueda fcilmente consultar su proveniencia, su significado y su homlogo en espaol.

[8]

1. MARCO TERICOEn este captulo se presentarn las seales EEG, su origen y la evolucin de sus registros, as como un panorama de las diversas formas en que los especialistas mdicos pueden utilizar los registros EEG como herramienta de diagnstico y/o de investigacin. Luego se muestran algunos aspectos tcnicos que hubo que tener en cuenta a la hora de realizar la aplicacin.

1.1 ORIGEN Y NATURALEZA DE LAS SEALES EEG

Las seales EEG son bioseales y como tal, son variables que pueden ser medidas, monitoreadas, y que reflejan de alguna manera un estado biolgico funcional. Cuando la seal medida tiene origen elctrico, en cualquier organismo, la bioseal se toma a partir de alguna corriente producida por el cambio de potencial elctrico sobre algn tejido, rgano o sistema celular [1]. En particular las seales EEG se consideran generadas principalmente por la actividad de las neuronas piramidales de la capa IV de la corteza cerebral, que producen corrientes macroscpicas debido al alineamiento de las dendritas apicales (en las figuras 1 y 2 y 3 se representan modelos de una y varias neuronas piramidales de la capa IV). La amplitud de la seal EEG se relaciona con el grado de sincrona con el cual las neuronas corticales interactan. La excitacin sincronizada de un grupo de neuronas produce una seal de gran amplitud en el cuero cabelludo ya que las seales originadas en las neuronas individuales se suman de forma coherente en el tiempo. [2][3].

-

+

+ Sumidero

+ Fuente

Figura 1. Ilustracin de una clula piramidal, donde se muestra esquemticamente el rbol dendrtico a la izquierda, el cuerpo celular y el axn de la derecha. Un potencial sinptico crea un sumidero de corriente en el rbol dendrtico y una fuente de corriente en el soma (Adaptado de Nunez, P.L. 1981. Electric Field of the Brain. New York: Oxford University Press).

[9]

1.

MARCO TERICO

Figura 2. Alineacin de las clulas piramidales. Estas clulas se alinean de una manera muy invariable, con grandes sumideros en las dendritas en una direccin y las fuentes en los somas en la otra. En este esquema se supone que las clulas estn sincronizadas, y se crean fuertes dipolos sincronizados, ya que los flujos de las corrientes a partir de clulas individuales no se cancelan entre s (Adaptado de Nunez, P.L. 1981. Electric Field of the Brain. New York: Oxford University Press).

Figura 3. Modelo para la representacin de una superficie cortical dividida en elementos de volumen que estn interconectados por las fibras de asociacin y otras intracorticales. (Adaptado de Nunez, P.L. 1981. Electric Field of the Brain. New York: Oxford University Press).

Las seales registradas a travs del cuero cabelludo, en general, tienen amplitudes que oscilan entre unos pocos microvoltios hasta aproximadamente 100 V y un contenido de frecuencia entre 0.5 a 40 Hz. En un registro de EEG normalmente se utilizan varios canales para monitorear diferentes zonas cerebrales (Figura 4). La Federacin Internacional de Sociedades de Electroencefalografa y Neurofisiologa Clnica recomend el uso de un estndar en el posicionamiento de electrodos conocido como 10-20, (ms adelante se detalla sobre esta convencin), que consisten en 21

[10]

DESARROLLO DE UNA HERRAMIENTA DE ARQUITECTURA ABIERTA PARA LA VISUALIZACION Y ANALISIS DE SEALES EEG

electrodos posicionados en sitios especficos de la corteza cerebral, sin embargo para ciertos registros se utilizan ms canales para tener mejor resolucin espacial.

Figura 4. Registro EEG tpico de un adulto (Tomado de una de las ventanas del VisorEEG_M)

1.2 EVOLUCIN DE LOS REGISTROS EEG

Los primeros intentos por registrar la actividad elctrica del cerebro se deben a Richard Caton (1842- 1926). ste fue un mdico que ejerci en Liverpool, y se interes profundamente en los fenmenos electrofisiolgicos y recibi una beca de la asociacin Mdica Britnica, para explorar los fenmenos elctricos de los hemisferios cerebrales expuestos de conejos y monos. Segn Brazier (1961), Caton present sus resultados a la asociacin el 24 de agosto de 1875, y un informe muy breve de 20 lneas apareci posteriormente en el British Medical Journal. Un informe ms detallado fue presentado en la misma revista en 1877 con experimentos de ms de 40 conejos, gatos y monos [4]. En sus inicios, los registros de la actividad elctrica del cerebro utilizaban un simple galvanmetro, y fue mejorando a medida que la tecnologa de dichos instrumentos avanzaba, se usaron entonces galvanmetros dArsonval, electrmetros capilares (Lippmann y Marey [12]), hasta el galvanmetro

[11]

1.

MARCO TERICO

de corriente presentado por Einthoven en 1903, un instrumento muy sensible y preciso que se utiliz como estndar por dcadas. Berger en 1929 desarroll un sistema de registro de la actividad elctrica cerebral, pero no fue hasta la dcada de los cuarenta cuando comenz a utilizarse de modo rutinario en gran nmero de pacientes [5]. Ya en aos ms recientes se utilizan sistemas integrados que incluyen varios canales con electrodo, amplificador diferencial, filtro y registro con aguja por cada canal. Algunas mejoras en el registro Multicanal en cuanto a la visualizacin incluyeron la utilizacin de papel cuadriculado y opciones de cambio de escala, pero el gran avance se tiene cuando se logra digitalizar las seales (utilizando sistemas con ADC), y as poder integrar el registro con sistemas informticos en los cuales se pueden almacenar los registros. Nuevamente las mejoras en el registro y almacenamiento del EEG van de la mano de los avances en la tecnologa, sobre todo de la informtica, en cuanto la calidad de los registros mejora cuando se digitaliza utilizando ms bits por canal, a su vez esto implica un gran volumen de datos por procesar. Tambin fue crucial el avance en cuanto a los tipos de electrodos utilizados, tanto en sensibilidad como en tamao. Hoy en da se tienen varias opciones de acuerdo a las necesidades: desechables (con y sin gel), electrodos de disco reusables (de oro, plata o acero inoxidable); gorros y capas de electrodos; electrodos de aguja, etc. [13]. Los sistemas informticos modernos permiten una configuracin variable de estmulos y frecuencia de muestreo, y algunas estn equipadas con simples o avanzadas herramientas de procesamiento de seales para el anlisis de los registros.

1.3 PROPSITO DE LOS REGISTROS EEGLa medicin de la actividad elctrica espontnea de la corteza cerebral mediante un EEG es de gran importancia para diagnosticar, entre otros, la presencia y tipo de trastornos convulsivos, buscar las causas de la convulsin y para evaluar lesiones en la cabeza tales como tumores, infecciones, enfermedades degenerativas y alteraciones metablicas que afectan al cerebro, razn por la cual los registros de EEG son una herramienta vital para que los mdicos especialistas puedan diagnosticar efectivamente diversas patologas. Gracias al avance de la tecnologa, dichos registros hoy se obtienen en formato digital, permitiendo que las valoraciones de ciertos eventos se puedan llevar a cabo por el especialista de manera ms acertada; pero tambin, cada vez es ms frecuente la aplicacin de tcnicas avanzadas de procesamiento digital de seales a dichos registros, logrando ejecutar de manera automtica algunas de las labores realizadas por los especialistas y as aliviar la pesada carga que le representa el gran volumen de datos a procesar [14]. Algunas de las aplicaciones de los registros EEG se listan a continuacin: (a) Deteccin de estado de alerta de vigilancia, coma y muerte cerebral (b) Localizacin de la zona de los daos tras una lesin de cabeza, derrame cerebral, y tumores (c) Ensayos de las vas aferentes (por potenciales evocados)

[12]

DESARROLLO DE UNA HERRAMIENTA DE ARQUITECTURA ABIERTA PARA LA VISUALIZACION Y ANALISIS DE SEALES EEG

(d) Seguimiento de la participacin cognitiva (Ritmo Alfa) (e) Biorrealimentacin (f) Control de profundidad de anestesia (servo anestesia) (g) Investigacin de la epilepsia y la localizacin de origen de focos (h) Pruebas de los efectos de drogas en epilepsia (I) Asistencia para la extirpacin experimental cortical de focos epilpticos (j) Seguimiento del desarrollo del cerebro (k) Ensayos sobre los efectos convulsivos de drogas (l) Investigacin de los trastornos del sueo y la fisiologa (m) Investigacin de los trastornos mentales (n) Proporcionar un sistema de grabacin de datos hbrido junto con otras modalidades de imgenes.

1.4 DETECCIN DE PATOLOGAS CEREBRALES BASADAS EN EL REGISTRO EEG

Los mdicos deben identificar los signos, sntomas y seales orgnicas que sirvan de referentes para determinar los estados de normalidad o anormalidad, asociada a posibles enfermedades. La identificacin se realiza a travs de la percepcin sensorial, en ocasiones con mediacin de instrumentos o dispositivos elementales que magnifican las seales orgnicas o facilitan el juicio sobre el grado de normalidad o anormalidad de los diferentes estados funcionales del organismo. Este modelo tiene varias limitaciones: alta subjetividad cuando slo se interpreta por un mdico, imposibilidad de almacenamiento y rplica para un futuro anlisis en caso de requerirse una asesora de mayor precisin en el diagnstico o en las decisiones teraputicas, por ltimo, se presenta el sesgo y otras clases de error, a pesar de la destreza generada por el entrenamiento y la formacin del recurso humano. De ah que, a menudo, se requiera de equipos y ayudas de tecnologa que faciliten la exploracin y auscultacin que de manera objetiva mejoren la calidad de las decisiones de tipo clnico; o en otros casos, que provean de la informacin suficiente al especialista con el objetivo de que sirva de soporte a una adecuada solucin del problema. [1]. El electroencefalograma es un instrumento elemental para identificar los estados funcionales del cerebro. La Electroencefalografa clnica correlaciona la actividad del sistema nervioso central tanto en funcionamiento normal como en disfunciones y enfermedades, con ciertos patrones del EEG con base en resultados empricos obtenidos con anterioridad, pero cada vez con ms frecuencia las investigaciones en este campo conllevan a una explicacin cientfica que exponga los procesos

[13]

1.

MARCO TERICO

fisiolgicos elementales subyacentes [15]. En gran medida estos resultados son consecuencia de las facilidades de que disponen los equipos de electroencefalografa moderna. Algunas enfermedades son diagnosticadas con base en los patrones anormales en las seales EEG ya sea por la localizacin espacial (completa, local, unilateral, bilateral, etc.), o por su persistencia en el tiempo (breve e intermitente o prolongada y persistente); estos patrones anormales tienen que ver con la ausencia o persistencia de las ondas asociadas a los ritmos cerebrales ya sea en vigilia o en estados del sueo, o con respuestas funcionales anormales en estados conscientes. Inclusive, las anormalidades en las ondas cerebrales permiten determinar el grado de integridad fisiolgica de la corteza cerebral en pacientes en estado de inconsciencia (estado de coma o vegetativo, o inducidos por anestesia). A continuacin se mencionarn las caractersticas bsicas que se tienen en cuenta para clasificar un registro de EEG y algunas de las patologas asociadas a patrones especficos de dichas caractersticas.

1.5 RITMOS EEGLas caractersticas primarias de un registro EEG a las cuales se les presta especial atencin son la amplitud y el contenido de frecuencias de una seal. A dicho contenido se le denomina comnmente como ritmo del EEG: Delta: Menores a 4 Hz Teta: Entre 4 a 7 Hz Alfa: Entre 8 a 13 Hz Beta: Entre 14 a 30 Hz Gamma: Mayores a 30 Hz

Aunque no hay una explicacin cientfica a cada uno de los ritmos cerebrales, la correlacin entre contenido en frecuencia y amplitud s puede asociarse con la actividad en sincrona o no de las clulas cercanas a un electrodo. Los ritmos de baja amplitud y altas frecuencias reflejan un cerebro activo asociado con un estado de alerta o cuando se est soando, mientras que las seales de gran amplitud y bajas frecuencias se asocian con estados de somnolencia o cuando se duerme sin la aparicin de sueos. Esta relacin es lgica, debido a que cuando la corteza est procesando informacin de forma ms activa, ya sea por una entrada sensora o por algn proceso interno, el nivel de actividad de las neuronas corticales es relativamente alto, pero igualmente desincronizado [2]. En otras palabras, cada neurona, o un grupo muy pequeo de neuronas resulta envuelto vigorosamente en un aspecto ligeramente diferente de una tarea cognitiva compleja; dispara de forma rpida, pero no de forma simultnea con la mayora de sus vecinos. Esto conduce a una baja sincrona, de forma que la amplitud del EEG es baja. En contraste, durante el sueo profundo, las neuronas corticales no estn procesando informacin, y una gran cantidad de ellas estn fsicamente excitadas por una entrada rtmica comn. La frecuencia, o tasa de oscilacin de un ritmo EEG es

[14]

DESARROLLO DE UNA HERRAMIENTA DE ARQUITECTURA ABIERTA PARA LA VISUALIZACION Y ANALISIS DE SEALES EEG

parcialmente sostenido por la actividad de entrada del tlamo. Esta parte del cerebro est constituida por neuronas que poseen propiedades de marcapasos, las cuales tienen la actividad intrnseca de generar un patrn rtmico de disparo auto sostenido. En este caso la sincrona es alta, de forma que la amplitud del EEG es grande [16]. Para una frecuencia dada, normalmente una seal de gran amplitud puede considerarse anormal (en algunos casos esto se puede confundir con artificios debidos al movimiento del paciente, de ah la importancia de tener un registro del video simultaneo con el EEG), esto es cierto para todas las frecuencias, pero sobre todo para las altas frecuencias (ritmo beta). Las bajas amplitudes en cambio, podran estar asociadas a una disminucin peligrosa de los voltajes cerebrales, pero considerando la baja sincronizacin en estados de vigilia podran tratarse de valores normales. En los estudios de las fases de sueo, se correlacionan ciertos patrones con patologas como problemas metablicos y/o cerebro vasculares. Por ejemplo, se asocian problemas cerebro vascular con ritmos alfa intermitentes en pacientes de edad avanzada [17]. Las similitudes entre las frecuencias de ritmo alfa y el temblor fisiolgico de los dedos han sido discutidas por Isokawa y Komisaruk (1983). Las diferencias en la amplitud de las ondas Alfa, cuando se compara la actividad por hemisferios, parece que se relaciona con el hemisferio dominante, pero tambin existen estudios que relacionan la falta de diferencias con la depresin endgena [18]. Tambin se utiliza el EEG para deteccin de los tumores cerebrales, teniendo en cuenta ciertos patrones: Actividad Delta Polimrfica (PDA) o Actividad Delta Localizada (LDA). Estas ondas lentas se localizan habitualmente en el lado del tumor, con formas de onda irregulares (polimrfico) y continuas. Actividad delta rtmica intermitente (IRDA) o actividad delta monorrtmica sinusoidal (MSDA). Perdida de actividad elctrica en las reas cercanas al sitio donde se encuentra el tumor. Los gliomas del lbulo frontal tienden a causar descargas locales de alto voltaje, a veces ms de 100 V. En algunos casos, el desarrollo de alteraciones del EEG paroxstico puede predecir la aparicin de trastornos convulsivos. Pueschel (1991) y Katada (2000) demostraron una disminucin progresiva de las frecuencias alfa en la regin occipital en una edad ms temprana en el sndrome de Down, que en otros tipos de retraso mental. Un anlisis ms detallado del EEG implica tener en cuenta las formas de onda tpicas. Las ondas en el EEG son reconocidas principalmente por su forma, y de manera secundaria por su frecuencia; estas incluyen ondas que pueden ser normales o anormales segn su contexto (como las espigas y ondas agudas).

1.6 FORMAS DE ONDALas espigas y ondas agudas (SSW Spikes and Sharp Waves) son formas de onda transitorias que sobresalen entre las de la actividad de fondo del EEG con un patrn temporal irregular e imprevisible (actividad paroxstica). Su presencia indica un comportamiento neuronal extrao comnmente encontrado en pacientes que sufren de crisis epilpticas [19]. Debido a su relacin con

[15]

1.

MARCO TERICO

los ataques epilpticos, a las SSW se les refiere como interictales, debido a que ocurren entre eventos ictales o eventos epilpticos. La definicin clnica de las SSW es ambigua, pero ambos tipos de forma de onda generalmente se caracterizan por un arrancn inicial muy empinado. Una espiga se diferencia de una onda aguda por su duracin: una espiga tiene una duracin dentro del rango de 2070 ms, mientras que una onda aguda dura de 70200 ms. Aunque la morfologa de la forma de onda es esencialmente monofsica, no es extrao observar formas de onda bi o trifsicas. La morfologa de la forma de onda depende, naturalmente, de la ubicacin del electrodo en el cuero cabelludo. Formas de Onda asociadas a las fases de sueo: El cerebro tiene tres estados funcionales esenciales: vigilancia, sueo con movimiento rpido de los ojos (REMRapid Eye Movement), y sueo sin REM. Los dos estados del sueo, comnmente conocidos como sueo REM y sueo no-REM, suceden varias veces durante una noche. El sueo noREM es un estado de espera asociado con el descanso del cerebro y de las funciones corporales. Los ritmos EEG lentos de gran amplitud durante un sueo noREM indican un alto grado de sincrona de las neuronas corticales subyacentes. A este estado se le puede subdividir en cuatro etapas relacionadas con el grado de profundidad del sueo. Cada una de ellas contiene formas de onda caractersticas (Complejos K, Ondas V, Ondas Lambda, POSTS, Espigas de sueo, Ondas mu, y transitorios epilpticos benignos del sueo). Para una descripcin detallada de las formas de onda asociados con estas etapas consultar [1]. EEG ictal: Durante un ataque epilptico al EEG se le refiere como EEG ictal, manifestado por un ritmo anormal con un incremento sbito de amplitud. El inicio de un ataque epilptico tambin se ha asociado con un cambio sbito en el contenido de frecuencia que normalmente evoluciona en un ritmo con un patrn de ondas afiladas. El EEG ictal puede tener una gran variabilidad entre los ataques, haciendo difcil su deteccin tanto de forma manual como automtica. Algunos estudios correlacionan las formas de onda lentas y prolongadas en infantes prematuros con hemorragias interventriculares, principalmente sobre el rea rolndica [20][21].

1.7 OTRAS APLICACIONES DE LOS REGISTROS EEG

Las funciones cerebrales de las diferentes regiones corticales histricamente se han descubierto teniendo en cuenta las lesiones cerebrales y sus manifestaciones en las funciones orgnicas y/o cambios de comportamiento, pero con el EEG tambin se pueden llevar a cabo investigaciones de este tipo, por ejemplo las que relacionan la respuesta cortical a estmulos sensoriales y todas aquellas que implican actividades neurocognitivas. La importancia del electroencefalograma (EEG) para investigar las funciones neurocognitivas fue reconocida ya por su descubridor, el mismo Hans Berger. En su primer escrito sobre el EEG en humanos present el tema como una pregunta: Ser posible demostrar los procesos intelectuales por medio de un electroencefalograma? [22]. Y le dio una respuesta positiva en la misma publicacin cuando describi el bloqueo-alfa durante el procesamiento cognitivo como principal objeto de correlacin de los estados mentales. As, el efecto Berger fue el punto de partida de la investigacin EEG-neurocognitiva.

[16]

DESARROLLO DE UNA HERRAMIENTA DE ARQUITECTURA ABIERTA PARA LA VISUALIZACION Y ANALISIS DE SEALES EEG

La electroencefalografa como mtodo general para la investigacin de las funciones del cerebro humano incluye formas de determinar la reaccin del cerebro a una variedad de estmulos. El campo de investigacin dedicado a la deteccin, cuantificacin y anlisis fisiolgico de los cambios leves en el EEG que estn relacionados con acontecimientos particulares han sido tema de creciente inters en los ltimos aos, la mayora de estos tpicos se tratan con el trmino genrico de ERP (potenciales relacionados con eventos), o las versiones ms concretas potenciales evocados (PE), y potenciales sensoriales. Utilizando las tcnicas del EEG y el MEG (MagnetoEncephaloGraphy) para tener una buena resolucin temporal y tcnicas de MRI (Magnetic Resonance Imaging) y PET (Positron Emission Tomography), para tener una buena resolucin espacial abundan las investigaciones en ste campo (para una completa revisin consultar [23]). El registro EEG se utiliza por ejemplo para correlacionar las frecuencias asociadas a los registros con procesos neurofisiolgicos, los potenciales endgenos relacionados con eventos (ERPs), los cambios sostenidos de los niveles DC en los potenciales corticales antes o durante el desempeo mental. Un desarrollo relativamente reciente en la neurofisiologa aplicada son las llamadas interfaces cerebro-computadora (BCI, por las siglas en ingls de Brain Computer Interface), por medio de los cuales se extraen automticamente caractersticas las seales de EEG y se utilizan para operar los dispositivos controlados por computadora para ayudar a los pacientes que tienen comprometidas las funciones motoras, como es el caso de los pacientes tetrapljicos. Este nuevo enfoque fue posible gracias a los avances en los mtodos de anlisis del EEG y en tecnologa de la informacin, unida a una mejor comprensin de la correlacin de funciones psicofisiolgicos con ciertas caractersticas del EEG. Como objetivo a largo plazo de esta tecnologa de la BCI es disponer de un sistema que permite la comunicacin directa entre el cerebro y la computadora.

1.8 DIAGNSTICO ASISTIDO POR EL COMPUTADORActualmente, los adelantos relacionados con el anlisis de seales y la automatizacin de sistemas, hacen que el modelo de diagnstico presente cada vez mayor inters en el empleo de los sistemas automticos de procesamiento e identificacin de estados funcionales del organismo, los cuales brindan soporte al personal mdico especialista que interpreta y toma las decisiones finales sobre el diagnstico. Como resultado, el diagnstico asistido, en el cual un sistema de proceso digital ofrece mayor evidencia e informacin al especialista, permite mejorar la calidad de su veredicto clnico [1]. Las ventajas relacionadas con los altos valores de velocidad, precisin y memoria para el almacenamiento de datos, que ofrecen los sistemas modernos de procesamiento digital permiten el desarrollo de sistemas de proceso de informacin sobre una vasta cantidad de datos mdicos necesarios para el diagnstico. De este modo, se incrementa la productividad y la eficacia del diagnstico, tanto teraputico, como de acciones preventivas por el uso econmicamente justificado de computadores para resolver problemas mdicos. No obstante, se debe hacer hincapi en que el diagnstico asistido es siempre de carcter consultivo. Un computador no puede reemplazar el veredicto mdico; sin embargo, puede sugerir una serie de decisiones con cierto nivel de

[17]

1.

MARCO TERICO

confiabilidad, de manera que sean finalmente aceptadas o rechazadas por el mdico. El especialista utiliza la respuesta del computador como una segunda opinin, pero es el mdico quien toma la decisin final. En electroencefalografa clnica se utilizan diversas herramientas para mejorar el diagnstico de algunas patologas mencionadas anteriormente que son incorporados a los programas de registro, y los cada vez ms frecuentes programas de anlisis de seales EEG. Las herramientas que proporcionan estos programas van desde simples cambios de escala para visualizar fenmenos de corta o larga duracin, pasando por la aplicacin individual o general de filtros digitales, deteccin y extraccin de artefactos (en conjunto, todos estos se conocen como preprocesamiento de la seal), hasta algoritmos de extraccin de caractersticas y clasificacin. Por ltimo, cabe anotar que en concordancia con el nmero de trabajos presentados, relacionados con la investigacin y desarrollo de aplicaciones de diagnstico asistido en IEEE EMB Society, Biosignals y las publicaciones en IEEE Transactions on Biomedical Engineering del 2000 al 2007 (Electrocardiografa - 210, Fonocardiografa - 73), se observa que la mayora de los trabajos se ha centrado en el rea de preproceso y extraccin/seleccin de caractersticas orientadas al reconocimiento de estados funcionales.

1.8.1 Sistema de Reconocimiento de Patrones

Usualmente un sistema de reconocimiento de patrones se describe en concordancia con el diagrama que se aprecia en la Figura 5. En una primera etapa, a partir del objeto (observacin) se extraen mediciones (seales capturadas por medio de sensores) que se deben revisar y adecuar a fin de reducir o descartar problemas derivados del ruido o falla en los instrumentos de medida. A partir de las seales capturadas y adecuadas, se inicia la generacin de caractersticas, que permite construir valores representativos que revelen o permitan descubrir algn tipo de patrn en los objetos que se analizan. Una vez construido el conjunto de caractersticas es necesario realizar el preproceso, con el fin de disminuir la influencia de los errores de registro sobre los datos caracterizados. Posteriormente, es posible hacer adaptaciones y transformaciones de dicho conjunto, de tal manera que se resalte el patrn subyacente en los objetos por medio de tcnicas de seleccin o extraccin de caractersticas. Finalmente, en la etapa de clasificacin, es donde se hace una asociacin del objeto a un tipo de clase (Daza-Santacoloma, 2007). La clasificacin requiere ser validada y afinada, a fin de obtener un sistema con capacidad de generalizacin y precisin de respuesta [24].

[18]

DESARROLLO DE UNA HERRAMIENTA DE ARQUITECTURA ABIERTA PARA LA VISUALIZACION Y ANALISIS DE SEALES EEG

Figura 5. Sistema de reconocimiento de patrones

1.9 ASPECTOS TCNICOS DEL REGISTRO Y ANALISIS DE SEALES EEG

En la Figura 6 puede observarse un sistema moderno de registro y anlisis EEG utilizado por los especialistas para el diagnstico mdico. A continuacin se expondrn algunas de las caractersticas ms importantes a tener en cuenta en cada uno de estos componentes.

Figura 6. Sistema de registro y anlisis de seales EEG tpico.

[19]

1.

MARCO TERICO

1.10 TIPOS DE ELECTRODOSLos electrodos para el registro apropiado de las seales EEG son cruciales para tener una buena calidad en los datos adquiridos. Existen diferentes tipos de electrodos dependiendo de las necesidades y el tipo de registro: Desechables (sin gel, con gel incluido). Electrodos de disco reusables (oro, plata, etc). Gorro de electrodos. Electrodos con base salina. Electrodos de aguja (para registros intracraneales).

La caracterstica comn ms importante que deben poseer los electrodos es una impedancia menor a 5k y tener un balance en 1k entre los electrodos. Algunos equipos tienen ganancia programable y un sistema de calibracin que permite ajustar dichas ganancias de acuerdo a la seal de respuesta del canal a una seal de voltaje conocida [25].

1.10.1 Montaje de ElectrodosUn comit de la Federacin internacional de Sociedades de Electroencefalografa y Neurofisiologa Clnica recomend un sistema especfico de posicionamiento y denominacin de electrodos para usar en todos los laboratorios bajo condiciones estndares, como se observa en la Figura 7 (Jasper, 1958). Esta recomendacin se conoce hoy en da como el estndar 10-20. Cada canal recibe un nombre (una o dos letras y un nmero) de acuerdo a la zona de la cabeza donde se encuentra ubicado. Para determinar la posicin en un lugar especfico de la cabeza de cada paciente se deben hacer algunas mediciones longitudinales y transversales de las dimensiones craneales. En 1991 la Sociedad Americana de EEG aument a la gua de nomenclatura de ubicacin de electrodos, hasta llegar a la identificacin de 75 posiciones de electrodos, tal como aparece en la Figura 8.

[20]

DESARROLLO DE UNA HERRAMIENTA DE ARQUITECTURA ABIERTA PARA LA VISUALIZACION Y ANALISIS DE SEALES EEG

Figura 7. Sistema Internacional 10-20 de ubicacin de electrodos

Figura 8. Sistema aumentado de posicionamiento de electrodos.

Los montajes de EEG normalmente se clasifican en dos categoras, por un lado estn los montajes que utilizan una seal comn (denominados monopolares) a la cual estn referidos cada uno de los canales y por el otro estn los montajes que hacen referencia a registrar la diferencia de potencial entre dos canales, a este ltimo tipo de montaje se les denomina montajes bipolares (Ver Figura 9). Si bien el hardware habitualmente posibilita el registro directo de las seales bipolares, una forma ms prctica de obtener estos registros es mediante el software de visualizacin, el cual debe permitir visualizar el registro resultado de restar parejas de seales monopolares para obtener las seales bipolares respectivas, a este tipo de arreglos se les denomina montajes por software.

[21]

1.

MARCO TERICO

Figura 9. Sistemas de registro (a) Monopolar y (b) Bipolar

1.11 SEALES ADICIONALES AL REGISTRO DE EEGEn algunos registros de EEG se puede adicionar un canal de ECG para correlacionar la actividad elctrica del corazn con la actividad elctrica del cerebro, e incluso en algunas ocasiones tambin se correlaciona con la actividad electromiogrfica (EMG) en algn tejido muscular en particular. Cada vez es ms frecuente acompaar al registro de EEG con el video que registra la actividad del paciente para determinar seales de ruido debidas a movimientos del paciente, pero tambin es til para visualizar la actividad del paciente en eventos especiales (por ejemplo, en episodios epilpticos). Es muy importante que la visualizacin de las seales este sincronizadas en el tiempo con la seal del video.

1.12 ESPECIFICACIONES DEL REGISTRO DE SEALES 1.12.1 Escalas de tiempo y voltajeLa duracin y la cantidad de seales de un registro EEG depende del tipo de examen que el mdico especialista desee realizar de acuerdo con la sintomatologa que presente el paciente, algunos registros pueden durar diez minutos y en algunos otros varias horas, y la cantidad de seales involucradas depende del montaje elegido, y puede ser de 28 hasta 128 electrodos. Por estas razones el software de visualizacin debe tener la posibilidad de variar las escalas de voltaje y tiempo para que el especialista pueda observar con diferente nivel de detalle las diferentes partes del registro.

[22]

DESARROLLO DE UNA HERRAMIENTA DE ARQUITECTURA ABIERTA PARA LA VISUALIZACION Y ANALISIS DE SEALES EEG

1.12.1.1 Muestras x Segundo

Las frecuencias que hacen parte de la informacin relevante contenida en un registro de EEG indican que el muestreo debe hacerse a mnimo 128 Hz, pero para ciertas patologas este valor puede llegar a ser de 512 Hz. Inclusive, en algunos registros intracraneales, donde se pretende conocer una informacin ms localizada, se trabaja con seales del orden de 40 kHz, pero para este tipo de registro normalmente se utiliza otro tipo de herramientas de visualizacin y anlisis [1]. En el anlisis visual de las seales de EEG es comn emplear diferentes escalas de tiempo (en los registros no automatizados se hablaba de velocidad rpida y lenta del papel), en escalas donde el tiempo est comprimido se pueden ver fenmenos repetitivos con perodos de repeticin elevados; mientras que el anlisis de fenmenos de corta duracin, son ms fcilmente detectables en una escala donde un lapso corto de tiempo ocupe un rea considerable. Por estas razones el software de visualizacin y anlisis deber permitir variar la escala de tiempo por parte del usuario.

1.12.1.2 Cantidad de bits/sensitividadLas seales de EEG tienen amplitudes del orden de los microvoltios. Para capturar la informacin efectiva de estas seales se debe amplificar antes de pasar por el ADC. Entre ms bits tenga el ADC mayor ser la resolucin en voltaje, tpicamente en los registros de EEG se utiliza un ADC de 12 bits o 16 bits, mayor cantidad de bits implican mayor consumo de memoria RAM en el momento de captura y de espacio en el disco para su almacenamiento. Una vez se tienen las muestras en la memoria y/o en el sistema de almacenamiento permanente es conveniente poder cambiar la escala de voltaje de cada seal por separado para poder resaltar las caractersticas individuales de cada una de ellas en el momento que el especialista lo considere conveniente, e inclusive en algunos momentos es til no presentar en pantalla algunas seales para poder visualizar apropiadamente las otras.

1.12.2 FiltrosSe pueden aplicar filtros antes o despus del ADC (inclusive se emplean filtros de software que se configuran en el programa de visualizacin). Los filtros deben ser diseados de tal forma que no generen distorsin alguna sobre la seal. Los filtros pasa altos tienen una frecuencia de corte mnima de 0.5 Hz y se utilizan para remover las perturbaciones de baja frecuencia como la respiracin. Por otro lado las componentes de alta frecuencia son eliminadas con filtros pasa bajos de aproximadamente 50-70 Hz.[25] . Tambin, son muy empleados los filtros notch a la frecuencia de la red elctrica (60 Hz).

[23]

1.

MARCO TERICO

1.12.3 EventosDurante la toma de las seales del registro EEG ocurren ciertos eventos que es importante tener en cuenta en el momento del anlisis. Por ejemplo cuando el paciente mueve los ojos aparece una seal DC de gran amplitud en las seales de la regin frontal, y el especialista o el software de anlisis deber distinguir este evento con otro tipo de fuente que pudiera ocasionar dicho nivel DC. Tambin es habitual que durante el registro en pacientes con epilepsia se le induzcan episodios epilpticos mediante la administracin de cierta droga o la exposicin a luces estroboscpicas y es importante tener en cuenta el momento en que se realizaron tales acciones. Por esta razn adems de las seales biolgicas en el registro EEG se agregan una serie de marcas que indican la ocurrencia de estos y otros eventos especiales. Otras marcas pueden ser agregadas por los especialistas o por el software de anlisis para indicar la ocurrencia de ciertos patrones asociados con actividad anormal en cierta posicin en el tiempo del registro para que luego el especialista a partir del anlisis de la frecuencia de ocurrencia y las zonas cerebrales implicadas pueda hacer un diagnstico ms acertado.

1.12.4 Almacenamiento de los registros. Formatos de archivos EEG digitales, Compatibilidad entre sistemas

Cuando las empresas que desarrollan equipos de EEG fueron migrando hacia las versiones controladas con PC, no acordaron un formato nico para los archivos que contienen las seales de EEG. Razn por la cual cada empresa se invent su propio formato: cada desarrollador de software de captura y/o anlisis de EEG desarroll sus protocolos de forma aislada (tal vez por razones comerciales), y no era posible utilizar una herramienta de visualizacin o diagnostico de una empresa con registros tomados en equipos otro proveedor, llegando a darse el caso que archivos de diferentes equipos de una misma empresa no eran compatibles entre s [26]. Se han hecho algunos esfuerzos por crear un formato estndar, pero estos no han tenido la acogida necesaria por parte de las empresas, como ejemplo el formato de archivo propuesto por la ATSM (American Society for Testing and Material) en 1993. Era un formato ASCII que adems de los registros poda contener las anotaciones mdicas, fue aceptado por muy pocas empresas (posiblemente por el hecho de ser ASCII, genera archivos demasiado voluminosos y de ms lento el acceso comparados con los formatos binarios) [27].

[24]

2. ANTECEDENTESEn este captulo se presenta una breve historia de la evolucin del procesamiento digital de seales (DSP) y las diferentes herramientas computacionales utilizadas para la implementacin de algoritmos de procesamiento de seales en general y en particular de seales EEG. Luego, una sipnosis del Estado del Arte en el mundo. Posteriormente, se presentarn algunos desarrollos en Colombia y ms especficamente en la regin del eje cafetero. Al finalizar se dar una descripcin de la motivacin que se tuvo para la formulacin de ste proyecto. El tratamiento de seales en tiempo discreto ha avanzado con pasos desiguales durante un largo periodo de tiempo. Hasta principios de los aos cincuenta el tratamiento de seales se realizaba con circuitos electrnicos o incluso con dispositivos mecnicos. Aunque los computadores digitales ya estaban disponibles en entornos de negocios y en laboratorios cientficos, stos eran caros y de capacidad relativamente limitada. Aunque el procesamiento de seales mediante computadores digitales ofreca tremendas ventajas de flexibilidad, el procesado no se poda realizar en tiempo real. Uno de los primeros usos fue en la prospeccin petrolfera, donde se grababan los datos ssmicos en cintas magnticas para su procesamiento posterior. Las aportaciones de Cooley y Tukey (1965) de un algoritmo eficiente para el clculo de las transformadas de Fourier aceler el uso del computador digital. Muchas aplicaciones desarrolladas requeran del anlisis espectral de la seal y con las nuevas transformadas rpidas se redujo en varios rdenes de magnitud el tiempo de cmputo. Adems, se dieron cuenta de que el nuevo algoritmo se podra implementar en hardware digital especfico, por lo que muchos algoritmos de tratamiento digital de seales que previamente eran impracticables comenzaron a verse como posibles. Otro desarrollo importante en la historia del Procesamiento de Seales ocurri en el terreno de la Microelectrnica. Aunque los primeros microprocesadores eran demasiado lentos para implementar en tiempo real la mayora de los sistemas en tiempo discreto, a mediados de los ochenta la tecnologa de los circuitos integrados haba avanzado hasta el nivel de permitir la realizacin de microcomputadores en coma fijo y coma flotante con arquitecturas especialmente diseadas para realizar algoritmos de procesamiento de seales en tiempo discreto. A estos procesadores se les conoce por el acrnimo de DSP (Digital Signal Processor). Con esta tecnologa lleg, por primera vez, la posibilidad de una amplia aplicacin de las tcnicas de tratamiento de seales en tiempo discreto. Apoyados en estos desarrollos se pas a los diseos de los microprocesadores con parte de su arquitectura especializada en tareas de procesamiento de seales, sea el caso ms llamativo el conjunto de instrucciones MMX insertadas en la familia INTEL a partir del mtico PENTIUM[28]. A nivel de software la evolucin en la implementacin de algoritmos, adems de los avances en los propios algoritmos, va de la mano con la evolucin de los lenguajes. En un principio se implementaron algoritmos en lenguaje FORTRAN. Y si bien estrictamente hablando, FORTRAN no fue el primer lenguaje de programacin que existi (Laning & Zierler, del MIT, ya tenan un [25]

2. ANTECEDENTES

compilador de un lenguaje algebraico en 1952), s fue el primero en atraer la atencin de una parte importante de la reducida comunidad de usuarios de computadoras de la poca. El desarrollo de FORTRAN comenz en 1955 y el lenguaje se liber finalmente en abril de 1957. Luego surgieron otros lenguajes como ALGOL, LISP (1958), COBOL (1960), Basic (1964), pero FORTRAN siempre tuvo la preferencia en cuanto a la implementacin de algoritmos sobre seales, pues su compilador fue creado para optimizar principalmente las operaciones de tipo matemtico. Luego el Lenguaje C en 1973 es creado por Dennis Ritchie en los laboratorios Bell. Tuvo mucho xito al ser utilizado para el desarrollo del sistema operativo Unix. Ya en 1983 : Bjarn Stroustrup desarrolla una extensin orientada objeto al lenguaje C : el C ++. Sin embargo el gran empuje en el procesamiento digital de seales ha sido en parte debido al surgimiento de herramientas que permiten hacer mucho ms fcil la tarea de codificar los algoritmos, en particular la herramienta Matlab, de la que se hablar prximamente. A nivel de algoritmos uno de los primeros avances formales en DSP fue el artculo Certain topics in TelegraphTransmission Theory, publicado por Harry Nyquist en 1928, en el cual se present el efecto producido en el espectro de frecuencia de una seal anloga al ser discretizada en el tiempo, y se plante que, para preservar la informacin original, la tasa de muestreo deba ser mayor que el doble de la mxima componente de frecuencia contenida en la seal anloga. Posteriormente, en 1949, Claude Shannon public el artculo Communications in the Presence of Noise, donde demostr que es posible reconstruir perfectamente una seal anloga a partir de sus muestras, si se dispone de un filtro pasabajos anlogo ideal. (Si bien no es posible fabricar un filtro de este tipo, es posible aproximarse bastante a l en muchas situaciones prcticas) [29]. Adems se debe tener en cuenta las ya mencionadas aportaciones de Cooley y Tukey (1965) en la implementacin de la FFT. Aunque las referencias histricas enfatizan en los inicios con el desarrollo de algoritmos de procesamiento en lnea como la aplicacin de los filtros digitales: Al principio, fueron llamados "filtros numricos" o "filtros de datos muestreados". Ms tarde se les llam "Filtros digitales". Su nombre fue unificado despus 1965 (J. Kaiser F. 1965). Tambin surgieron aportes de la teora de comunicaciones: Realizaciones de sistemas PCM: T1-system (USA) --- 1960. PCM-24 system (Japan) --- 1965. Igualmente se deben mencionar los algoritmos de anlisis numrico: solucin de sistemas de ecuaciones, ecuaciones diferenciales, ecuaciones integrales, etc. Pronto el procesamiento digital de seales se convirti en un rea multidisciplinaria en la cual estn inmersas varias disciplinas del saber: como Ingeniera, Ciencias Naturales, Medicina, agricultura, etc. Las reas de la ingeniera involucradas en el procesamiento de seales son: Ingeniera elctrica y electrnica, tecnologas de la computacin y la informacin, Tecnologa de la Comunicacin, Ingeniera de control, Ingeniera de sistemas. [30]. Matlab fue creado en 1984 por la empresa MathWork, surgiendo la primera versin con la idea de emplear paquetes de subrutinas escritas en Fortran en los cursos de lgebra lineal y anlisis numrico, sin necesidad de escribir programas en dicho lenguaje. El lenguaje de programacin M fue creado en 1970 para proporcionar un sencillo acceso al software de matrices LINPACK y EISPACK sin tener que usar Fortran. En 2004, se estimaba que MATLAB era empleado por ms de un milln de personas en mbitos acadmicos y empresariales. Matlab ha evolucionado y

[26]

DESARROLLO DE UNA HERRAMIENTA DE ARQUITECTURA ABIERTA PARA LA VISUALIZACION Y ANALISIS DE SEALES EEG

crecido con las aportaciones de muchos usuarios. En entornos universitarios se ha convertido junto con Matemtica y Maple, en una herramienta instructora bsica para cursos de matemtica aplicada, as como para cursos avanzados en otras reas. En la adquisicin y procesamiento de seales digitales es necesario destacar el surgimiento de la primera versin para Macintosh del programa LabView de la empresa National Instruments en 1986, y sus posteriores versiones, incluyendo la primera versin para PC en 1992. La idea del instrumento virtual, en su momento revolucionaria, en la industria de medicin y automatizacin y la tecnologa, ayud a los ingenieros y cientficos a personalizar los sistemas de medicin para adaptarse a sus necesidades. El lenguaje intuitivo de programacin grfica que se utiliza en LabView ha sido la clave de la popularidad con los principiantes y los programadores con experiencia en aplicaciones de ingeniera para diversas industrias [31]. A nivel de seales EEG, en el procesamiento de este tipo de seales habra que remontarse a AL Loomis, Harvey ES, y Hobart GA quienes fueron pioneros que estudiaron matemticamente los patrones y las etapas de sueo EEG en el ser humano en 1.937. Berger asistido por Dietch (1932) aplic el anlisis de Fourier a las secuencias de EEG. En un estudio titulado "Una tcnica de adicin en caso de deteccin de seales pequeas en un fondo irregular grande, George D. Dawson del Hospital Nacional de Queen Square, en Londres demostr potenciales evocados a la estimulacin elctrica del nervio cubital (Dawson, 1951). Luego se implementaron las versiones computarizadas de dichos algoritmos en la dcada de 1.960. A finales de sta dcada se vea ya que el anlisis computarizado de las componentes en frecuencia haba llegado para quedarse y llegara a ser de enorme valor no slo en la investigacin psicofisiolgica, sino tambin en la evaluacin de los efectos neurofarmacolgicos, (este avance fue gracias a la publicacin del algoritmo de la FFT). En los ltimos 30 aos los registros EEG han sido una invaluable fuente de informacin sobre todo para diagnostico y tratamiento de epilepsia, pero tambin se ha descubierto que el EEG est lleno de informacin para la gran mayora de las enfermedades neurolgicas. A tal punto fue despreciada esta informacin, que se llego a publicar: Es muy lamentable que esta rica fuente de informacin haya sido infrautilizada en la mayora de las instituciones de enseanza y hospitales neurolgicos en general [32]. Sin embargo, hay que anotar que a nivel terico hubo un gran avance en la comprensin de este tipo de seales con el advenimiento de tcnicas multi-resolucin, que a pesar de haber tenido sus inicios en la dcada de 1.920, tuvo su apogeo a finales de la dcada de 1.980 e inicios de 1.990 con las publicaciones de Mallat, Daubechies y otros. Debido a estos aportes, a la internet y otros avances, el anlisis de seales biolgicas y en particular de seales EEG tuvo un empuje extraordinario, por mencionar slo algunos de sus efectos, ya en el ao de 1.999 aparece el primer toolbox de Matlab dedicado seales biolgicas (NIH CORTEX Toolbox), luego vienen muchos ms dedicados a seales biomdicas (BrainsStrom- 2000, PRANA-2002, EEGLAB-2004, BrainMaps 2006, etc.). En el ao 2004 aparece el artculo libRASCH: A Programming Framework, publicado por R. Schneider en la revista Computers in Cardiology de la IEEE [33]. En dicho artculo el autor propone un sistema de libreras que permiten el acceso a los diferentes formatos de datos para los registros de seales biolgicas, y un mecanismo para que puedan incorporarse a diferentes lenguajes

[27]

2. ANTECEDENTES

de programacin por medio de plugins, y con el mismo mecanismo, una forma de incorporar tambin rutinas de procesamiento sobre dichas seales. Tambin en el ao 2004 el centro de Cmputo para Neurociencias de la Universidad de California desarroll el EEGLAB, un ToolBox de Matlab que, segn su pgina oficial, tiene ms de 40.000 descargas en los ltimos 5 aos. La descripcin de este toolbox es: un conjunto de herramientas y la interfaz grfica de usuario, EEGLAB, que corre bajo multiplataforma en el entorno MATLAB (The Mathworks, Inc.) para el procesamiento de colecciones o de una seal y / o un promedio de datos de EEG de cualquier nmero de canales. Las funciones disponibles incluyen importacin de datos EEG, voltaje de cada canal e informacin sobre eventos, visualizacin de datos (desplazamiento, mapas topogrficos de la corteza cerebral y trazado de modelo de dipolo), preprocesamiento (incluido el rechazo de artificios, filtrado, seleccin de poca, y un promedio), anlisis de componentes independientes (ICA) y tiempo / frecuencia, incluida la descomposicin de componentes de coherencia cruzada de cada canal con el apoyo de mtodos estadsticos bootstrap basados en re muestreo de los datos. Las funciones de EEGLAB estn organizadas en tres capas. Las funciones de la primera capa sirven para interactuar con los datos a travs de la interfaz grfica sin necesidad de usar la sintaxis de MATLAB; las opciones de men asistidos, para afinar el comportamiento de EEGLAB a la memoria disponible; las funciones de la capa del medio permiten a los usuarios personalizar el procesamiento de datos utilizando el historial de comandos y funciones interactivas 'pop'. Los usuarios con experiencia en MATLAB pueden utilizar las estructuras de datos EEGLAB para escribir rutinas de procesamiento de seales propias y/o secuencias de comandos de anlisis a partir de scripts de Matlab[34]. En la actualidad mundial, y a nivel de investigaciones acadmicas cada da se desarrollan tcnicas que ayudan al diagnstico, como son: los mtodos de eliminacin de artificios con aplicacin de regresin en el dominio del tiempo [6], o en el dominio de la frecuencia; el uso de filtros espaciales [7] y anlisis de coherencia de fase y sincrona. Tambin se destacan algunos trabajos que permiten aplicar mtodos matemticos en el estudio de fuentes epilopatognicas para la deteccin y prediccin de crisis. En estos, primero se establece una solucin al problema directo y, a partir de ste, se halla la solucin al problema inverso [8]. Tambin se utiliza con ms frecuencia la superposicin de actividad elctrica y otras tcnicas de neuroimagen, para tener una mejor resolucin espacial [9]. En lo referente a BCI, el nmero de investigadores ha crecido rpidamente en la ltima dcada, y los avances se han dado de manera acelerada gracias a una accin interdisciplinaria de cientficos, ingenieros y mdicos de diferentes disciplinas que han enfrentado un buen nmero de problemas cruciales. Neurosky [10] y Emotiv [11] son dos ejemplos claros de cmo algunas empresas han enfocado sus esfuerzos para aprovechar los potenciales elctricos de la corteza cerebral, en el control de dispositivos electrnicos. Ambas empresas ofrecen diademas con electrodos secos con los cuales se detectan las seales cerebrales y ofrecen kits de desarrollo de software (SDK, por sus siglas en ingls Software Development Kit), para investigadores y desarrolladores de software. Por ahora, los esfuerzos de estas empresas estn concentrados en la simplificacin de las interfaces en los juegos de video, pero son innegables las aplicaciones prcticas, de todo tipo, que se desprenden de estos primeros resultados: desde la asistencia a personas con limitaciones fsicas, [28]

DESARROLLO DE UNA HERRAMIENTA DE ARQUITECTURA ABIERTA PARA LA VISUALIZACION Y ANALISIS DE SEALES EEG

brindndoles autosuficiencia en sus desplazamientos; pasando por nuevas formas de comunicacin (acaso telepata asistida por dispositivos electrnicos?); hasta nuevas formas de enfrentar al contrincante en las guerras futuras, donde no se precisar de la presencia fsica de un tripulante en mquinas de combate: La telequinesis est ad portas de nuestra vida En Colombia se han hecho algunos avances en procesamiento de seales bioelctricas, como lo demuestran la cantidad de congresos y publicaciones Nacionales y Latinoamericanas. En la implementacin de los algoritmos de procesamiento de seales, sin embargo, se adolece de la falta de codificacin en software de aplicacin, pues en la mayora de las ocasiones slo se ha limitado a la utilizacin de ToolBox en Matlab para probar el funcionamiento del algoritmo y cuando se llevan a aplicaciones a menudo usan sistemas de instrumentacin virtual como LabView que requieren para su uso legal de licencias de software cuyos costos son elevados. A continuacin presentamos los trabajos ms destacados en el desarrollo de entornos con bioseales y algunos de EEG en particular. En el ao 2007, en la Universidad de los Andes se desarroll e implement un sistema basado en instrumentacin virtual para la adquisicin y procesamiento de seales fisiolgicas para ser empleado como herramienta para mejorar el proceso de enseanza-aprendizaje que se lleva a cabo en los laboratorios de fisiologa de las facultades de Medicina de nuestro pas. El hardware del sistema comprende un amplificador de bio-potenciales de cuatro canales, una tarjeta de adquisicin de datos y un computador personal (PC) que permite la interface con el usuario. Para el desarrollo del software se emple el lenguaje de programacin grfico LABVIEW 6.1. [35] En el ao 2007, en la Universidad del Quindo se desarroll un hardware que permite la adquisicin, procesamiento y visualizacin de las 12 derivaciones estndar de un electrocardiograma (ECG) usando LabView. El sistema consta de una etapa de instrumentacin conectada a un cable para electrocardiograma que toma los potenciales de diez electrodos superficiales; con ellos, se adquieren tres derivaciones bipolares y seis derivaciones precordiales. Las nueve derivaciones fueron filtradas usando dos filtros anlogos Butterworth de cuarto orden, pasa altos y pasa bajos, en cascada y luego fueron adquiridas a travs de una tarjeta de adquisicin de datos USB NI-6215. Finalmente, las derivaciones fueron filtradas digitalmente, visualizadas y almacenadas utilizando LabView. [36]. En el ao 2008, la lnea de Ingeniera Biomdica dentro del programa de Ingeniera Electrnica de la UPB-Bucaramanga utilizando las facilidades ofrecidas por las herramientas hardware (DAQ, chasis) y software (LabView) de National Instruments, se integr bajo una misma plataforma, y con una orientacin pedaggica, el estudio del procesamiento de seales del cuerpo humano. Es as como surgi BIOLAB concebido como un laboratorio conformado por cuatro mdulos didcticos para la adquisicin y acondicionamiento de seales cardacas (BIOLAB-ECG), seales cerebrales (BIOLAB-EEG y BIOLAB-STIM) y seales musculares (BIOLAB-EMG) [37]. En la zona cafetera se han hecho algunos trabajos dispersos en el rea de las bioseales, y en los ltimos aos se han sumado esfuerzos para desarrollar trabajos de investigacin conjuntos entre las universidades pblicas de la regin e inclusive con la empresa privada, alianzas que han permitido capacitar material humano por medio de programas de maestras y doctorados, prueba de esto son los proyectos de investigacin: Deteccin de Fuentes Epileptopatognicas en seales de EEG.

[29]

2. ANTECEDENTES

Sistema Automatizado de clasificacin de eventos fisiolgicos a partir de patrones fisiolgicos como soporte en el tratamiento de la enfermedad de Prkinson y otros desordenes Neurofisiolgicos UTP. Dentro de los cuales se han logrado desarrollar varios proyectos de grado a nivel de Pregrado, de Maestra y de Doctorado, por ejemplo: Anlisis de la Variabilidad del Intervalo QT en la seal Electrocardiogrfica. Edison Duque. Localizacin de fuentes electroencefalogrficas empleando modelos inversos distribuidos basados en norma mnima. Victoria Eugenia Montes Restrepo. Universidad Tecnolgica de Pereira 2009. Neurocentro, el Instituto de Epilepsia y Parkinson del Eje Cafetero, ha realizado en los ltimos aos alianzas estratgicas con universidades de la regin y producto de stas alianzas se han desarrollado investigaciones conjuntas en el campo de la neurologa, aportando, adems de especialistas en el campo, los registros que sirven como base de datos para el entrenamiento de algoritmos. El Instituto Neurocentro utiliza el equipo Bio-logic Ceegraph EEG [38] de la empresa BiologicSystem el cual dispone de mdulos de adquisicin hasta de 132 canales con la respectiva circuitera de adquisicin, filtrado y amplificacin de Headboxes de diferentes configuraciones (Gamma, Netlink, XL o XL2), que permite adquirir las seales de EEG, opcionalmente se pueden agregar al registro un canal de ECG, Video del paciente y marcas de estimulacin ptica (generada automticamente con el equipo) y algunas otras marcas producidas por el equipo y/o la persona que realiza el registro. Adems del registro el programa permite visualizar en diferentes escalas de tiempo y voltaje las seales y los eventos producidos durante un registro. Pero el procesamiento de los datos se limita a filtros digitales configurables por el usuario que pueden activarse o desactivarse durante o despus del registro. Para el anlisis de las seales que sirven para el diagnstico los Neurlogos del Instituto utilizan, entre otros, el paquete de software Persyst Insight [39] que adems de las opciones de visualizacin y filtros que posee el Bio-logic Ceegraph EEG, permite algunas mediciones bsicas de amplitud (mxima/mnima), frecuencia y/o correlacin de seales en el rango que escoja el usuario, de igual manera, dispone de una serie de Plugins que permiten realizar diferentes anlisis (deteccin de Spikes, Spikes-Brust, marcas configurables), y visualizaciones (Video, mapas de niveles de voltaje, espectrogramas, etc). Si bien hoy en da se encuentran diversos tipos de aplicaciones que contemplan lo antes dicho, algunas aunque muy costosas no permiten realizar ningn tipo de procesamiento o anlisis digital a las seales EEG, y si lo permiten, las libreras o herramientas de anlisis tienen un costo bastante significativo o requieren de un especialista en software para poderlas incluir, esto motivo a los autores a desarrollar una herramienta que permitiera visualizar los registros EEG de la manera estndar, es decir, que se pudiera fcilmente variar las escalas de tiempo, los niveles de voltaje bien sea de uno o de varios registros simultneamente, observar el video, sincronizado con la seal de los registros, y sobre todo que quedar abierta la posibilidad para incluir fcilmente las libreras o plugings desarrollados en Matlab o en C++ para el procesamiento de las seales. Actualmente se tiene implementado mediante este tipo de mecanismo de libreras (Arquitectura abierta) los algoritmos correspondientes a los filtros digitales y, en lo referente al preprocesamiento, procesamiento y anlisis de EEG ya se tiene implementados en Matlab algunas rutinas que se

[30]

DESARROLLO DE UNA HERRAMIENTA DE ARQUITECTURA ABIERTA PARA LA VISUALIZACION Y ANALISIS DE SEALES EEG

encuentran en proceso de conversin o adaptacin al sistema las cuales, en su momento podran ser modificadas, o incluidas, fcilmente.

[31]

3. ARQUITECTURA DEL VISOREn ste captulo se presentar la forma como fue construida la aplicacin, se enumerarn sus componentes principales y se har una breve descripcin de su funcionamiento. El nombre dado a la aplicacin fue VISOR EEG_M, con cdigo de registro ante la direccin nacional del derecho de autor, numero 12-26-263 (Libro-Tomo-Partida). El Visor EEG_M es una aplicacin que consta de una serie de componentes grficos y lgicos que se encargan de acceder y visualizar las seales tomadas de registros de EEG en diferentes formatos, y una interface para comunicarse con mdulos externos con los cuales se les puede aplicar diferentes algoritmos para el procesamiento de seales utilizando diversos lenguajes de programacin. El visor EEG_M est compuesto de un programa principal y una serie de mdulos independientes que se cargan dinmicamente durante la inicializacin del programa y que se relacionen con ste por medio de funciones y controles que son declarados en el programa principal (o un mdulo binario) y definidos en los mdulos, como se ilustra en la Figura 10. El cdigo escrito en los mdulos adicionales tiene tres propsitos: - Agregarle nuevas capacidades al programa para que el usuario final las pueda utilizar por medio de los controles, o - Agregar nuevas funciones para que en una parte del programa se puedan invocar nuevas funciones para un procedimiento ya establecido, o - Crear un procedimiento para que invoque a funciones escritas en otros mdulos o en el programa principal. Un mdulo consiste en una seccin de programa creada y/o compilada de forma independiente del VisorEEG_M, pero que puede incorporarse a ste, si cumple con los prototipos definidos en las APIs (Aplication Program Interfaces), creadas para tal propsito. Existen dos tipos de mdulos: los mdulos binarios y los mdulos interpretados, dependiendo de la forma como se relacionan con el programa. Los mdulos binarios son aquellos que tienen cdigo ejecutable directamente en la CPU, mientras que los mdulos interpretados, como su nombre lo indica, requieren de un mdulo intrprete para su ejecucin. Los intrpretes (que a su vez deben cumplir con otras APIs del Visor), tambin se cargan de forma dinmica de tal manera que pueden agregarse nuevos intrpretes sin necesidad de recompilar la aplicacin. Para hacer posible esta comunicacin del programa principal con los mdulos se utiliza una serie de clases que permiten cargar, inicializar y ejecutar apropiadamente las funciones de los mdulos, ya sea directamente o a travs de los intrpretes. En una seccin posterior se explicarn los componentes del programa principal que sirven para dicha comunicacin y en el Anexo 1 se presenta una descripcin detalla de la forma de construir estos mdulos.

[32]

DESARROLLO DE UNA HERRAMIENTA DE ARQUITECTURA ABIERTA PARA LA VISUALIZACION Y ANALISIS DE SEALES EEG

Figura 10. Diagrama de bloques del Sistema Modular del Visor EEG En un archivo de configuracin del programa se guardan los controles que han sido instalados en el programa por cada mdulo; cada vez que se inicializa la aplicacin, y una vez se cargan los mdulos, se agregan dichos controles a la barra de herramientas del programa. En este archivo de configuracin tambin se guardan los procedimientos con la respectiva funcin asociada y de forma similar son actualizadas cada que se inicializa la aplicacin.

3.1 APLICACIN VISOR EEG_M

El funcionamiento del programa se puede dividir en dos partes: la primera va desde el inicio hasta cuando queda listo para cargar un archivo de seales, y la segunda, va desde este punto hasta el final. La primera parte aparece en la Figura 11.

[33]

3. ARQUITECTURA DEL VISOR

Figura 11. Diagrama de flujo del programa hasta que queda listo para cargar seales

Cuando el programa inicia, lo primero que hace es cargar las libreras DLL que le permiten acceder a los registros y al video asociado, que son respectivamente: librasch.dll y libvlc.dll. Luego se cargan cada uno de los mdulos binarios, que son archivos DLL con funciones, procedimientos y controles que se han adicionado al programa, y que se encuentren en la carpeta modulos; por cada mdulo se hace la respectiva validacin de que posea las funciones declaradas en las APIs del programa. Inmediatamente despus, el programa busca cada una de las subcarpetas contenidas en la carpeta modulos, para ver si contienen mdulos interpretados, buscando que dichas carpetas contengan el archivo soporte.dll; si lo encuentra, lo carga (previa validacin de las respectivas APIs). Posteriormente, utilizando cada uno de estos archivos de soporte, busca y carga todos los mdulos interpretados de cada lenguaje, utilizando las funciones definidas en soporte.dll que se encargan de cargar los mdulos en memoria. Despus de cargar los mdulos, el programa contina con la lectura del archivo de configuracin; si no existe, utiliza una configuracin por defecto. Con esta configuracin, el programa determina cuales ventanas son visibles, as como su posicin y

[34]

DESARROLLO DE UNA HERRAMIENTA DE ARQUITECTURA ABIERTA PARA LA VISUALIZACION Y ANALISIS DE SEALES EEG

tamao. La ltima parte de la configuracin la utiliza para asociar las funciones a los respectivos procedimientos, con la debida validacin de parmetros y valores de retorno (proceso que ser explicado con ms detalle en este captulo). Una vez terminado este proceso, el programa se encuentra listo para cargar un archivo de seales. El diagrama de flujo a partir de este punto se explica en detalle en la Figura 12.Inicio Cargar1Solicitar Archivo de Seales

2

hay archivo de video? Si Montaje bien definido? No Si Cargar Montaje No

Si

tiene Montaje ?

Formato vlido?

Si

No Crear Montaje por defecto

No

Crear Ventana Video

Configura seales

Visualizar ventanas activas

Actualizar Objetos

tiene Marcas?

Si

Marcas bien definidas ? No

Si Cargar Marcas No

Eventos de usuario ? No Salir ? Si

Si

Cargar seales? Si 1

No

No

Procesar Evento

2

Salir

Figura 12. Diagrama de flujo del programa una vez se elige cargar un archivo de seales

Cada vez que se selecciona Abrir un archivo de seales, el programa despliega un caja de dilogos, donde se muestran todos los archivos con el formato EDF (European Data Format), permitiendo que el usuario escoja el indicado; inmediatamente despus, el programa determina si para este archivo existe el respectivo archivo con la configuracin de los canales (archivo de montaje) y, si existe, lo carga haciendo la debida validacin; si no existe, o es incorrecto, crea un montaje por defecto. Con el montaje, el programa determina las escalas a utilizar por cada seal; si es el caso, los respectivos filtros, y la posicin de los electrodos en la visualizacin 2D (bloque Configura seales en el diagrama de la Figura 12). Seguidamente, el programa determina si existe un archivo vlido de marcas para las seales y si existe lo trae a la memoria. Luego, examina para ver si existe un archivo de video; si existe, determina si el formato es soportado por la librera y, si lo es, crea la ventana de video respectiva. En este punto, en cada una de las ventanas activas se visualizan los datos correspondientes, y el programa est listo para procesar los eventos. A partir de aqu el

[35]

3. ARQUITECTURA DEL VISOR

programa entra en un ciclo de procesamiento de mensajes y, cuando sea necesario, actualiza los objetos de visualizacin que sean modificados por dichos mensajes. De este ciclo solo se sale cuando se le indica Abrir otro archivo de seales (en cuyo caso repetir los pasos a partir del conector 1), o cuando se escoge salir del programa. El programa principal se encarga de la interface con el usuario, el acceso a los registros y la administracin de los mdulos. La Figura 13 muestra los componentes principales del programa principal del Visor.

Figura 13. Componentes principales del Visor EEG_M

Los componentes aparecen agrupados segn su funcin dentro del programa.

3.2 COMPONENTES GRFICOS

Los componentes grficos son los que permiten desplegar la informacin de los registros: ya sea las curvas en la forma habitual de voltajes vs tiempo (Visualizacin 1D) o la representacin topogrfica (Visualizacin 2D). En esta categora se presentan varios componentes:

[36]

DESARROLLO DE UNA HERRAMIENTA DE ARQUITECTURA ABIERTA PARA LA VISUALIZACION Y ANALISIS DE SEALES EEG

-

-

-

-

Un componente para la presentacin del video correspondiente a un registro (este componente se desarroll utilizando la librera libvlc de la organizacin ViedoLan que ser descrita posteriormente). Otro componente para visualizar los eventos en una tabla que los despliega en formato texto. Aqu tambin se dispone de pestaas en las cuales se pueden configurar dichos eventos (cuales eventos visualizar, crear nuevos eventos, definir archivos de salida, etc); Igualmente se tiene un componente para mostrar la lnea de tiempo donde se despliegan los eventos como lneas, y muestra la posicin relativa de la visualizacin 1D o 2D con respecto a todo el registro. Por ltimo se tiene un componente que se encarga de la presentacin de los controles que permiten el llamado a algunas funcione