Esta página mostra as práticas recomendadas para melhorar o desempenho quando trabalha com dados DICOM na Cloud Healthcare API.
Maximizar os fotogramas por segundo (FPS) num visualizador de imagens
A ferramenta healthcare-imaging-performance-test fornece referências que lhe permitem pré-visualizar os FPS que pode esperar para um visualizador de imagens médicas DICOM que extrai dados da Cloud Healthcare API.
Enviar pedidos em simultâneo
Para o melhor desempenho de FPS, envie pedidos em simultâneo. Por exemplo, nas seguintes condições, pode melhorar os FPS de 30 para 60 quando passa de seis pedidos simultâneos para 20:
- Não usar compressão
- Quando os dados DICOM estão todos na mesma região
- Quando as imagens DICOM têm um tamanho de 0,5 MB
Obter frames num único pedido
Os métodos retrieveStudy
e retrieveSeries
devolvem eficientemente vários ficheiros DICOM num único pedido.
Com estes métodos, pode obter imagens à mesma taxa que usando um número ideal de pedidos simultâneos. Pode chamar estes métodos num único pedido em vez de usar pedidos simultâneos se as seguintes condições forem verdadeiras:
- O cliente pode armazenar todo o estudo na memória ou analisar a resposta como um fluxo para processar uma instância DICOM de cada vez
- Não precisa de personalizar a ordem das imagens obtidas
Melhorar o desempenho para visitantes da Web
As secções seguintes aplicam-se à obtenção de imagens DICOM quando usa um visualizador Web.
Aumentar o número máximo de pedidos simultâneos
Quando usa um visualizador baseado na Web, a maioria dos navegadores aplica um número máximo de ligações por anfitrião. Normalmente, este número é seis. No entanto, na prática, não existe restrição quanto ao número máximo de pedidos simultâneos porque:
- A maioria dos navegadores usa o HTTP/2 por predefinição se o servidor suportar o HTTP/2
- O HTTP/2 usa uma única ligação para todos os pedidos
Por exemplo, se usar Cornerstone.js
para criar um visualizador, pode modificar o número máximo de pedidos simultâneos
para um número ideal para o seu visualizador alterando maxSimultaneousRequests
ao configurar o Cornerstone.js.
Usar web workers
O JavaScript é uma linguagem de thread único, pelo que é preciso ter muito cuidado ao aplicar padrões de concorrência. Pode usar trabalhadores da Web para processar imagens DICOM e pedidos HTTP.
Por exemplo, se modificar o processamento de pedidos HTTP para trabalhadores Web, pode duplicar eficazmente os FPS do visitante de 30 FPS para 60 FPS, partindo do princípio de que existe um custo adicional de processamento de pedidos de 30 milissegundos.