4.0 迁移指南
这里是 4.0 版本的各项迁移指南。
相机视野的变化
4.x 中影像在视口里会铺满边缘,不再有 3.x 时那 10% 的留白。本文说明前后的视觉差异、如何用 useLegacyCameraFOV 配置恢复旧行为,以及做这项改动的原因。
动态体数据 API 的变化
4.x 中基于时间点(timepoint)的动态体数据 API 已被移除,改用基于维度组(dimension group)的 API。本文列出被移除的属性、方法与事件,给出逐项的前后对照,并特别提醒维度组编号是从 1 开始的、而旧的 timePointIndex 是从 0 开始的。
beforeSend 回调改为异步
4.x 中 dicomImageLoader 的 beforeSend 回调从同步改为异步,现在返回 Promise。本文给出签名的前后对比、如何把既有同步回调包成 Promise、如何借此在回调中做异步取 token 等操作,以及相关注意事项。
工具统一使用 label 而非 text
4.x 中所有工具统一使用 annotation.data.label,不再使用 annotation.data.text。此前箭头标注、标签和关键图像工具混用这两个字段,导致显示值不一致。本文说明需要改什么,以及 addNewAnnotation 为何应改为调用 createAnnotation。
升级到 Node.js 20
Cornerstone3D 4.x 要求 Node.js 20 或更高版本,此前的要求是 Node.js 18。本文给出用 nvm 升级本地 Node 版本的命令,以及 package.json 中 engines 字段的写法。
渲染引擎的视口访问器
RenderingEngine 的 getStackViewport、getStackViewports、getVolumeViewports 已被移除。改用 getViewport / getViewports 配合能力守卫来筛选。本文说明为何这样改动,并给出三个被移除访问器各自的迁移写法与新增的全部能力守卫。