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渲染。如果您有任何具体建议,请随时提出一个问题进行讨论。