Repositorio Institucional de Documentos
Abstract
PFC correpondiente al desarrollo de dos sistemas para la gestión de sesiones de neurofeedback. Uno encargado de la configuración de estas y otro diseñado para la monitorización y control de la sesión. Ambos han sido diseñados para un terapeuta sin experiencia informática y son intuitivos y de fácil manejo. Sánchez-Rubio Alfaro, Daniel; Mínguez Zafra, Javier
Full text
Proyecto Final de Carrera Ingenier´ıa Inform´atica Curso 2010-2011 Dise˜no de un Sistema de Gesti´on para una Aplicaci´on de Neurofeedback Daniel S´anchez-Rubio Alfaro Febrero de 2011 Director: Javier M´ınguez Zafra Departamento de Inform´atica e Ingenier´ıa de Sistemas Centro Polit´ecnico Superior Universidad de Zaragoza
A los due˜nos de las manos que me acariciaron.
Agradecimientos A mis compa˜neros de carrera con los que tantas horas he pasado delante de apuntes y pantallas de ordenador. A mis amigos, por ser ellos. A los BCIs unizar del lab y a los que trabajan en la ONU, en especial a Carlicos, que pr´acticamente ha hecho de codirector. A los BBTs, por hacer de una nave un lugar acogedor. A toda la gente que conozco, por darme para arreglar desde una tostadora a un televisor. Gracias a ellos he aprendido m´as de lo que pensaba. A la gente de gu´ıas, por formarme en m´as aspectos en la vida. Al baloncesto y todo lo que lo rodea, por ense˜narme valores de equipo y hacerme desconectar cuando nada m´as lo hace. A Mar´ıa, por darme la oportunidad de estar en BBT. A Javier, por dirigirme este PFC y descubrirme un mundo nuevo e interesante. A mis padres, por demostrarme su apoyo incondicional. A mis hermanas, por los momentos compartidos. A mis abuelos, que pr´acticamente han sido unos segundos padres para m´ı. Y por ´ultimo a Celia, por estar siempre a mi lado, aguantar mis quebraderos de cabeza y saberme entender cuando nadie m´as sabe. ¡Gracias a todos! iii
iv
Resumen Dise˜no de un Sistema de Gesti´on para una Aplicaci´on de Neurofeedback El objetivo de este proyecto es analizar, dise˜nar e implementar un sistema de gesti´on gen´erico para aplicaciones de Neurofeedback (NFB) por medio de la tecnolog´ıa de interfaces cerebro-computador (BCI, del ingl´es Brain Computer Interface), la cual se basa en medir la actividad cerebral, decodificar los procesos neurol´ogicos de inter´es, y utilizarlos con una aplicaci´on concreta. El Neurofeedback [1] es una forma de Biofeedback [2] ligada a diferentes aspectos espec´ıficos de la actividad el´ectrica del cerebro, que utiliza dispositivos de encefalograf´ıa y procesado en tiempo real para representar la actividad cerebral y, que tiene como objetivo, modificar esta actividad relacionada con aspectos cognitivos humanos, que son los que se tratan de potenciar. Actualmente la principal rama de uso de esta tecnolog´ıa es la aplicaci´on cl´ınica, donde el Neurofeedback se ha utilizado satisfactoriamente para tratar patolog´ıas como el d´eficit de atenci´on (TDA/TDAH )[3] y la epilepsia [4] entre otros. En concreto los objetivos del proyecto son: Realizar el an´alisis, dise˜no e implementaci´on de un sistema de configuraci´on gen´erico de f´acil manejo para sesiones de neurofeedback que permita al terapeuta definir todos los aspectos de una sesi´on. Realizar el an´alisis, dise˜no e implementaci´on de un sistema de monitorizaci´on y control de sesiones de neurofeedback que de al terapeuta el control de la sesi´on, permiti´endole modificar par´ametros durante la ejecuci´on de la misma, as´ı como observar caracter´ısticas de su inter´es. Realizar la integraci´on de ambos sistemas en una plataforma desarrollada. v
vi
´ Indice 1. Introducci´on 1 1.1. Alcancedelproyecto .............................. 3 2. Contexto 5 2.1. Encefalograf´ıa.................................. 5 2.2. Conceptos de Neurofeedback . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3. PlataformaBZI................................. 11 3. Desarrollo 13 3.1. Fasedean´alisis ................................. 13 3.2. Fasededise˜no.................................. 17 3.3. Fase de implementaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4. Plan de pruebas 27 5. Conclusiones y trabajo futuro 33 5.1. Conclusiones................................... 33 5.2. Trabajofuturo ................................. 33 Bibliograf´ıa 35 A. Desarrollo 37 A.1. Distribuci´on temporal y esfuerzo realizado . . . . . . . . . . . . . . . . . . 37 vii
A.2. Documentos de an´alisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 A.2.1. Sistema de configuraci´on . . . . . . . . . . . . . . . . . . . . . . . . 45 A.3. Documentos de dise˜no . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 A.3.1. Sistema de monitorizaci´on y control . . . . . . . . . . . . . . . . . . 47 B. Manual de usuario 67 B.1. Interfaz de configuraci´on. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 B.2. Interfaz de monitorizaci´on y control. . . . . . . . . . . . . . . . . . . . . . 70 C. Pruebas 73 viii
´ Indice de figuras 1.1. Esquema general de la aplicaci´on. . . . . . . . . . . . . . . . . . . . . . . . 3 2.1. Montaje seg´un el sistema 10-20 con 16 canales y una traza de EEG adquirido. 6 2.2. Estructura desglosada de todas las partes de una terapia. . . . . . . . . . . 8 2.3. Estructura de una sesi´on. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.4. Estructuradeunafase.............................. 9 2.5. Estructura de un trial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.6. Esquema que describe la arquitectura de la plataforma BZI. . . . . . . . . 11 3.1. ProcesoUnificado. ............................... 13 3.2. Diagrama de casos de uso. . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.3. Diagrama de clases sin detalle del primer nivel del sistema de configuraci´on de sesiones. La clase TherapyWindow se comunica con la plataforma BZI y encapsula el comportamiento de las otras 2 clases. QuickTherapy tiene como funci´on dar soporte al lanzamiento de fases y AdvancedTherapy ofrece la posibilidad de crear, guardar y editar las sesiones. Para mayor detalle de las clases debe acudirse al anexo de desarrollo. . . . . . . . . . . . . . . . . 19 3.4. Diagrama de clases sin detalle del primer nivel del sistema de monitorizaci´on y control. La clase NFBOperatorWindow es la que realiza la comunicaci´on con la plataforma BZI. Por debajo de esta se sit´uan en una relaci´on de composici´on la clase de control de flujo (ControlButtons), la de informaci´on relativa a un canal (InfoChannelWidget), la designada para ofrecer el EEG (EEGViewer), la que se ocupa de ofrecer informaci´on del feedback al terapeuta (ImageFeedback), y la designada para representar las gr´aficas de feedback (FeedbackHist), en el anexo de desarrollo se puede ver las clases con sus correspondientes m´etodos y atributos. . . . . . . . . . . . 19 ix
1. Introducci´on dispositivos en tiempo real de recogida y procesado de la actividad cerebral. En ejecuci´on el proceso neuronal se decodifica y se informa al usuario de su estado (feedback) para que se gane el autocontrol del mismo (aprendizaje por refuerzo). Una aplicaci´on concreta del neurofeedback es la neurocl´ınica, utiliz´andolo como terapia para el tratamiento del s´ındrome de d´eficit de atenci´on. El s´ındrome de d´eficit de atenci´on (TDA/TDAH) puede entenderse como un d´eficit en la funci´on reguladora del cerebro que se manifiesta en la atenci´on y en el grado de activaci´on fisiol´ogica de quien lo padece. Se caracteriza por desarrollar niveles inusuales de desatenci´on, impulsividad e hiperactividad. Es uno de los des´ordenes psiqui´atricos m´as comunes en ni˜nos y adolescentes y alrededor del 5-8 % de estos lo padecen [7]. Usualmente el TDA se ve acompa˜nado de por una falta de aceptaci´on social, problemas acad´emicos y una alta probabilidad de que el diagn´ostico psiqui´atrico termine en problemas de adaptabilidad en la vida adulta [8]. Hasta el momento la medicaci´on, usualmente metilfenidato, es la forma m´as efectiva de tratamiento, aunque tiene sus desventajas y limitaciones tales como el alto porcentaje de enfermos que no responde a ella (20-35 %) [9], as´ı como efectos secundarios [10]. Las directrices de los centros cl´ınicos europeos para los des´ordenes de este tipo recomiendan un tratamiento en el que se combinan la medicaci´on, el comportamiento cognitivo y los tratamientos familiares [10]. Sin embargo las estrategias cognitivas de mejora del comportamiento no han demostrado ser siempre efectivas, especialmente en t´erminos de generalizaci´on y efectos a largo plazo [11]. Por lo tanto, existe la necesidad de descubrir nuevas estrategias para el tratamiento de dicho desorden en ni˜nos y adolescentes. El neurofeedback aparece como una de las alternativas m´as prometedoras en la b´usqueda de opciones alternativas o adicionales para ni˜nos con TDA/TDAH [12], ya que se ha probado que el conseguir control de algunos ritmos cerebrales espec´ıficos (autorregulaci´on) tiene efectos terap´euticos en estos pacientes. Recientes estudios cient´ıficos han demostrado que ha funcionado de forma experimental, elimin´andoles la medicaci´on al 80 % de los ni˜nos tratados, mejorando de forma significativa su comportamiento y consiguiendo unos efectos duraderos de hasta dos a˜nos en vistas al seguimiento que han tenido estos estudios [13]. Esto representa un gran paso en la mejora de la calidad de vida de estas personas que son medicadas de por vida y sufren frecuentes retrasos en el aprendizaje debido a su condici´on de inatenci´on. Los sistemas desarrollados en este PFC permiten gestionar los aspectos de una sesi´on de neurofeedback, relativos tanto a la configuraci´on, como a la ejecuci´on de la misma. El sistema desarrollado da soporte a las estrategias m´as extendidas de NFB y, en particular, todas aquellas relativas al tratamiento del TDA. La manera de proceder en una terapia de NFB es la siguiente: un especialista dise˜na una sesi´on de Neurofeedback (NFB) para un usuario, durante la cual se conecta al usuario mediante un m´etodo no invasivo de electroencefalograf´ıa (EEG) a la aplicaci´on. Esta aplicaci´on monitoriza su actividad el´ectrica, as´ı como otra serie de informaci´on obtenida tras el procesamiento de esta que ser´a relevante para el especialista. En funci´on de la configuraci´on de la sesi´on y de las caracter´ısticas de la se˜nal analizadas, el sistema producir´a una salida, que ser´a el feedback que se le dar´a al usuario acerca de la tarea que est´e realizando 2
1. Introducci´on 1.1 Alcance del proyecto en ese mismo momento. Para todo esto se ha dise˜nado en el grupo de BCI de la Universidad de Zaragoza una plataforma sobre la cual se ha desarrollado este PFC. En particular la plataforma est´a compuesta por tres grandes bloques, bloque de adquisici´on, bloque de procesado y bloque de aplicaci´on. El bloque de adquisici´on se encarga de obtener la se˜nal el´ectrica procedente de los amplificadores y organizarla de acuerdo a un formato concre- to. El bloque de procesado, cuyo prop´osito es realizar una serie de operaciones sobre la se˜nal obtenida para obtener una serie de caracter´ısticas de esta. Por ´ultimo, el bloque de aplicaci´on permite utilizar las caracter´ısticas obtenidas de la se˜nal para un prop´osito concreto. El presente PFC se ha desarrollado para ser integrado en el bloque de aplicaci´on (Figura 1.1). Figura 1.1: Esquema general de la aplicaci´on. 1.1. Alcance del proyecto La tarea desarrollada en este PFC comprende el an´alisis, dise˜no, implementaci´on, integraci´on y pruebas de dos sistemas, uno que dar´a soporte a la fase de definici´on y configuraci´on de una sesi´on, as´ı como a su control de lanzamiento; y otro que dar´a soporte durante la fase de ejecuci´on para proporcionar la informaci´on necesaria al especialista. Dichos sistemas se integran en la plataforma BZI ya desarrollada por el grupo de BCI de la Universidad de Zaragoza. M´as en concreto, el objetivo del PFC es el desarrollo de: 1. Sistema de configuraci´on: pantalla de usuario para configuraci´on de una sesi´on, en la que se escogen todos los par´ametros del sistema que luego tendr´an su efecto en la configuraci´on del sistema gr´afico. 3
1. Introducci´on 1.1 Alcance del proyecto 2. Sistema de monitorizaci´on y control: sistema principal cuya labor es remitir al terapeuta informaci´on acerca del EEG del usuario durante la sesi´on y permitirle modificar par´ametros de visualizaci´on, as´ı como par´ametros del feedback durante la ejecuci´on de la sesi´on. Su apariencia depender´a de los par´ametros establecidos en el sistema de configuraci´on. A continuaci´on se exponen los puntos en que se ha estructurado el PFC. Para conocer su desarrollo temporal debe acudirse al diagrama de GANTT, en el anexo de desarrollo. Las tareas en concreto son: 1. Documentaci´on de sistemas de NFB existentes. La primera tarea fue documentarse acerca de las interfaces que ya se encontraban disponibles, identificar los elementos que las compon´ıan, as´ı como sus funciones. 2. An´alisis del sistema. Fase para dise˜nar los casos de uso y a partir de estos elaborar unas tablas de requisitos. 3. Dise˜no del sistema. Fase durante la cual se dise˜nan los elementos necesarios y su comportamiento para satisfacer los requisitos. 4. Implementaci´on e integraci´on del sistema. Fase de programaci´on ajust´andose a la plataforma existente para su posterior integraci´on con la misma. La presente memoria se estructura en cinco cap´ıtulos, siendo el primero esta introducci´on; el cap´ıtulo dos expone una serie de conceptos y terminolog´ıa necesaria para poder comprender el cap´ıtulo tres, el cual abarca el an´alisis, dise˜no e implementaci´on de la aplicaci´on; el cap´ıtulo cuarto presenta el plan de pruebas realizadas y, por ´ultimo, en el cap´ıtulo final se presentan las conclusiones y el posible trabajo futuro. 4
2. Contexto El presente cap´ıtulo describe conceptos y terminolog´ıa propia del ´area de conocimien- to, adem´as expone en qu´e consiste una terapia de neurofeedback (NFB). Su correcto entendimiento es fundamental para poder comprender las fases posteriores. 2.1. Encefalograf´ıa La electroencefalograf´ıa es una t´ecnica de imagen m´edica que registra la actividad el´ectrica generada por las estructuras cerebrales en el cuero cabelludo. Es una t´ecnica no invasiva que se puede utilizar repetidamente en pacientes, adultos y ni˜nos, sin ning´un riesgo directo o limitaci´on. Cuando las neuronas se activan, se producen flujos de actividad el´ectrica. La encefalograf´ıa mide las corrientes de flujo durante las excitaciones sin´apticas de las neuronas en el c´ortex cerebral, aunque para poder medir estas excitaciones en la superficie se requiere un gran n´umero de neuronas. Como resultado de este registro se obtiene el electroencefalograma (EEG), el cual ha probado ser una herramienta muy potente en el campo de la neurolog´ıa y la neurofisiolog´ıa cl´ınica debido a su capacidad para reflejar tanto la actividad el´ectrica cerebral normal como an´omala. Las se˜nales el´ectricas se registran por medio de electrodos colocados en zonas concretas de la superficie. Normalmente se miden de pico a pico y su amplitud var´ıa entre los 0.5 y los 100 microvoltios. Estas se˜nales son muy d´ebiles y necesitan ser amplificadas, para ello se utilizan amplificadores, que adec´uan la se˜nal a niveles compatibles con otros dispositivos. Para determinar las zonas en las que se deben colocar los electrodos, se adopt´o la estandarizaci´on de la colocaci´on de los electrodos, dando de nombre al sistema de colocac´ıon 10-20. Este sistema divide la cabeza en distancias proporcionales, utilizando como referencia posiciones conocidas del cr´aneo, que permiten proporcionar una cobertura adecuada de todas las regiones del cererbro. El nombrado 10-20 designa la distancia en porcentaje entre las orejas y la nariz, de separaci´on de los electrodos entre s´ı. Los electrodos se etiquetan de acuerdo a la zona del cerebro en la que est´an, F (frontal), C (central), T (temporal), P (posterior) y O (occipital) y se acompa˜nan de n´umeros pares o impares dependiendo del hemisferio en el que se encuentren. Cada par de electrodos registra las variaciones de potencial el´ectrico, definiendo un canal de la se˜nal de EEG. En la Figura 2.1 se muestra un montaje de Neurofeedback con 16 electrodos siguiendo el sistema 10-20. 5
2. Contexto 2.1 Encefalograf´ıa Figura 2.1: Montaje seg´un el sistema 10-20 con 16 canales y una traza de EEG adquirido. Tras adquirir y amplificar la se˜nal, esta debe ser analizada para obtener las propiedades deseadas. El EEG posee propiedades caracter´ısticas en el dominio del tiempo como son el an´alisis de la coherencia y la fase. Tambi´en posee caracter´ısticas extraibles por medio de un an´alisis frecuencial, como es la distribuci´on de la potencia en unas bandas determinadas, las cuales est´an asociadas a distintos estados mentales. El espectro frecuencial del EEG se descompone en cinco bandas de frecuencia b´asicas, que pueden variar seg´un el autor, aunque se han adoptado las definidas en la tabla 2.1 [14]. La baja amplitud de la se˜nal del EEG limita la adquisici´on, que es sensible a distorsiones, las cuales provocan interferencias en la informaci´on. Estas distorsiones se llaman artefactos y normalmente son una secuencia de ondas de alta amplitud y forma diferente a las se˜nales sin contaminaci´on. Los artefactos pueden estar relacionados con el usuario (movimientos corporales, movimiento de los ojos, sudor, etc), o t´ecnicos (fluctuaci´on de la impedancia, movimientos de cable, mal contacto, etc). La exclusi´on de secciones del EEG contaminadas debe ser llevada a cabo por expertos. 6
2. Contexto 2.2 Conceptos de Neurofeedback Nombre Intervalo frecuencial Delta Hasta 4 Hz Teta [4-7] Hz Alfa [8-12] Hz Beta [12-30] Hz Gama A partir de 30 Hz Tabla 2.1: Frecuencias t´ıpicas de EEG El Neurofeedback (NFB) utiliza todo lo anterior para extraer caracter´ısticas relevantes de la se˜nal, como la potencia en unas bandas determinadas. Dichas bandas son las que est´an relacionadas con procesos neurofisiol´ogicos y pretenden que el usuario reciba informaci´on mediante est´ımulos acerca de estas caracter´ısticas, que son las que se desean modificar. 2.2. Conceptos de Neurofeedback El objetivo de un entrenamiento o tratamiento de neurofeedback, NFB es conseguir que el usuario adquiera control sobre la potencia en unas bandas determinadas, siendo estas algunas de las definidas en la tabla 2.1 o una combinaci´on espec´ıfica de estas en unas posiciones espec´ıficas del cerebro (Figura 2.1) mediante un protocolo establecido. Un aspecto central del NFB es el tipo de feedback proporcionado al paciente, que puede presentarse en alguna de las modalidades sensoriales, auditivo, somatosensorial o visual. El feedback auditivo persigue confirmar al usuario su progreso de forma auditiva, mientras que el feedback somatosensorial lo hace estimulando el sentido del tacto y el visual mediante el est´ımulo de la vista. El mayor n´umero de fibras visuales que entran a estructuras l´ımbicas que de otro tipo implica que el mejor feedback en t´erminos de estimulaci´on es el visual [15]. En todos los sistemas de NFB se contemplan 3 tipos distintos de feedback: de progreso, de evaluaci´on y de transfer. El feedback de progreso pretende dar informaci´on cuantificada continuamente al usuario, expresando su mejor´ıa o deterioro de acuerdo con el objetivo a alcanzar. El feedback de evaluaci´on se da al final del proceso y su objetivo es hacer balance del feedback de progreso dado hasta el momento para determinar una mejora o empeoramiento general. Por ´ultimo, en estudios previos y experimentos de neurofeedback realizados se introduce el concepto de feedback de transfer [13] [16], el cual tiene como objeto crear procesos de generalizaci´on para poder trasladar lo aprendido durante las terapias a la vida real. Este tipo de feedback consiste en no dar feedback continuo en ciertas ocasiones para conseguir que el paciente regule su actividad sin recibir ning´un tipo de feedback mientras lo hace. Es decir, se pide que el propio paciente sea capaz de identificar el estado de su actividad cerebral sin que se le informe de si realmente 7
2. Contexto 2.2 Conceptos de Neurofeedback lo est´a consiguiendo o no. Todos estos conceptos se aplican de acuerdo a un protocolo establecido. Un protocolo es un plan escrito y detallado de un experimento cient´ıfico, un ensayo cl´ınico o una actuaci´on m´edica. El dise˜no de todos los aspectos de un protocolo de NFB gen´erico fue elaborado por un grupo de trabajo multidisciplinar y las decisiones tomadas son las que se justifican en la lista de requerimientos de la fase de an´alisis. A continuaci´on se describe la terminolog´ıa utilizada en el desarrollo de un protocolo de NFB. Asimismo se debe elegir una nomenclatura, ya que en la documentaci´on encontrada no hay un criterio unificado de protocolo ni de terminolog´ıa. En nuestro caso hablaremos de la unidad m´axima de entrenamiento o tratamiento como una terapia, la cual se compone de varias sesiones, que se realizar´an usualmente en d´ıas separados. Cada sesi´on tiene una duraci´on de unos 35 minutos y consta de varias fases, las cuales ser´an independientes entre s´ı. Una fase consiste en el entreamiento o mejora de un aspecto concreto. Un ejemplo ser´ıa hacer dos fases dentro de una sesi´on en las que se entrenasen la capacidad de atenci´on en la fase 1 y la de memoria en la fase 2. En la figura 2.2 se aprecia la estructura general y por niveles de una terapia, mientras que en la Figura 2.3 se puede ver claramente la estructura de una sesi´on, en la que se diferencian las partes que la componen. Figura 2.2: Estructura desglosada de todas las partes de una terapia. 8
2. Contexto 2.2 Conceptos de Neurofeedback Figura 2.3: Estructura de una sesi´on. Figura 2.4: Estructura de una fase. La fases pueden tener una duraci´on de unos 10 minutos, y se descomponen en distintas partes: fase de descanso(rest), c´alculo del prebaseline, c´alculo del baseline y serie de repeticiones (trials). Las partes en las que se divide una fase est´an dise˜nadas seg´un el protocolo que se ha utilizado y se pueden apreciar en la figura 2.4. La parte de prebaseline es una fase de relajaci´on cuyo prop´osito es que el EEG se estabilice y su duraci´on es de unos 5 segundos, durante los cuales no se le permite parpadear al sujeto. La fase de baseline tiene unos 10 segundos de duraci´on, en la que se media la actividad en las bandas que se van a ejercitar para calcular el estado del sujeto, lo cual posibilita autoregular los filtros de cada banda de frecuencia. Todos los trials dentro de una fase son id´enticos y su duraci´on es de aproximadamente 17 segundos. La ejecuci´on de una serie de trials es en esencia una repetici´on de una estructura definida. Un trial se descompone en una serie de partes: rest, pre-baseline, baseline, feedback progresivo y feedback de evaluaci´on ( Figura 2.5 ). Fase de reposo o descanso (rest), que se utiliza para que el usuario descanse. Le est´a permitido parpadear, moverse, etc; fase de c´aculo del (prebaseline), para que el usuario se relaje y su EEG se estabilice, aunque no debe parpadear ni realizar ning´un movimiento voluntario; fase de c´alculo de baseline o del nivel de actividad normal del usuario. Sirve como actualizaci´on del valor calculado al principio de la fase, haciendo una media entre los dos valores. Se deben evitar los artefactos en la medida de lo posible; fase de feedback progresivo, en la que se le va dando feedback al usuario continuamente. Es un feedback instant´aneo y depende de si se cumplen las condiciones en cada banda de frecuencia. No hay problema con un nivel normal de parpadeos; fase de feedback de evaluaci´on, se genera un feedback de evaluaci´on dependiendo del tiempo en que el feedback progresivo haya sido positivo y negativo. 9
2. Contexto 2.2 Conceptos de Neurofeedback Par´ametros configurables de una sesi´on Nombre de persona Nombre de la sesi´on N´umero de fases Comentarios de sesi´on Porcentaje de trials de activaci´on Porcentaje de trials de transfe Tiempo de descanso Canales del entrenamiento Bandas del entrenamiento Tipo de est´ımulo Tabla 2.2: Par´ametros configurables de una sesi´on. Par´ametros configurables de una fase Nombre de fase N´umero de trials Duraci´on de la fase de pre baseline Duraci´on de la fase de baseline Porcentaje de trials de activaci´on Porcentaje de trials de transfer Tiempo de descanso Canales del entrenamiento Bandas del entrenamiento Tipo de est´ımulo Tabla 2.3: Par´ametros configurables de una fase. Figura 2.5: Estructura de un trial. En las tablas 2.2, 2.3 y 2.4 se enumeran los par´ametros que deber´ıan ser configurados en la creaci´on de una sesi´on. Uno de los objetivos de este PFC es proporcionar una interfaz al terapeuta que le permita definir todos estos aspectos de una sesi´on. 10
2. Contexto 2.3 Plataforma BZI Par´ametros configurables de un trial Tiempo de descanso Tiempo de c´alculo de pre-baseline Duraci´on del c´alculo del baseline Duraci´on del feedback progresivo Tiempo de feedback de evaluaci´on Tabla 2.4: Par´ametros configurables de un trial. 2.3. Plataforma BZI Esta secci´on proporciona una visi´on global de la plataforma en la que se integra este PFC, as´ı como conocer las restricciones que esta impone. La plataforma BZI es un framework basado en eventos que permite la integraci´on de aplicaciones basadas en BCIs, proporcionando funcionalidades comunes tales como la adquisici´on en tiempo real de dispositivos hardware, la integraci´on de librer´ıas de procesamiento de se˜nal, y de elementos de visualizaci´on, que sirvan como feedback para el usuario y como monitorizaci´on del sistema. Figura 2.6: Esquema que describe la arquitectura de la plataforma BZI. La arquitectura contiene una serie de componentes b´asicos: m´odulos y un controlador (Figura 2.6). Los m´odulos pueden ser de adquisici´on, procesamiento o aplicaci´on final. El 11
3. Desarrollo 3.2 Fase de dise˜no Una vez elegidas las clases hay que definir las operaciones que cada una posee, as´ı como sus atributos. De esta manera las clases quedan definidas, es entonces cuando se dise˜na el diagrama que las relacione, estableciendo el tipo de relaci´on entre las mismas. El sistema de configuraci´on de sesiones se divide en dos partes, creaci´on, edici´on y guardado de sesiones por una parte y lanzamiento de las mismas por otra, por lo que esta divisi´on conceptual genera 2 grandes clases en ese sistema: AdvancedTherapy y QuickTherapy respectivamente. La descripci´on de estas clases principales, as´ı como de la clase principal que las encapsula es la la siguiente: TherapyWindow: es la clase principal que gestiona las dos clases que hay por debajo, creaci´on y edici´on, y lanzamiento. AdvancedTherapy: cuyo prop´osito es ofrecer al terapeuta la opci´on de crear, editar y guardar sesiones. QuickTherapy: brinda al terapeuta la posibilidad de cargar y lanzar las fases de las sesiones. En cuanto al sistema de control y monitorizaci´on poseemos elementos bien diferenciados que cumplen roles distintos. Esto nos permite identificar las clases principales que componen dicho sistema, as´ı como definir las operaciones que deben ofrecer. Las funciones de cada clase del sistema de control y monitorizaci´on son los siguientes: NFBOperatorWindow: es la clase principal que gestiona todos los elementos. Proporciona acceso a configurar sus clases desde fuera y las gestiona. ControlButtons: cuyo prop´osito es proporcionar el control durante la ejecuci´on de una fase de sesi´on, ofreciendo la posibilidad de detenerla, iniciarla, o volver al sistema de configuraci´on. InfoChannelWidget: ofrece informaci´on de cada canal, potencia y umbral de bandas y la FFT. EEGViewer: gr´afica que muestra el EEG adquirido en todos los canales. Posibilita cambiar la escala, los segundos mostrados y los canales que se visualizan. ImageFeedback: indicador para el terapeuta del feedback que se le da al usuario. FeedbackHist: hist´orico del feedback proporcionado. Definidas las clases del dise˜no con sus m´etodos y atributos se definen las relaciones entre estas. Las relaciones m´as comunes son de composici´on, herencia y colaboraci´on, aunque hay muchas otras. Las relaciones que se establezcan ahora nos definir´an el flujo de informaci´on entras clases. El diagrama de clases para el sistema de configuraci´on puede verse en la figura 3.3 y el diagrama del sistema de control y monitorizaci´on puede verse en la figura 3.4, aunque en el anexo de desarrollo se ofrecen con mayor detalle. 18
3. Desarrollo 3.2 Fase de dise˜no Figura 3.3: Diagrama de clases sin detalle del primer nivel del sistema de configuraci´on de sesiones. La clase TherapyWindow se comunica con la plataforma BZI y encapsula el comportamiento de las otras 2 clases. QuickTherapy tiene como funci´on dar soporte al lanzamiento de fases y AdvancedTherapy ofrece la posibilidad de crear, guardar y editar las sesiones. Para mayor detalle de las clases debe acudirse al anexo de desarrollo. Figura 3.4: Diagrama de clases sin detalle del primer nivel del sistema de monitorizaci´on y control. La clase NFBOperatorWindow es la que realiza la comunicaci´on con la plataforma BZI. Por debajo de esta se sit´uan en una relaci´on de composici´on la clase de control de flujo (ControlButtons), la de informaci´on relativa a un canal (InfoChannelWidget), la designada para ofrecer el EEG (EEGViewer), la que se ocupa de ofrecer informaci´on del feedback al terapeuta (ImageFeedback), y la designada para representar las gr´aficas de feedback (FeedbackHist), en el anexo de desarrollo se puede ver las clases con sus correspondientes m´etodos y atributos. Diagramas de secuencia. La estructura de ambos sistemas se dio entonces por completa. El siguiente paso fue modelar el comportamiento din´amico de ambos sistemas. Para ello se analiz´o cada caso de uso con los actores que intervienen junto con los diagramas de clases. As´ı se pudieron elaborar los diagramas de secuencia, en los que se analizan todos los casos de uso y se genera una traza de actuaci´on del sistema indicando los mensajes y llamadas que intercambian las instancias de las clases con los actores y entre s´ı. En la figura 3.5 se puede observar el diagrama de secuencia correspondiente al caso de uso ’Ejecutar una sesi´on’. 19
3. Desarrollo 3.2 Fase de dise˜no Figura 3.5: Diagrama de secuencia que muestra el caso de uso correspondiente a ejecutar una sesi´on ya cargada. En el diagrama aparece tambi´en la clase NFBOperatorDisplay. Esta es la clase de BZI encargada de la comunicaci´on con nuestras aplicaciones. La secuencia de acciones de este caso de uso que se puede observar en el diagrama es, cargar un fichero y lanzar una fase. En bloque ’alt’ representa una acci´on alternativa, ya que se contempla la posibilidad de que se est´e ejecutando el sistema avanzado o el sencillo respectivamente. El resto de diagramas de secuencia se pueden consultar en el anexo de desarrollo. La clase NFBOperatorDisplay es la que act´ua de nexo de uni´on entre el sistema de monitorizaci´on y control y el resto de la plataforma BZI. Diagramas de actividad y estados. El siguiente paso fue abordar la creaci´on de diagramas de actividad y de estados. Ambos se utilizan para modelar el flujo din´amico de cada elemento que interviene en los diagramas de secuencia por separado y ver c´omo responden dichos elementos a cada interacci´on con el resto de elementos. Si el comportamiento de un elemento es reactivo se utilizan los diagramas de estados, pero si por el contrario no lo es, los diagramas de actividad resultan m´as adecuados, aunque ambos diagramas realizan la misma labor. Para los diagramas de estados el proceso consiste en identificar una serie de estados por los cuales pasa el objeto analizado e identificar las 20
3. Desarrollo 3.3 Fase de implementaci´on transiciones que le hacen pasar del estado actual al siguiente. Cada transici´on tiene asociado un disparador, que es un m´etodo del objeto, el cual es invocado por otro objeto distinto. Las transiciones entre estados pueden llevar asociadas adem´as invocaciones de m´etodos de otros objetos, ocasionando en estos otros cambios de estado. En la figura 3.6 se presenta un diagrama de estados que ilustra el comportamiento de una instancia de la clase AdvancedTherapy del sistema de configuraci´on, no obstante, el resto de diagramas de estados y de actividad se encuentran en el anexo de desarrollo. Figura 3.6: Diagrama de estados que muestra el comportamiento din´amico de la clase AdvancedTherapy del sistema de configuraci´on. Por ´ultimo y para finalizar el proceso de dise˜no de los sistemas se prepar´o un prototipado de las ventanas para los sistemas. Estos prototipos consisten en una serie de bocetos muy sencillos que pretenden dar una idea b´asica del aspecto que tendr´an las pantallas finales. Para consultar las ventanas dise˜nadas debe acudirse al anexo de desarrollo. 3.3. Fase de implementaci´on Proceso de implementaci´on. La fase de implementaci´on se dividi´o en cuatro fases: implementaci´on pura, pruebas unitarias, integraci´on y pruebas generales. Todo esto se hizo para ambos sistemas, ya que se integraron por separado en la plataforma. La raz´on de esta secuencia de acciones es que permite aislar los fallos de cada m´odulo por separado y solucionarlos antes de realizar la integraci´on, evitando que estos fallos se propaguen. Tras la implementaci´on, integraci´on y las pruebas se obtuvo un primer prototipo, en el que se detectaron nuevos requisitos, se incorporaron nuevas funcionalidades al dise˜no y, finalmente se implementaron. 21
3. Desarrollo 3.3 Fase de implementaci´on Lenguaje utilizado. Hasta este punto todo lo definido es independiente de la implementaci´on que se decida realizar, a condici´on de que esta sea orientada a objetos. Finalmente el lenguaje de programaci´on elegido para ambos sistemas fue C++, haciendo uso de las librer´ıas Qt[18] y Qwt[19] y utilizando como entorno de programaci´on Visual Studio. Existen varias razones para justificar estas elecciones. 1. C++ es un lenguaje orientado a objetos mucho m´as eficiente que Java. 2. C++ es un lenguaje con compiladores para las principales plataformas. 3. Las librer´ıas Qt y Qwt proporcionan una opci´on gratuita en el lenguaje elegido. 4. La plataforma en la que se integran ambos sistemas est´a implementada usando las mismas librer´ıas, lo cual permite compartir conocimiento y aumentar la compatibilidad. 5. Las librer´ıas Qt tienen licencia LGPL [20], lo cual supone una opci´on gratuita de implementaci´on. 6. Las librer´ıas Qt ofrecen un sistema de comunicaci´on y sincronizaci´on basado en eventos disparadores. Sistema de informaci´on. La informaci´on que define una sesi´on se crea en el sistema de configuraci´on. Este sistema ofrece la posibilidad de guardar una sesi´on definida para ejecutarla en otro momento, as´ı pues se ofrece persistencia de los datos a trav´es de fichero. Cada sesi´on se guarda en un fichero en binario seg´un la estructura de informaci´on decidida. Esta estructura est´a definida de forma anidada tal y como se puede apreciar en la figura 3.7. Figura 3.7: Estructura del fichero binario que alberga una sesi´on. 22
3. Desarrollo 3.3 Fase de implementaci´on Comunicaciones. Ambos sistemas se encuentran integrados dentro de la plataforma BZI. Con el objetivo de proporcionar m´as facilidad de la hora de la integraci´on, s´olo una clase es la encargada de hacer de mediador entre los dos sistemas que nos ocupan y la plataforma BZI. Esta clase es la ya mencionada ’NFBOperatorDisplay’, que se encuentra dentro de la unidad ’DisplayUnit’. Esta unidad se encuentra en el m´odulo controller (controlador). Por lo tanto nuestros sistemas se encuentran dentro de este m´odulo. En el caso del sistema de monitorizaci´on y control la informaci´on fluye seg´un el esquema 3.8. Figura 3.8: Esquema de comunicaci´on entre el sistema de control y monitorizaci´on con el resto de la plataforma BZI. En cuanto a las comunicaciones dentro de ambos sistemas desarrollados en este PFC el mecanismo de comunicaci´on implementado se ha realizado haciendo uso de las se˜nales de las librer´ıas Qt, que permiten no s´olo funcionar como sistema de comunicaci´on, sino de sincronizaci´on, ya que est´an basadas en eventos y, por tanto dependen del momento en el que sean producidos. Eficiencia. La eficiencia es un factor muy importante a tener en cuenta en el sistema de monitorizaci´on y control. Toda la plataforma debe garantizar el poder cumplir un tiempo de ciclo muy estricto y las funciones que manipulan elementos gr´aficos son muy pesadas, as´ı que una estrategia de implementaci´on apropiada es fundamental. En el m´odulo controller de BZI se ejecutan dos hilos paralelos, uno para el procesado de datos y otro para las funciones gr´aficas, as´ı que la estrategia consiste en desacoplar todas las operaciones de datos de las funciones que contengan la manipulaci´on de alg´un elemento gr´afico, as´ı pues cada elemento gr´afico tiene dos m´etodos o funciones principales, process y paint, encargadas del procesado de datos y de la actualizaci´on de elementos gr´aficos respectivamente. Adem´as los datos a los que tiene acceso nuestro sistema de monitorizaci´on y control est´an en una ´unica zona de memoria. De este modo BZI indica su referencia, ya que as´ı se evita la copia de datos, que es mucho m´as pesada. Adicionalmente las librer´ıas Qwt utilizadas fueron modificadas ya que aunque con este modelo el rendimiento era satisfactorio, cuanto 23
3. Desarrollo 3.3 Fase de implementaci´on m´as ligero fuera, m´as portable ser´ıa tambi´en a arquitecturas con un rendimiento menor. A tenor de este rendimiento se adjunta en el cap´ıtulo de pruebas una comparativa de rendimiento. Interfaces finales. Finalmente se adjuntan dos im´agenes, del sistema de configuraci´on (figuras 3.10 y 3.9) y otra del sistema de control y monitorizaci´on (figura 3.11), en las que se identifican y explican cada una de las partes del sistema. Si se quiere conocer sus funcionalidades con m´as detalle, deber´a acudirse al anexo de manual de usuario. Figura 3.9: Captura de pantalla del sistema de configuraci´on de sesiones, pantalla de creaci´on y edici´on. En ella se puede apreciar la zona de configuraci´on de la sesi´on, en la que se puede definir el nombre de la sesi´on y la persona, as´ı como cargar una sesi´on existente desde un fichero o establecer la sesi´on cargada como sesi´on predefinida. En la zona de configuraci´on de fase el terapeuta introduce todos los par´ametros propios de cada fase como son las duraciones de sus partes, selecciona los canales que intervienen en la sesi´on, as´ı como las bandas dentro de cada canal. Por ´ultimo en la zona de comentarios de sesi´on el usuario puede definir un comentario personal, siendo los botones de la zona inferior para guardar progresivamente cada fase. 24
3. Desarrollo 3.3 Fase de implementaci´on Figura 3.10: Captura de pantalla del sistema de configuraci´on de sesiones, pantalla de lanzamiento. En la zona superior el usuario puede observar los comentarios personales agregados a la sesi´on. En la zona media de la pantalla existe un cuadro con res´umenes explicativos acerca de cada fase generados autom´aticamente. Para cada fase, en la zona de la derecha existe un bot´on que permite lanzarla. La zona inferior da la posibilidad de cargar otra sesi´on desde el fichero. 25
3. Desarrollo 3.3 Fase de implementaci´on Figura 3.11: Captura de pantalla del sistema de control de ejecuci´on de la sesi´on (modo avanzado). La zona de control de flujo se encarga de ofrecer operaciones como iniciar y detener. La parte de informaci´on de sesi´on pretende dar la informaci´on del feedback que se le da al instant´aneamente al paciente al operador. Los hist´oricos de feedback muestran la evoluci´on del feedback progresivo a lo largo del trial as´ı como del feedback de evaluaci´on a lo largo de la fase. El visor de EEG muestran los canales adquiridos en tiempo real. En la zona de informaci´on de cada canal se pueden observar los filtros de bandas, en los cuales se puede modificar el umbral de cada una de estas y por ´ultimo la gr´afica con la FFT de la se˜nal en ese canal, donde cada color representa una banda de frecuencia habitual. 26
4. Plan de pruebas El objetivo de este cap´ıtulo es detallar un plan de pruebas que garantice la calidad del desarrollo realizado. Se realizar´an pruebas de rendimiento y de usabilidad. Motivaci´on de las pruebas. Los casos de prueba t´ecnicos descritos tienen como objetivo probar el sistema de monitorizaci´on y control en t´erminos de rendimiento, mientras que las pruebas de usabilidad tienen como objetivo medir la facilidad con que las personas pueden utilizar la aplicaci´on con el fin de alcanzar un objetivo concreto. Adicionalmente servir´an como pruebas funcionales, las cuales tienen como objetivo definir un proceso de ejecuci´on de pruebas sobre los distintos elementos del sistema para comprobar que sea una ejecuci´on sin fallos. Algunas de las razones que motivan la ejecuci´on de este manual de pruebas son: comprobar la eficiencia de nuestro sistema, minimizar riesgos que afecten a determinados aspectos de la calidad, minimizar el riesgo de fallo en determinados casos de uso, asegurar el correcto funcionamiento del desarrollo bajo cada escenario y situaci´on posible, y asegurar un nivel de usabilidad para el usuario final. Pruebas de rendimiento. Estas pruebas consisten en ejecutar una comparativa del sistema gr´afico con una herramienta referencia para la comunidad cient´ıfica de BCIs, BCI2000[21]. Las pruebas se realizaron en un computador con las siguientes caracter´ısticas: Procesador Pentium Dual-Core E6700 @ 3.2 GHz 4 GB de memoria RAM Sistema Operativo: Windows 7 Ultimate 64 bits La medida que se va a dar de rendimiento es el porcentaje de trabajo medio de CPU durante 2 minutos de ejecuci´on. Se realizaron con un usuario real y consistieron en visualizar 2 segundos de 16 canales de EEG variando el n´umero de datos a actualizar en pantalla, ya que as´ı se prueba ´unicamente la herramienta gr´afica y no toda la plataforma. La tendencia de consumo medio de CPU entre los los sistemas se muestra en la gr´afica 4.1. En la gr´afica 4.1 se aprecia la diferencia de rendimiento entre ambos sistemas, as´ı como 27
5. Conclusiones y trabajo futuro 5.2 Trabajo futuro hoy en d´ıa. Si esto ocurre habr´ıa ser´ıa imprescindible modificar los elementos de ambos sistemas. 34
Bibliograf´ıa [1] J.R.Wolpaw, N.Birbaumer, D.J.McFarland, G.Pfurtscheller, and T.M.Vaughan. Brain-computer interfaces for communication and control. Clinical Neurophysiology., 113(6), 2002. [2] J.N. Demos. Getting started with neurofeedback. WW Norton, 2005. [3] H.Gevensleben, B.Holl, and B.Albrecht. Is neurofeedback an efficacious treatment for ADHD? A randomised controlled clinical trial. Journal of Child Psychology and Psychiatry and Allied Disciplines., 50(7), 2009. [4] T.Elbert, N.Birbaumer, P.Wolf, A.Duchting-Roth, M.Reker, I.Daum, W.Lutzenberger, and J.Dichgans. Cortical sefl-regulation in patients with epilepsies. Epilepsy res, 14:63–72, 1993. [5] I.Iturrate, J.Antelis, A.K¨ubler, and J.M´ınguez. Non-Invasive Brain-Actuated Wheelchair based on a P300 Neurophysiological Protocol and Automated Navigation. IEEE Transaction on Robotics, June 2009. [6] C.Escolano, J.Antelis, and J.M´ınguez. Human Brain-Teleoperated Robot between Remote Places. IEEE International Conference on Robotics and Automation., September 2009. [7] Rothenberger, D¨opfner, Sergeant, and Steinhausen. ADHD beyond core symptoms - not only a European perspective. H.C., 2004. [8] C.Gilberg, I.C. Gillberg, P.Rasmussen, B.Kadesj¨o, H. S¨oderstr¨om, M.Rastam, M. Johnson, A.Rothenberger, and L.Niklasson. Co-existing disorders in ADHD - implications for diagnosis and intervention. European Chind and Adolescent Psychiatry., 2004. [9] M.Loro-L´opez, J.Quintero, N.Garc´ıa-Campos, B.Jim´enez-G´omez, F.Pando, P.Varela- Casal, J.A. Campos, and J.Correas-Lauffer. Actualizaci´on en el tratamiento del trastorno por d´eficit de atenci´on/hiperactividad. Revista de neurolog´ıa, 49:257–264, 2009. 35
[10] E.Taylor, M.D¨opfner, J.Sergeant, P.Asherson, T.Banascheswski, J.Buitelaar, D.Coghill, M.Danckaerts, A.Rothenberger, E.Sonuga-Barke, H.C. Steinhausen, and A. Zuddas. European clinical guidelines for hyperkinetic disorder - first upgrade. European Child and Adolescent Psychiatry, pages 17–30, 2004. [11] M.Abikoff. Cognitive training in ADHD children: less to it than meets the eye. Journal of Learning Disabilities, 24:205–209, 1991. [12] H.Heinrich, H.Gevensleben, and U.Strehl. Neurofeedback - train your brain to train behaviour. Journal of Child Psychology and Psychiatry, 48:3–16, 2007. [13] U.Strehl. Self-regulation of Slow Cortical Potentials: A New Treatment for Children With Attention-Deficit/Hyperactivity Disorder. Pediatrics, 2006. [14] T.H.Budzynski, H.K.Budzynski, J.R.Evans, and A.Abarbanel. Introduction to Quantitative EEG and Neurofeedback, Second Edition: Advanced Theory and Applications. Academic Press, 1999. [15] T.Hinterberger, N.Neumann, M.Pahm, A.K¨ubler, A.Grether, N.Hofmayer, B.Wilhelm, H.Flor, and N.Birbaumer. A multimodal brain-based feedback and communication system. Brain Res, 154:521–526, 2004. [16] U. Leins, G. Goth, T. Hinterberger, C.Klinger, N.Rumpf, and U.Strehl. Neurofeedback for Children with ADHD: A Comparison of SCP and Theta/Beta Protocols. Springer Science, 2007. [17] I.Jacobson, G.Booch, and J.Rumbaugh. El proceso unificado de desarrollo software. Addison Wesley, 2000. [18] Nokia. Qt libraries. http:/qt.nokia.com, 1992. [19] Uwe Rathmann. Qwt libraries. http://qwt.sourceforge.net/, 1997. [20] Free Software Foundation. Gnu lesser general public license. http://www.gnu.org/ copyleft/lesser.html, 2007. [21] D.J. McFarland, T.Hinterberger, N.Birbaumer, and J.R.Wolpaw. BCI2000: A General-Purpose Brain-Computer Interface (BCI) System. IEE Transactions on biomedical engineering, 51(6), 2004. [22] J.Nielsen. Usability Engineering. 1993. [23] J.Nielsen. Usability inspection methods. 1994. 36