DICOM 最佳做法

本頁面說明在 Cloud Healthcare API 中使用 DICOM 資料時,可改善效能的最佳做法。

在影像檢視器中盡量提高每秒畫格數 (FPS)

healthcare-imaging-performance-test 工具提供基準,讓您預覽 DICOM 醫療影像檢視器從 Cloud Healthcare API 擷取資料時,可預期的 FPS。

並行傳送要求

為獲得最佳 FPS 效能,請同時傳送要求。舉例來說,在下列條件下,如果並行要求從 6 個增加到 20 個,FPS 可以從 30 FPS 提升到 60 FPS:

  • 不使用壓縮功能
  • DICOM 資料都位於同一個區域
  • DICOM 圖片的大小為 0.5 MB

在單一要求中擷取影格

retrieveStudyretrieveSeries 方法可在單一要求中有效率地傳回多個 DICOM 檔案。使用這些方法,您可以以與使用最佳並行要求數量相同的速度擷取圖片。如果符合下列情況,您可以在單一要求中呼叫這些方法,而非使用並行要求:

  • 用戶端可以將整個研究儲存在記憶體中,或是將回應解析為串流,一次處理一個 DICOM 例項
  • 您不需要自訂擷取圖片的順序

改善網頁觀眾的成效

以下各節說明如何在使用網路檢視器時擷取 DICOM 影像。

提高並行要求數量上限

使用網路檢視器時,大多數瀏覽器都會強制執行每個主機的連線上限。這個數字通常為六。不過,實際上並行要求數量沒有上限,因為:

  • 如果伺服器支援 HTTP/2,大多數瀏覽器都會預設使用 HTTP/2
  • HTTP/2 會為所有要求使用單一連線

舉例來說,如果您使用 Cornerstone.js 建構檢視器,可以在設定 Cornerstone.js 時變更 maxSimultaneousRequests,將並行要求的最大數量修改為最適合檢視器的數量。

使用 Web Workers

JavaScript 是單執行緒語言,因此在套用並行模式時,必須格外小心。您可以使用網路工作者來處理 DICOM 圖片和 HTTP 要求。

舉例來說,如果您將 HTTP 要求處理作業修改為網頁工作項,假設要求處理額外負擔為 30 毫秒,您就能有效將觀看者的 FPS 從 30 FPS 提高至 60 FPS。