Advanced
Image Cache
Cornerstone 將圖像存儲在Image Cache中,以跟蹤內存使用情況。
當Image Load Object中的Promise解析后,Cornerstone將生成的圖像存儲在圖像緩存模塊中的對象中。它被設置為用作最近最少使用(LRU)緩存。
最初,調用loadImage時,將為緩存的占位符填充緩存的圖像,該占位符的記錄大小為0。當跟蹤圖像加載的Promise解析后,記錄的大小將以字節為單位的實際大小進行更新。如果加載失敗,則從緩存中刪除占位符。
開發人員可以:
- 設置最大緩存大小,默認為1 GB(setMaximumSizeBytes)
- 手動清除所有圖像的緩存(purgeCache)
- 檢索緩存摘要(getCacheInfo)
- 更改記錄的特定圖像的緩存大小(changeImageIdCacheSize)
Enabled Element Layers
將圖層添加到Enabled Element 可以使Cornerstone顯示標簽圖並執行圖像融合。
在Enabled Element Layers API 允許開發者構建的復合組與Cornerstone圖像。
基本:
- Enabled Element 可以具有多個層。
- 每個圖層都類似於一個已啟用的元素-它們每個都有自己的Image 和Viewport,屏幕外渲染Canvas等...
- 一次只能激活一個圖層。
- 圖層具有可見性和不透明度的屬性,並且由圖層ID唯一引用
圖層處於活動狀態時:
- 圖層的Image位於enabledElement.image
- 圖層的Viewport位於enabledElement.viewport
這意味着setViewport和getViewport等典型功能適用於active layer。
層可以是:
- 添加(addLayer)
- 通過圖層ID分別檢索:getLayer
- 通過圖層ID分別刪除:removeLayer
附加功能:
- 可以檢索當前的活動層getActiveLayer
- 可以檢索所有層的數組:getLayers
- 可以檢索所有可見層的數組:getVisibleLayers
Modality LUT and VOI LUT
Cornerstone 同時支持Value of Interest(VOI)和Modality Lookup Tables
查找表定義從存儲的像素值到演示像素值的轉換。
基石支持線性和非線性VOI LUT。
Color Lookup Tables
開發人員可以定義自己的Color Lookup Tables,以顯示帶有錯誤顏色映射的灰度圖像。
WebGL Rendering Pipeline
Cornerstone支持可選的WebGL渲染管道以提高性能
Retrieving Pixel Data
Cornerstone支持從圖像中檢索存儲和轉換的像素
Legacy Browser Support
通過結合一些現代Web瀏覽器功能的polyfill,可以使Cornerstone支持舊版瀏覽器。
您可能需要為這些功能包括polyfill,具體取決於您定位的瀏覽器。
- 承諾表示異步操作的最終結果。這些由Image Loader使用。您需要添加Promises才能使用Internet Explorer 11。
這是MIT許可的輕量級Promise polyfill。
-
requestAnimationFrame是一種有效運行動畫的方法。我們目前正在自己的Cornerstone中檢查其可用性,但將來可能會刪除它。Paul Irish在這個要點中有很多requestAnimationFrame填充選項。
-
performance.now用於在Cornerstone中進行性能監視的高分辨率定時。目前,我們正在自己的Cornerstone中避免錯誤,但將來可能會消除此錯誤。這是一個Performance.now Polyfill。
-
WebGL在我們可選的高性能渲染路徑中用於硬件加速。WebGL 1.0得到很好的支持,但是在某些瀏覽器中可能仍然存在問題,這就是為什么默認情況下不啟用它。我們目前提供有關WebGL失敗的后備途徑,以便可以通過HTML5 Canvas API繼續進行渲染。
注意:可能還會有其他測試添加到核心代碼庫中,以觸發自動回退到Canvas渲染。如果您有任何具體建議,請隨時提出一個問題進行討論。
Integration With React
React Integration Example