15 de agosto de 2009

Diseño Funcional de un sistema basado en mfERG

Especificaciones Funcionales. Después de reunir un conjunto de requerimientos generales que modelan el diseño del sistema se elabora una primera partición del mismo con el objetivo de poder elaborar cada uno de ellos de manera casi independiente. Así, algunas de las especificaciones funcionales más relevantes para el diseño del sistema serían como se ve en la Tabla siguiente.

Diagramas funcionales. Dos particiones Iniciales. Inicialmente, se necesita saber cual es el bloque principal que contendrá el resto de bloques funcionales, inclusive el primer particionamiento de acuerdo a las especificaciones funcionales. Así el primer bloque funcional es el que muestra en la Figura abajo. Este primer bloque funcional es el bloque que enmarca todas las funciones específicas.Se puede notar que tiene dos salidas, una que indica el estado de la retina por medio de respuestas estratégicamente diseñadas, como lo son las visualizaciones en 2D ó 3D; y otra encargada de realizar el estímulo multifocal con diferentes condiciones de escalado y duración.

A su vez encontramos que se divide en tres bloques más, denominados: Entrada, Procesamiento y Salida; el primero y el ultimo se encargan de funciones mas externas relacionadas con la adquisición y manejo de datos, como los procedimientos de diagnostico, y almacenamiento, respectivamente. Abajo se ve la partición del sistema por segunda vez.


El desarrollo del sistema incluye una interfaz gráfica en base a ventanas de dimensiones predefinidas en la programación, es decir que el usuario no puede modificarlas en tiempo de ejecución, con el fin de mantener todas las posibilidades de diagnostico en un mismo espacio y simultáneamente, evitando actividades innecesarias y aumentando la facilidad de uso.

El bloque de Entrada, se subdivide en dos bloques: Datos y Estímulo. El primero se encarga de elaborar todas las operaciones relacionadas con la carga (importar datos con formato del sistema) de archivos de información procesada o preprocesada, utilizar lectores e interpretadores sintácticos. Para ello se usa un formato basado en aplicaciones ya existentes, para este caso la aplicación elegida es el formato XLS del software Microsoft Excel.

El bloque de estímulo se encarga de usar la misma interfaz de la Figura anterior para que sea compatible con las condiciones de pantalla, este es el caso de la resolución del monitor implementado. El usuario puede configurar independientemente a la pantalla del monitor el escalado y la resolución desde el programa sin alterar los resultados. Para lograr esto, una parte de los códigos elaborados para desplegar en pantalla los estímulos multifocales deben tener un nivel de acceso muy bajo. Al igual que esto, se implementa para otros factores requeridos en la realización del estímulo (cantidad de patrones, frecuencia de estímulo, escalado, etc.)

En la segunda partición vemos además, que el bloque de Procesamiento posee otros dos bloques, uno que es el bloque Convertidor, encargado de realizar procedimientos matemáticos directamente relacionados con los resultados de adquisición (la señal retiniana), para posteriormente ejecutar bloques con procedimientos de análisis (descomposición en series matemáticas, expansiones, etc.). Durante el tiempo de ejecución, este hace las funciones de un pre-procesador.

Para este bloque se ha dispuesto de controles desplegables, de texto entre otras herramientas de lectura que permiten al usuario conocer más de cerca la actividad real del estímulo. Este es el caso, de los vectores que almacenan las ventanas kernels dispuestos en forma de matrices visibles al usuario. Como también la visualización de cada uno de las respuestas del Procesado de la señal retiniana.

El bloque Calculador es capaz de tomar cada una de las señales pre-procesadas y aplicar una transformación en tiempo respetando las propiedades intrínsecas de la señal, que permita observar (en los módulos de visualización) una caracterización tiempo-frecuencia. Retomando nuevamente a la segunda particion tenemos una división en dos bloques del módulo funcional Salida; inicialmente el bloque de Visualización es muy amplio y consta de procedimientos algorítmicos capaces de realizar graficaciones en colores, transformaciones 3D, renderizado, habilitación de procedimientos, interacción de datos con varios procedimientos de visualización, etc. Todo esto garantizando mayor flexibilidad al usuario a la hora de diagnosticar una patología retiniana. Cada modo de visualización se acompaña de un conjunto respectivo de datos indicadores que refuerzan el análisis diagnostico de patologías, como también indicadores claves para no perder orden en la ejecución de un examen de mfERG.

Este bloque también se encarga de mostrar información actual como el tiempo, la fecha, la duración de cada estímulo multifocal, etc. Todos estos detalles serán mejor tratados en el capitulo V. El bloque denominado Almacenamiento se encarga de generar el formato basado en la aplicación Excel que se guardará como evidencia para posteriores trabajos de consulta o comparación. Teniendo definida la estructura inicial del sistema de acuerdo a ciertas especificaciones, se plantea una metodología de desarrollo basada en clases (objetos) dentro de la POO (Programación Orientada a Objetos) con el fin de tener un punto de referencia más práctico en la comprensión del desarrollo del sistema.