Bonnes pratiques DICOM

Cette page présente les bonnes pratiques pour améliorer les performances lors de l'utilisation de données DICOM dans l'API Cloud Healthcare.

Maximiser les images par seconde (FPS) dans un lecteur d'imagerie

L'outil healthcare-imaging-performance-test fournit des benchmarks qui vous permettent de prévisualiser le nombre de FPS attendus pour un lecteur d'imagerie médicale DICOM qui extrait des données de l'API Cloud Healthcare.

Envoyer des requêtes simultanément

Pour optimiser les performances du nombre d'images par seconde, envoyez les requêtes simultanément. Par exemple, dans les conditions suivantes, vous pouvez améliorer les performances de 30 à 60 FPS lorsque vous passez de six requêtes simultanées à 20 :

  • En n'utilisant aucune compression
  • Lorsque les données DICOM se trouvent toutes dans la même région
  • Lorsque la taille des images DICOM est de 0,5 octets

Récupérer des images en une seule requête

Les méthodes retrieveStudy et retrieveSeries renvoient efficacement plusieurs fichiers DICOM en une seule requête. Grâce à ces méthodes, vous pouvez récupérer des images au même rythme qu'en utilisant un nombre optimal de requêtes simultanées. Vous pouvez appeler ces méthodes en une seule requête au lieu d'utiliser des requêtes simultanées si les conditions suivantes sont remplies :

  • Le client peut stocker l'intégralité de l'étude en mémoire, ou analyser la réponse sous forme de flux pour gérer une instance DICOM à la fois.
  • Vous n'avez pas besoin de personnaliser l'ordre des images récupérées.

Améliorer les performances des lecteurs Web

Les sections suivantes s'appliquent à la récupération d'images DICOM lors de l'utilisation d'un lecteur Web.

Augmenter le nombre maximal de requêtes simultanées

Lorsque vous utilisez un lecteur basé sur le Web, la plupart des navigateurs appliquent un nombre maximal de connexions par hôte. Ce nombre est généralement de six. Toutefois, dans la pratique, le nombre maximal de requêtes simultanées n'est pas limité pour les raisons suivantes :

  • La plupart des navigateurs utilisent le protocole HTTP/2 par défaut si le serveur est compatible avec le protocole HTTP/2
  • HTTP/2 utilise une connexion unique pour toutes les requêtes

Par exemple, si vous utilisez Cornerstone.js pour créer un lecteur, vous pouvez remplacer le nombre maximal de requêtes simultanées par un nombre optimal pour votre lecteur en modifiant maxSimultaneousRequests lors de la configuration de Cornerstone.js.

Utiliser des nœuds de calcul Web

JavaScript est un langage à thread unique. Il est donc important de prendre des précautions supplémentaires lors de l'application des modèles de simultanéité. Vous pouvez utiliser des nœuds de calcul Web pour traiter à la fois les images DICOM et les requêtes HTTP.

Par exemple, si vous modifiez le traitement de votre requête HTTP pour les nœuds de calcul Web, vous pouvez doubler le nombre de FPS de votre lecteur en passant de 30 à 60 FPS, en supposant un temps de traitement de 30 millisecondes.