Download Plataforma de recepción, gestión y almacenamiento de - e
Document related concepts
no text concepts found
Transcript
Plataforma de recepción, gestión y almacenamiento de imagen médica en formato digital DICOM E. Crespo1, Y. Alemán1, J. Pascau1, S. Reig1, J. Janssen1, M. Desco1,2 1 Laboratorio de Imagen Médica, Unidad de Medicina y Cirugía Experimental, Hospital General Universitario Gregorio Marañón, Madrid, España, {ecrespo, yaleman, jpascau, sreig, jjanssen, mdesco}@hggm.es 2 Centro de investigación biomédica en red en salud mental (CIBERSAM) Resumen En el presente trabajo se describe el diseño de una plataforma de recepción, gestión y almacenamiento de imágenes médicas en formato DICOM, orientada a conseguir una infraestructura que facilite el manejo y posterior procesamiento de datos de neuroimagen utilizados en proyectos de investigación. Su arquitectura consta de una serie de etapas independientes y configurables: recepción, anonimización, organización y conversión de los datos a formato Nifti-1. Estas etapas se interconectan entre sí para conformar ‘pipelines’ de gestión, independientes y concurrentes en ejecución, que son personalizados según las necesidades particulares de cada proyecto. Esta plataforma se está empezando a emplear en varios proyectos de investigación de neuroimagen y ensayos clínicos en el seno del CIBER de salud mental (CIBERSAM). 1. Introducción DICOM (‘Digital Imaging and Communication in Medicine’) es el estándar para el intercambio de imágenes médicas, pese a lo cual no ha sido adoptado por la comunidad científica que trabaja en procesamiento de neuroimagen. El formato Nifti-1 (Neuroimaging Informatics Technology Initiative), es compacto, diseñado específicamente para el tratamiento de imágenes vinculadas a las neurociencias, y es el más empleado actualmente por los diversos paquetes de software de procesamiento de neuroimagen. A su vez, existen múltiples diseños de arquitecturas y aplicaciones destinadas a la recepción, gestiónmodificación y almacenamiento de imágenes en DICOM, haciendo uso de librerías y herramientas de software libre [1, 2]. Estas arquitecturas tienen como principal desventaja que no abarcan todas las soluciones para las diferentes problemáticas que genera la gestión de las imágenes médicas con finalidad investigadora, como por ejemplo la anonimización de las imágenes de cara a cumplir con las leyes de protección de datos de carácter personal o la propia organización estructurada de los datos. Por estas razones, el principal objetivo de este trabajo es el diseño de una plataforma modular y altamente configurable para recepción, gestión y almacenamiento de datos médicos de neuroimagen. Esta infraestructura es independiente del sistema de gestión RIS-PACS hospitalario, y aporta soluciones específicas para proyectos de investigación o ensayos clínicos, por ejemplo, haciendo especial hincapié en la anonimización personalizada, en la construcción de una organización jerárquica de las imágenes y en la implementación de un flujo de trabajo específico para cada tipo de procesamiento a realizar. Los datos se almacenan en los formatos DICOM y NIfti1. La interacción, tanto con los usuarios proveedores de imágenes como los responsables de su procesamiento se hace a través de una interfaz Web. 2. Materiales y Métodos La plataforma se ha diseñado como una arquitectura abierta y modular que permite definir múltiples configuraciones en la recepción, procesamiento para la gestión y almacenamiento de imágenes médicas en formato DICOM. Se ha seguido una metodología de programación de diferentes etapas configurables que se pueden interconectar entre ellas de diferentes formas, según los requerimientos específicos de cada usuario o proyecto. Un conjunto completo de etapas constituye una línea de procesamiento o pipeline. Se ha realizado un esfuerzo por el uso de librerías de software libre, tanto como solución en la programación de algunas de las etapas e interfaces de la plataforma, como referencia para el diseño de la plataforma. Previamente a abordar una implementación de la plataforma se han evaluado y probado diferentes plataformas, librerías, servidores y utilería general relativa al tratamiento y almacenamiento de imágenes en DICOM [3]. Se ha optado por la utilización del lenguaje Java, empleando técnicas tradicionales de programación concurrente mediante hilos en este lenguaje. De esta forma, cada etapa de cada pipeline funciona de manera concurrente, aguardando al siguiente objeto a procesar. En consecuencia, cada pipeline es independiente del resto. Como fuente principal para la programación de estas etapas y de los objetos DICOM se ha recurrido a librerías libres del proyecto ‘Medical Imaging Resource Center’ (MIRC), iniciado por el Radiology Informatics Comitee de la Radiological Society of North America (RSNA); en concreto las de su herramienta ‘Clinical Trial Processor’ Para la indexación de campos de la imagen en DICOM, tanto en el procesamiento para la gestión como en el almacenamiento, se ha usado lenguaje Extensible Markup Language (XML) por su facilidad para interaccionar con los otros dos lenguajes principales usados en la plataforma, PHP y Java. Para la conversión y manejo de imágenes DICOM se han empleado librerías del paquete SPM (Statistical Parametric Mapping), desarrollado por la Universidad de Londres[5], junto con el paquete Matlab de Mathworks. Se utiliza también un módulo de servidor específico DICOM, en concreto el servidor DICOM del proyecto de software libre Conquest, del Medical Center de la Universidad de California en Davis y el Netherlands Cancer Institute [6]. Como servidor y contenedor web se ha usado ApacheTomcat. 3. User options via DICOM via SCP WEB Interface SCP DICOM SETTINGS MANAGER DIRECTORY LISTENER LISTENER Processing VALIDATOR DICOM settings DICOM ANONYMIZER ORGANIZER CONVERTER COMPRESSOR XML-Builder ADMINISTRATION Para la interacción con el usuario se ha elegido una interfaz via Web, utilizando lenguaje Hypertext Preprocesor (PHP), tanto para el diseño de las páginas web como para la comunicación de parámetros y archivos con las diferentes etapas de los pipelines en Java. FILES via WEB IMAGE PROCESSING (CTP)[4]. A su vez, este proyecto hace un uso intensivo de la librería DCM4CHEE, que da solución en Java a la manipulación y comunicación de los objetos DICOM. Registers, logs… DICOMs, NIFTIs, ZIPs, XMLs, XLSs, TXTs Resultados Las figuras 1 y 2 muestran la implementación que se ha realizado de la plataforma. STORAGE SERVICES WEB OUTPUT WEB Figura 2. Esquema del ‘Image Processor’ Este diseño satisface las siguientes especificaciones: SYSTEM ADMINISTRATION Registers, Logs, error control, process cleaner, status monitor… DICOM SCP IMAGE PROCESSOR Validator, Anonymizer, Organizer, Image Format Converter, Compressor, XML-builder… W E B XML IMAGES STORAGE DIRECTORIES DICOM CONQUEST SERVER WEB LAN DIRECT Interface DICOM q/r Figura 1. Arquitectura general de la plataforma • La recepción, gestión y almacenamiento de imágenes en DICOM. • La recepción de las imágenes se puede producir vía Web o como una comunicación DICOM mediante un servicio de storage SCP. En la recepción se valida la imagen para asegurarse de que en los pipelines sólo entran objetos DICOM correctos. • El procesamiento para la gestión es modular y configurable tanto por los administradores de la plataforma como por el usuario en determinados pasos durante el proceso mediante interfaz Web. Como etapas configurables de procesado se incluyen un anonimizador, un organizador y un conversor de formato DICOM a Nifti-1. • El almacenamiento se produce según la configuración establecida por el organizador y existe una indexación XML que facilita el acceso, via Web o red local, a las imágenes almacenadas de forma estructurada. También se pueden producir transmisiones DICOM mediante primitivas query / retrieve del protocolo DICOM. • Se dispone de pipelines independientes, configurados según las especificaciones y requerimientos de los diferentes proyectos o ensayos clínicos. En concreto; se implementa un pipeline genérico con todas las funcionalidades para subida y descarga de imágenes de proyectos de investigación; un pipeline que sólo recibe y procesa según configure el usuario pero que no almacena; un pipeline dedicado para recibir, gestionar y almacenar imágenes vía protocolo DICOM; y un pipeline específico para un proyecto multicéntrico, que además interactúa con otras aplicaciones y herramientas externas. • Las imágenes DICOM se modelan como un objeto Java. • Sólo existe procesamiento en el lado del servidor, lo que a priori da independencia de la tecnología existente en el lado del cliente. • El interfaz Web permite una interacción vía formularios y páginas informativas, planteando la subida o descarga de imágenes como una serie de pasos relativamente sencillos y dirigidos. La figura 4 muestra un ejemplo de esta interacción, para el pipeline que recibe y procesa imágenes según configure el usuario. suficiente para considerar una imagen anonimizada en el marco de las leyes españolas, siempre que no se guarden los campos originales en ningún formato electrónico o papel, destruyendo así el nexo entre los datos anonimizados y los originales. 3.2. Organización La implementación de la etapa de organización jerárquica de las imágenes permite crear estructuras de directorios (ver figura 5), tanto para formato DICOM como Nifti-1, y sus correspondientes archivos XML para indexar estas estructuras. Se crea, por tanto, una estructura-repositorio de imágenes en ambos formatos para múltiples proyectos y ensayos que se puedan realizar. Esta estructura está basada en la identificación del paciente como base dentro de cada proyecto, siguiendo con el estudio y como último eslabón el tipo de serie. Figura 4. Estructura de organización de imágenes 3.3. Figura 3. Pantalla de personalización de anonimización 3.1. Anonimización Para dar respuesta al cumplimiento de la Ley Orgánica de Protección de Datos (Ley Orgánica 15/1999, de 13 de diciembre) y la Ley de Investigación Biomédica (Ley 14/2007, de 3 de julio), en materia de protección de datos de carácter personal, se ha realizado un esfuerzo especial en la implementación de una etapa de anonimización. Esta etapa puede personalizarse tanto por administradores de la plataforma como por los usuarios, si así está permitido en la configuración general del pipeline. Se ha diseñado pensando en ofrecer la mayor versatilidad posible, siguiendo las pautas y librerías de los scripts de anonimización del proyeto MIRC-CTP. Se puede acceder a cualquier campo de la imagen DICOM, modificando su contenido de acuerdo con la fórmula que se desee, o combinando otros campos DICOM, o añadiendo variables que serán modificadas por el usuario, o incluso usando funciones hash y estructuras de control tipo if –else. En esta etapa sólo se modifican los campos de identificación y nombre de paciente (Patient ID y Patient Name). Esto es Conversión de formato En el formato Nifti-1 las imágenes pueden almacenarse como un par de ficheros (hdr/img) o en un único fichero (nii). En el primer caso, el fichero hdr o encabezamiento contiene toda la información acerca de la imagen: nombre, orientación del paciente, tamaño del voxel, dimensiones, entre otros y el archivo img contiene los datos recogidos en el estudio. Por su parte, el formato comprimido (nii) contiene tanto el encabezamiento de la imagen como los datos registrados en un archivo único. La conversión se lleva a cabo empleando librerías (desarrolladas sobre el paquete Matlab) que se encargan, tanto de la formación del encabezamiento de la imagen (header) a partir de diferentes campos de la imagen original (DICOM), como del almacenamiento de los datos registrados dentro de la imagen Nifti-1. 3.4. Tiempos de procesamiento La plataforma se ha montado sobre un servidor de cuatro núcleos a 2Ghz y 4Gb de memoria RAM, con un sistema operativo Windows Server 2003. El servidor no está dedicado exclusivamente a la ejecución de la aplicación. Para este sistema se han medido los tiempos de procesamiento de la tabla 1, para el pipeline genérico que contempla todas las etapas posibles. Se diferencian dos tiempos medidos: el tiempo de validación y detección de pacientes para ser presentados al usuario (Pre-processing Time, t-pp) y el tiempo de procesamiento bruto de las imágenes que incluye su anonimización, almacenamiento organizado, conversión a formato Nifti-1 y la creación y devolución de diferentes registros y archivos (Processing Time, t-p). de la anonimización, verificar características como tipos de serie de las imágenes o incluso optar por un tipo de organización o conversión de las imágenes. Esto proporciona un elemento de control en el proceso general de gestión de la imagen médica. Para el manejo de la plataforma, no son necesarios, a priori, conocimientos avanzados de informática. Nº de imágenes / Nº de pacientes Peso de todas las imágenes (Mb.) t-pp 45 / 1 9,58 3s 21s 160 / 1 21,3 5s 1m 3s 765 / 1 25,6 7s 2m 29s 834 / 3 36,1 9s 4m32s 1020 / 1 38,5 10s 2m 55s 1298 / 4 98,2 15s 5m 53s 5. 2260 / 1 151,1 22s 4m 14s Se ha diseñado e implementado una plataforma para recepción de datos y procesamiento de neuroimágenes, conformada por diversos pipelines que reciben, procesan y almacenan imágenes en formato DICOM y Nifti. Esta solución da una respuesta efectiva a diversas problemáticas peculiares de la gestión de grandes volúmenes de imágenes en el ámbito de proyectos de investigación y ensayos clínicos que requieren tratamiento avanzado de los datos, como por ejemplo la anonimización y/o la organización estructurada de las imágenes y los resultados generados. t-p Tabla 1. Tiempos de procesamiento (ordenada por nº de imágenes procesadas) 4. Discusión La plataforma se ha diseñado y programado con diversos lenguajes de programación y hace uso de diferentes formatos de ficheros, utilería y librerías de software libre. La interfaz de interacción con el usuario ha sido desarrollada sobre lenguaje PHP, las etapas de anonimizacion y organización de las imágenes DICOM fueron implementadas sobre JAVA y la conversión de estas a formato Nifti-1 se realiza empleando librerías de Matlab. Esto ha permitido conseguir una alta versatilidad en la configuración de pipelines independientes que responden a diferentes necesidades. Pero, a su vez, ha aumentado la complejidad en la detección y corrección de errores respecto a si todo el procesamiento hubiese sido desarrollado sobre un mismo lenguaje de programación. El funcionamiento se ha mostrado suficientemente robusto en relación con el uso de los pipelines implementados en la práctica, aunque cuando las imágenes recibidas no cumplen correctamente con el estándar DICOM se han detectado problemas que ha habido que solucionar de forma específica. Por tanto, aún existe cierta debilidad al considerar una imagen en DICOM como un objeto en Java, ya que muchos de sus métodos dependen del buen cumplimiento del estándar. Los tiempos de procesamiento obtenidos son aceptables, dado que cada objeto DICOM ha de atravesar todas las etapas del pipeline, siendo accedidos muchos de sus campos, validados, modificados, convertidos, etc. Es interesante destacar que si se reciben varios pacientes en el mismo envío, el tiempo de procesamiento aumenta considerablemente debido a que la etapa de conversión a formato Nifti-1 carga una vez para cada paciente todas las imágenes a convertir. La interacción con el usuario le permite actuar en algunas fases del proceso de envío de imágenes a la plataforma, dependiendo de la configuración del pipeline. Facilita además, elegir en muchas ocasiones algunos parámetros Para facilitar la gestión se generan durante el procesamiento diversos registros en formato de texto, XML o Excel, que proporcionan un control de accesos sencillo y diversa información e indexación del repositorio de imágenes. Este es el punto más débil de la plataforma, y una línea futura de trabajo es el diseño e implementación de una base de datos más robusta y formal para las imágenes. Conclusiones Agradecimientos Este trabajo ha desarrollado en el marco la plataforma de neuroimagen Centro de Investigación Biomédica en Red en el área de Salud Mental (CIBERSAM). Referencias [1] [2] [3] [4] [5] [6] Hacklander, T., J. Martin, and K. Kleber, Informatics in radiology (infoRAD): an open source framework for modification and communication of DICOM objects. Radiographics, 2005. 25(6): pp. 1709-21. Warnock, M.J., et al., Benefits of using the DCM4CHE DICOM archive. J Digit Imaging, 2007. 20 Suppl 1: pp. 125-9. Crabb, A. Free Medical Imaging Software. http://www.idoimaging.com/index.shtml. (Consultada: Julio de 2009) Radiological Society of North America. MIRC CTP: The RSNA Clinical Trial Processor. http://mircwiki.rsna.org/index.php?title=CTPThe_RSNA_Clinical_Trial_Processor. (Consultada: Julio de 2009) Wellcome Trust Center for Neuroimaging. SPM Statistical Parametric Mapping. http://www.fil.ion.ucl.ac.uk/spm/software/. (Consultada: Julio de 2009) Van Herk, M., Zijp, L. Conquest DICOM software. http://www.xs4all.nl/~ingenium/dicom.html. (Consultada: Julio de 2009)