En esta página, se muestran las prácticas recomendadas para mejorar el rendimiento cuando se trabaja con datos DICOM en la API de Cloud Healthcare.
Maximiza los fotogramas por segundo (FPS) en un visualizador de imágenes
La herramienta healthcare-imaging-performance-test proporciona comparativas que te permiten obtener una vista previa de los FPS que obtendrás en un visualizador de imágenes médicas de DICOM que extrae datos de la API de Cloud Healthcare.
Envía solicitudes simultáneamente
Para obtener el mejor rendimiento en FPS, envía solicitudes simultáneamente. Por ejemplo, en las siguientes condiciones, puedes mejorar de 30 FPS a 60 FPS cuando pasas de seis solicitudes simultáneas a 20:
- Sin compresión
- Cuando los datos de DICOM están en la misma región
- Cuando las imágenes de DICOM tienen un tamaño de 0.5 MB
Recupera marcos en una sola solicitud
Los métodos retrieveStudy
y retrieveSeries
muestran de forma eficiente varios archivos de DICOM en una sola solicitud.
Si usas estos métodos, puedes recuperar imágenes con la misma tarifa que la que se cobra por usar una cantidad óptima 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 puede analizar la respuesta como una transmisión para manejar una instancia de DICOM a la vez.
- No necesitas personalizar el orden de las imágenes recuperadas
Mejora el rendimiento de los visualizadores web
En las siguientes secciones, se explica cómo recuperar imágenes de DICOM cuando se usa un visualizador web.
Aumenta la cantidad máxima de solicitudes simultáneas
Cuando se usa un visualizador basado en la Web, la mayoría de los navegadores aplican una cantidad máxima de conexiones por host. Este número suele ser seis. Sin embargo, en la práctica, no hay una restricción para la cantidad máxima de solicitudes simultáneas debido a lo siguiente:
- La mayoría de los navegadores usan HTTP/2 de forma predeterminada si el servidor lo admite.
- HTTP/2 usa una sola conexión para todas las solicitudes
Por ejemplo, si usas Cornerstone.js para crear un visualizador, puedes modificar la cantidad máxima de solicitudes simultáneas a una cantidad que es adecuada para tu usuario cambiando maxSimultaneousRequests
cuando se configura Cornerstone.js.
Usa trabajadores web
JavaScript es un lenguaje de subproceso único, por lo que se debe tener especial cuidado cuando se aplican patrones de simultaneidad. Puedes usar trabajadores web para procesar las imágenes de DICOM y las solicitudes HTTP.
Por ejemplo, si modificas el procesamiento de solicitudes HTTP de los trabajadores web, puedes duplicar de forma efectiva los FPS del visualizador, de 30 FPS a 60 FPS, con una sobrecarga del procesamiento de solicitud de 30 milisegundos.