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)