Best practice per DICOM

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

Ingrandimento dei frame al secondo (f/s) in un visualizzatore di immagini

Lo strumento health-imaging-performance-test fornisce benchmark che ti consentono di visualizzare in anteprima i f/s che puoi aspettarti per un visualizzatore di immagini mediche DICOM che estrae dati dall'API Cloud Healthcare.

Invio simultaneo di richieste

Per un rendimento ottimale degli FPS, invia contemporaneamente le richieste. Ad esempio, nelle seguenti condizioni puoi migliorare i f/s da 30 f/s a 60 f/s quando passi da sei richieste in parallelo a 20:

  • Nessuna compressione
  • Quando i dati DICOM si trovano tutti nella stessa area geografica
  • Quando le immagini DICOM sono di 0,5 MB

Recupero dei frame in una singola richiesta

I metodi retrieveStudy e retrieveSeries restituiscono in modo efficiente più file DICOM in un'unica richiesta. Con questi metodi puoi recuperare le immagini con la stessa frequenza con cui utilizzi un numero ottimale di richieste in parallelo. Puoi chiamare questi metodi in una singola richiesta anziché utilizzare le richieste simultanee se si verificano le seguenti condizioni:

  • Il client può archiviare l'intero studio in memoria oppure può analizzare la risposta come flusso per gestire un'istanza DICOM alla volta
  • Non devi personalizzare l'ordine delle immagini recuperate

Migliorare il rendimento per gli utenti del Web

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

Aumento del numero massimo di richieste in parallelo

Quando utilizzi un visualizzatore basato sul Web, la maggior parte dei browser applica un numero massimo di connessioni per host. In genere questo numero è sei. Tuttavia, nella pratica non esiste alcuna limitazione al numero massimo di richieste contemporanee 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 contemporanee in base a un numero ottimale per il visualizzatore cambiando maxSimultaneousRequests durante la configurazione di Cornerstone.js.

Utilizzare i web worker

JavaScript è un linguaggio a thread singolo, pertanto devi prestare particolare attenzione quando applichi i pattern di contemporaneità. Puoi utilizzare i web worker per elaborare sia le immagini DICOM sia le richieste HTTP.

Ad esempio, se modifichi l'elaborazione delle richieste HTTP in Web worker, puoi raddoppiare efficacemente l'f/s del visualizzatore da 30 f/s a 60 f/s supponendo un overhead di elaborazione delle richieste di 30 millisecondi.