Prácticas recomendadas de DICOM

En esta página se muestran las prácticas recomendadas para mejorar el rendimiento al trabajar con datos DICOM en la API Cloud Healthcare.

Maximizar los fotogramas por segundo (FPS) en un visor de imágenes

La herramienta healthcare-imaging-performance-test proporciona métricas que te permiten previsualizar los FPS que puedes esperar de un visor de imágenes médicas DICOM que extrae datos de la API Cloud Healthcare.

Enviar solicitudes simultáneamente

Para conseguir el mejor rendimiento de FPS, envía las solicitudes simultáneamente. Por ejemplo, en las siguientes condiciones, puedes aumentar los FPS de 30 a 60 al pasar de seis solicitudes simultáneas a 20:

  • Sin compresión
  • Cuando todos los datos DICOM están en la misma región
  • Cuando las imágenes DICOM tienen un tamaño de 0,5 MB

Obtener fotogramas en una sola solicitud

Los métodos retrieveStudy y retrieveSeries devuelven de forma eficiente varios archivos DICOM en una sola solicitud. Con estos métodos, puedes recuperar imágenes al mismo ritmo que si usaras un número óptimo de solicitudes simultáneas. Puedes llamar a estos métodos en una sola solicitud en lugar de usar solicitudes simultáneas si se cumplen las siguientes condiciones:

  • El cliente puede almacenar todo el estudio en la memoria o analizar la respuesta como un flujo para gestionar una instancia DICOM cada vez.
  • No es necesario personalizar el orden de las imágenes obtenidas

Mejorar el rendimiento para los usuarios web

Las siguientes secciones se aplican a la recuperación de imágenes DICOM cuando se usa un visor web.

Aumentar el número máximo de solicitudes simultáneas

Cuando se usa un visor basado en la Web, la mayoría de los navegadores aplican un número máximo de conexiones por host. Normalmente, este número es seis. Sin embargo, en la práctica, no hay ninguna restricción en el número máximo de solicitudes simultáneas porque:

  • La mayoría de los navegadores usan HTTP/2 de forma predeterminada si el servidor es compatible con este protocolo
  • HTTP/2 usa una sola conexión para todas las solicitudes

Por ejemplo, si usas Cornerstone.js para crear un visor, puedes modificar el número máximo de solicitudes simultáneas a un número óptimo para tu visor cambiando maxSimultaneousRequests al configurar Cornerstone.js.

Usar trabajadores web

JavaScript es un lenguaje de un solo hilo, por lo que hay que tener especial cuidado al aplicar patrones de simultaneidad. Puedes usar trabajadores web para procesar tanto imágenes DICOM como solicitudes HTTP.

Por ejemplo, si modificas el procesamiento de solicitudes HTTP a web workers, puedes duplicar de forma eficaz los FPS de los usuarios de 30 a 60 FPS, suponiendo una sobrecarga de procesamiento de solicitudes de 30 milisegundos.