cornerstone3D介绍
概述
cornerstone3D
是一个轻量级 Javascript 库,用于在支持 HTML5 canvas 元素的现代 Web 浏览器中可视化医学图像
特性
- 符合标注DICOM:强大的 DICOM 解析。支持 DICOMweb 和所有开箱即用的传输语法。
- 高性能渲染:高性能 GPU 加速图像显示。多线程图像解码。渐进式数据流。
- 模块化设计:采用模块化设计。轻松创建您自己的工具和图像加载器。
渲染
使用新的渲染引擎及其 Stack(二维序列)
和 Volume(三维体数据)
视口
- 渲染所有传输语法,包括各种压缩格式,如 JPEG2000、JPEG 无损
- 流式传输卷的切片,并在加载时实时查看它们
- 以不同方向(如轴向、矢状和冠状面)查看同一卷,而无需再次重新加载整个卷(最小内存占用)
- 查看体积块中的倾斜切片
- 渲染同一体积的不同混合(例如 MIP(最大强度投影)和平均强度投影)
- 融合和叠加多个图像,例如 PET/CT 融合
- 渲染彩色图像并将其渲染为体积
- 当 GPU 渲染不可用时,回退到 CPU 渲染
- 通过修改视区的元数据(例如像素间距)来更改图像的校准
操纵
通过Cornerstone3DTools
启用
- 使用鼠标绑定放大和缩小图像
- 向任意方向平移图像
- 以任何方向滚动图像,即使是倾斜切片
- 更改图像的窗口级别
注解
Cornerstone3DTools
还支持使用工具对图像进行注释。所有注释都是 呈现为 SVG 元素,确保它们以最佳质量显示 在任何显示器分辨率下。中的注释被存储 在图像的实际物理空间中,允许您在多个视口中渲染/修改相同的注释
- 使用 ToolGroups 在某些视口上激活某些工具(例如,在滚动时激活 CT 轴向视口上的切片滚动,但激活 PT MIP 视口的体积旋转)
- 使用长度工具测量两点之间的距离
- 使用双向线工具测量长度和宽度
- 使用 Rectangle/Elliptical ROI Tool 计算统计数据,例如感兴趣区域的平均值、标准差
- 使用十字光标在不同视区的图像中查找相应的点,并使用参考线导航切片
- 在按住特定修改键(例如 shift、ctrl、alt)时指定要激活的不同工具
- 创建您自己的自定义工具
分割
Cornerstone3D
支持在所有视区(包括堆栈、体积和 3D)中将图像分割渲染为标签映射。
- 在视区中将分割渲染为标签映射(例如 CT 肺的分割)
- 将标签贴图转换为 3D 视窗中的曲面并应用相同的颜色。
- 查看任何方向的分割(例如轴向、矢状、冠状),甚至在斜切片中
- 更改 labelmap 配置(例如颜色、不透明度、轮廓渲染、轮廓粗细等)
- 使用剪刀工具(如矩形、椭圆剪刀)在 3D 轴向、矢状、冠状中编辑/绘制线段
- 将特定阈值应用于感兴趣区域的标签映射
同步
Cornerstone3D
支持多个视口之间的同步。
- WindowLevel synchronizer:同步源视口和目标视口的窗口级别
- Camera synchronizer:同步源视口和目标视口的摄像机
版本对比
Cornerstone3D
与 Cornerstone(2D版本)
的核心差异主要体现在三维医学影像处理能力和架构设计上
- Cornerstone3D 专为三维医学影像(如CT/MRI体数据)设计,支持多平面重建(MPR)、体渲染(VR)等三维操作,ornerstone(2D)仅支持二维切片浏览,无法处理复杂三维场景
- Cornerstone3D 支持DICOM序列、NIfTI等三维格式的直接加载,2D版本主要处理单张DICOM图像或二维序列
- ornerstone3D 使用WebGL 2.0和GPU加速,优化体数据渲染性能,2D版本基于Canvas 2D渲染,适合轻量级二维图像显示
- Cornerstone3D 提供可扩展的工具接口(如注释类、分割类工具),支持自定义三维交互,2D版本工具链相对简单,聚焦基础操作(缩放、平移)