Download PROCESAMIENTO REMOTO DE MAPAS CEREBRALES
Document related concepts
no text concepts found
Transcript
Memorias II Congreso Latinoamericano de Ingeniería Biomédica, Habana 2001, Mayo 23 al 25, 2001, La Habana, Cuba PROCESAMIENTO REMOTO DE MAPAS CEREBRALES A. Martínez M. , F. Hassainia, D. Martínez M. , J.M. Reyes M. , J. Azpiroz L. , V. Medina B. Departamento de Ingeniería Eléctrica, Universidad Autónoma Metropolitana-Iztapalapa Av. Purísima y Michoacán S/N, México, 09340, D.F., MÉXICO e-mail: almm@xanum.uam.mx RESUMEN En este trabajo se presenta la evaluación de un sistema que proporciona acceso a un programa de mapeo cerebral tridimensional para cuaquier usuario remoto. El cliente puede cargar sus señales cerebrales, ya sea electroencefalograma o potencial evocado y desplegar los mapas 3D en su máquina local. El mapa 3D se construye remotamente por el servidor y se envía al clliente usando un protocolo completamente transparente. El sistema se basa en una aplicación distribuida que utiliza el Método de Invocación Remota JAVA [2] como medio de comunicación entre el cliente y el servidor, un Applet de Java como la aplicación del cliente y el lenguaje de modelado de realidad virtual (VRML) y Java 3D [3] como herramienta para crear los mapas tridimensionales. Se presenta un ejemplo de aplicación en el análisis de potenciales evocados cognitivos. Palabras Clave: Mapeo cerebral, Aplicaciones remotas, Internet 1. INTRODUCCIÓN La electroencefalografía (EEG) y el estudio de los potenciales evocados (PE) son las técnicas más comunes y menos invasivas para la exploración funcional del cerebro. Ambas técnicas generan grandes cantidades de datos en formato “crudo”, que son de difícil y tediosa interpretación. Esto ha llevado a que el Mapeo Cerebral surja como una herramienta complementaria para facilitar la inspección visual de la información “cruda”. El mapa cerebral consiste de una representación del EEG o del PE directamente en una superficie que simula el cuero cabelludo. Se requiere de un procedimiento de interpolación para estimar los datos faltantes entre los registros obtenidos en los electrodos y de la proyección de dichos datos, ya sea en una superficie bidimensional (mapa en 2D) o tridimensional (mapa 3D). Los niveles de intensidad registrados o interpolados se representan en forma de colores tomados de una paleta predefinida por el usuario. El mapa cerebral facilita enormemente la interpretación de los datos y es una buena herramienta complementaria de representación visual [6]. A pesar de su tradición y de su uso extensivo, aun existen numerosos laboratorios clínicos y de investigación que efectúan estudios de EEG/PE y que aun no cuentan con un sistema de mapeo cerebral. Proporcionar a estos laboratorios el acceso a estos sistemas puede ser de gran utilidad. El primer objetivo de este proyecto es crear una aplicación que pueda ser accesada desde una plataforma remota y que permita al usuario final observar sus datos en forma de mapas 3D empleando la aplicación de mapeo cerebral 3D instalada en nuestro servidor. En una segunda etapa, se pretende proporcionar acceso a múltiples usuarios que puedan trabajar concurrentemente en el mismo conjunto de datos, como si se encontraran físicamente en el mismo sitio. El surgimiento de Internet como herramienta de comunicación universal ha ayudado a popularizar las aplicaciones cliente-servidor. En este esquema, la aplicación principal se encuentra centralizada en un sitio y permite que los clientes tengan acceso a ella de manera transparente. Esta estrategia tiene la ventaja de facilitar el desarrollo y la actualización de la aplicación. Por otro lado, Internet ofrece las ventajas de una herramienta basada en estándares, ofrece un protocolo abierto y es totalmente independiente de la plataforma. De esta manera, Internet ofrece mecanismos para la comunicación y transferencia de información entre el cliente y el servidor de manera totalmente transparente, en lo que se conoce como aplicaciones de objetos distribuidos. Uno de los componentes más importantes en una aplicación distribuida es el mecanismo de comunicación de objetos. Existen protocolos que permiten esta comunicación como si los objetos estuvieran en una misma máquina, por ejemplo, el “Common Object Request Broker Architecture” (CORBA) y el Método de Invocación Remota o “Remote Method Invocation” (RMI). Este último se emplea para el transporte de objetos entre el cliente y el servidor de la aplicación y es un protocolo muy sencillo de emplear, basado totalmente en el lenguaje Java. Las aplicaciones RMI se componen frecuentemente de dos programas, uno correspondiente al cliente y el otro al servidor. La aplicación típica del servidor crea algunos objetos remotos, hace accesible la referencia a ellos y espera a que los clientes potenciales invoquen los métodos de estos objetos. La aplicación del cliente por su lado, obtiene la referencia de uno o más de los objetos remotos del servidor e invoca sus métodos. En este trabajo se presenta una aplicación distribuida para el procesamiento remoto de mapas cerebrales 3D. El diseño y desarrollo fue previamente completado [5] y se evalúa su desempeño para el procesamiento de potenciales evocados cognitivos obtenidos bajo una tarea de reconocimiento semántico. 2. METODOLOGÍA Diseño de la Aplicación. La aplicación distribuida que se propone en este trabajo consiste de dos componentes. El primero es la aplicación del cliente, que es en realidad un 950-7132-57-5 (c) 2001, Sociedad Cubana de Bioingeniería, artículo 00387 “applet” de Java. Se seleccionó un “applet” dado que su desarrollo y despliegue es más sencillo y es fácilmente ejecutable desde cualquier navegador. Con esto se elimina la instalación de la aplicación del cliente en la máquina local del usuario. La aplicación del cliente lee los datos del usuario y los envía a la aplicación del servidor, que es el segundo componente importante de la aplicación distribuida. Esta aplicación del servidor tiene la responsabilidad de crear el mapa 3D usando los datos obtenidos del usuario remoto. Una vez construido, el mapa 3D es enviado de regreso al usuario para ser desplegado en su navegador. Construcción de Mapas. El mapa 3D se crea interpolando los valores en todo el cuero cabelludo, a partir del conjunto de datos registrados en los electrodos. A cada valor de amplitud resultante se le asocia un color, tomando como referencia una paleta escalada al máximo y mínimo del potencial registrado. Muchos métodos de interpolación han sido publicados y empleados en los sistemas existentes de mapeo cerebral. En este caso, se emplea un algoritmo mejorado de interpolación por splines esféricos, que entrega una superficie suave interpolada sobre una esfera [4]. Los valores obtenidos se proyectan posteriormente sobre la superficie que representa la cabeza real en 3D [6]. La construcción del mapa se realiza en el lado del servidor y éste es transferido al cliente como un objeto remoto a través de Internet empleando RMI. Para el diseño de la aplicación se empleó el lenguaje de modelado unificado “Unified Modeling Language” (UML) [1][7] y se definieron los casos de uso, diagramas de clase y diagramas de secuencias correspondientes [5]. Interfase de usuario. El sistema presenta varias posibilidades de uso para el cliente y hemos conservado una estructura de muy fácil empleo, tanto en las interfases como en el formato mismo de los datos. Los parámetros básicos definidos para la lectura de los archivos son la ganancia, la frecuencia de muestreo y el montaje de electrodos, seleccionable de una lista de hasta 80 electrodos predefinidos. El archivo de entrada se selecciona de la máquina del cliente o de su red local y el formato empleado actualmente es una matriz de tipo ASCII. Una vez cargados el archivo, las señales son desplegadas en el navegador y el usuario puede seleccionar la latencia que desea mapear sobre el modelo 3D de la cabeza. Este objeto 3D puede ser posteriormente manipulado para amplificar, rotar o desplazar el conjunto. Señales. Los datos presentados en este trabajo corresponden a registros de 56 electrodos obtenidos sobre el cuero cabelludo empleando un esquema extendido del estándar 10-20. El potencial obtenido corresponde a la respuesta de una tarea cognitiva de reconocimiento semántico. Al sujeto se le presentan de manera auditiva palabras bisilábicas de objetos hechos por el hombre (casa, carro, etc.) y de cosas de la naturaleza (árbol, cielo, etc.). La tarea del sujeto consiste en decidir si la palabra que escucha pertenece al primer grupo (hecha por el hombre) o no. Por ejemplo, si escucha la palabra fresa, el sujeto responde N0, pero si escucha la palabra casa debe de responder SI. La presentación de las palabras es continua y en cada palabra debe de dar su respuesta. Las respuestas son promediadas para obtener el potencial evocado correspondiente, que se espera tenga un componente importante de polaridad negativa en una latencia de aproximadamente 400 ms después del estímulo (N400). En esta tarea de reconocimiento se evoca una respuesta de amplitud importante en las zonas centro-parietales de la corteza, con una lateralidad derecha para un sujeto normal. 3. RESULTADOS Y DISCUSIÓN En las imágenes siguientes se presentan los resultados correspondientes al despliegue del potencial de interés sobre el cuero cabelludo para la configuración electrodos utilizada. A la izquierda se muestran algunos de los canales adquiridos, junto con una línea vertical amarilla que muestra el instante en el tiempo correspondiente al potencial que se presenta en el mapa. En la parte inferior se muestra a la derecha, los controles del “plug-in” RealPlayer que se emplean para la manipulación de la imagen tridimensional (rotaciones, traslaciones, zoom), mientras que en la parte central se muestra la escala de colores empleada en el mapeo de potencial. En la sección derecha se muestra el mapa en tres dimensiones, que puede manipularse a voluntad para poder ver la información desde cualquier ángulo y así evitar los problemas derivados de las distorsiones que se producen en sistemas de despliegue de dos dimensiones. Figura 1. Despliegue típico de un mapa de potenciales en 3D. Figura 2. Ejemplo de visualización bajo otro ángulo del mismo potencial. sistema gran flexibilidad. Se pretende también integrar un módulo de edición, manejo y despliegue de las señales, características que en la versión actual se encuentran limitadas. Finalmente, la posibilidad de modificar la paleta de colores permite al usuario hacer comparaciones con mapas obtenidos de otros sistemas y obtener un despliegue más adecuado a sus necesidades. 4. CONCLUSIONES Figura 3. Despliegue axial de la información tridimensional de alta resolución. Las figuras 2 y 3 corresponden al despliegue del mismo potencial de la figura 1, pero haciendo uso de las facilidades de rotación de la imagen para visualizar los mapas desde cualquier ángulo de interés (figura 2) y una representación a mayor escala correspondiente a una vista axial para mostrar la calidad de los resultados del mapeo cuando se cuenta con un muestreo espacial de alta calidad, como el que se obtiene en este ejemplo con 56 electrodos. La implantación de un sistema de mapeo cerebral que corre en una aplicación tipo cliente-servidor proporciona varias ventajas sobre los enfoques previos de la cartografía cerebral, donde las aplicaciones completas deben instalarse en la computadora local. La ventaja principal es la idea de tener un sistema independiente del tipo de plataforma de que se trate. Los primeros sistemas de mapeo en tres dimensiones corrían en sistemas con multiprocesadores o en estaciones de trabajo con circuitería especialmente construida. El desarrollo de un sistema que operara con una computadora tipo IBM-PC fue un avance significativo, pero la necesidad de desarrollar programación específica para distintos tipos de tarjetas gráficas y distintas interfases con el usuario complicó innecesariamente la programación. Cuando se cuenta con un programa que corre de la misma manera en cualquier sistema, se tiene un solo tipo de elementos que son más fáciles de implementar y de mantener. Otra ventaja es el hecho de que cuando se tiene un sistema bajo el esquema cliente-servidor, la plataforma remota no necesariamente tiene que contar con una alta potencia computacional. Todos los cálculos para producir los mapas son administrados y calculados por el servidor remoto. El despliegue de los mapas se adapta al tipo de configuración residente en el cliente. Respecto a la facilidad de uso del sistema desde el cliente, pudimos apreciar que la lectura de los datos es sencilla, pero adaptar el formato de los datos es un procedimiento tedioso. Se espera en un futuro integrar una interfase de lectura de datos en los formatos propietarios de las principales marcas de sistemas de adquisición de señales electrofisiológicas. Por otro lado, la facilidad para seleccionar la latencia y la proyección de los mapas desde el Cosmoplayer le da al Este trabajo presenta la evaluación de una aplicación distribuida que permite que un cliente remoto que no cuenta con un programa de mapeo en tres dimensiones de potenciales electroencefalográficos, pueda desplegar mapas a partir de sus propios datos. El programa cliente está basado en una "applet" que permite que cualquier usuario se comunique con el servidor de la aplicación a través de Internet. La aplicación del servidor construye los mapas en tres dimensiones y los transfiere a la máquina cliente. Esta aplicación está programada en el lenguaje Java y emplea la técnica de invocación remota de Java (Remote method invocation o RMI) para comunicar al cliente con el servidor, aunque se podría emplear otra técnica como el protocolo CORBA, si la aplicación del servidor se programa en C. Algunas de las mejoras que se tienen contempladas es el desarrollo de módulos que permitan el trabajo colaborativo entre distintos usuarios en sitios diferentes para que puedan accesar datos como si todos se encontraran en el mismo sitio. En este caso, la estrategia de comunicación será la misma, usando el método RMI de manera similar a la descrita anteriormente para la creación de mapas. AGRADECIMIENTOS Las señales fueron proporcionadas por G. Castillo y F. Ostrosky del Departamento de Psicofisiología, Facultad de Psicología, UNAM, MÉXICO. Se agradece el apoyo financiero del CONACYT a través del Convenio Específico de Colaboración No. 400200-5-29290A REFERENCIAS [1] Booch, G., Rumbaugh, J., Jacobson, I., The Unified Modeling Language Users Guide, Addison Wesley Publishing Company, 1999 [2] Gilbert S., McCarty B., Object-Oriented Design in Java, Mitchell Waite Signature Series, 1997 [3] Hartman, E., Wernecke, J., The Vrml 2.0 Handbook Building Moving Worlds On The Web, Silicon Graphics Inc, Addison Wesley Publishing Company, 1996 [4] Hassainia, F., Medina, V., Donadey, A., Langevin, F., “An Enhanced Spherical Spline Interpolation Method For Brain Mapping”,, Medical Progress Through Technology, Vol. 30, pp 23-30, 1994 [5] Martínez A., Hassainia F., Martínez D., Reyes J., Azpíroz J., Medina V. “Remote Brain Mapping Invocation”, World Congress on Medical Physics and Biomedical Engineering. Chicago, Ill., 2000 [6] Medina V., Hassainia F., Gaillard P., Langevin F., “Three dimensional representation of brain electrical activity”, Brain Topography Vol. 7, No. 1 pp 53-61, 1994 [7] Jacobson, I., Booch, G., Rumbaugh, J., The Unified Software Development Process, Addison Wesley Publishing Company, 1999 REMOTE PROCESSING OF BRAIN MAPS ABSTRACT We present in this work the evaluation carried out on a system that provides access to a three-dimensional (3D) brain-mapping program to a remote client. The client can load his own electroencephalogram or evoked potential data, and display 3D maps on his local machine. The 3D map is remotely constructed on the server side and sent to the client using a transparent protocol. The solution is based on a distributed application that uses Java Remote Method Invocation as a mean of communication between the client and server, Java Applet as the client application, Java 3D and Virtual Reality Modeling Language (VRML) as a tool for creating 3D maps. An application example is shown for the analysis of cognitive evoked potentials. .