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.