Best practice per DICOM

Questa pagina mostra le best practice per migliorare le prestazioni quando si lavora con i dati DICOM nell'API Cloud Healthcare.

Massimizzare i fotogrammi al secondo (FPS) in un visualizzatore di immagini

Lo strumento healthcare-imaging-performance-test fornisce benchmark che ti consentono di visualizzare in anteprima i FPS che puoi aspettarti per un visualizzatore di immagini diagnostiche DICOM che estrae i dati dall'API Cloud Healthcare.

Invio di richieste contemporaneamente

Per il miglior rendimento in termini di FPS, invia le richieste contemporaneamente. Ad esempio, se soddisfi le seguenti condizioni, puoi migliorare gli FPS da 30 a 60 quando passi da sei richieste simultanee a 20:

  • Senza compressione
  • Quando i dati DICOM si trovano tutti nella stessa regione
  • Quando le immagini DICOM hanno una dimensione di 0,5 MB

Recupero dei frame in una singola richiesta

I metodi retrieveStudy e retrieveSeries re restituiscono in modo efficiente più file DICOM in una singola richiesta. Con questi metodi, puoi recuperare le immagini alla stessa velocità utilizzando un numero ottimale di richieste simultanee. Puoi chiamare questi metodi in una singola richiesta anziché utilizzare richieste simultanee se si verificano le seguenti condizioni:

  • Il client può memorizzare l'intero studio in memoria oppure analizzare la risposta come stream per gestire una sola istanza DICOM alla volta
  • Non è necessario personalizzare l'ordine delle immagini recuperate

Miglioramento delle prestazioni per gli spettatori web

Le sezioni seguenti si applicano al recupero delle immagini DICOM quando si utilizza un visualizzatore web.

Aumento del numero massimo di richieste in parallelo

Quando utilizzi un visualizzatore basato su web, la maggior parte dei browser applica un numero massimo di connessioni per host. In genere, questo numero è pari a sei. Tuttavia, in pratica non è prevista alcuna limitazione per il numero massimo di richieste in parallelo perché:

  • La maggior parte dei browser utilizza HTTP/2 per impostazione predefinita se il server supporta HTTP/2
  • HTTP/2 utilizza una singola connessione per tutte le richieste

Ad esempio, se utilizzi Cornerstone.js per creare un visualizzatore, puoi modificare il numero massimo di richieste simultanee impostandolo su un valore ottimale per il visualizzatore modificando maxSimultaneousRequests durante la configurazione di Cornerstone.js.

Utilizzare i web worker

JavaScript è un linguaggio a thread singolo, quindi è necessario prestare particolare attenzione quando si applicano i pattern di concorrenza. Puoi utilizzare i worker web per elaborare sia le immagini DICOM sia le richieste HTTP.

Ad esempio, se modifichi l'elaborazione delle richieste HTTP per i web worker, puoi raddoppiare efficacemente i FPS dello spettatore da 30 a 60 FPS, supponendo un overhead di elaborazione delle richieste di 30 millisecondi.