前行之路
大约两年前,我们第一次设计 Cornerstone3D 的分割架构时,做了一个看起来很自然的选择: 把分割当作绑定在工具组上的工具。这套架构支撑了我们很长一段时间, 也推动了无数医学影像应用。就我们当时的认知而言,它是行得通的。 但随着我们不断拓展医学影像可视化的边界,开始撞上一些无法再忽视的限制。
我们逐渐意识到:分割不只是工具——它们是核心数据结构, 理应在我们的可视化管线中被当作一等公民来对待。以工具组为中心的方式 虽然优雅而简单,却开始限制我们创新的能力。要支持那些进阶场景—— 例如曲面与体绘制、在不同视口中显示同一份分割的多种表示形式、 提供按视口定制的设置,甚至只是想在 MPR 布局中隐藏某个分割—— 在旧模型下都处处受限。
摆脱这个模型之后,我们意识到还可以把整套体素数据的处理方式也简化掉。 于是我们引入了 VoxelManager:这在内存效率和数据清晰度上是一次根本性的改变。 与笨重、占内存的标量数据数组不同,VoxelManager 采用了一种更聪明的、 以影像为单位的方式来管理堆栈和体数据的体素数据。现在不再是影像和体数据 各自分散地访问数据,而是只有一个唯一可信来源——它既降低了内存占用, 也让一切变得更顺畅、更直观。
有了新的以视口为中心的架构,我们打开了以往打不开的那些门—— 从复杂的「轮廓 + 标签图 + 曲面」渲染,到细粒度的、按视口控制的分割外观。 而现在借助 VoxelManager,我们也能更好地处理复杂数据, 提供使用者所需的精度与效率。
这份迁移指南会带你了解这些变化:不仅告诉你怎么更新代码, 也会告诉你如何用上这套新架构带来的新能力。往前走这条路可能需要一些适应, 但它通向一个更强大、更灵活、也更好维护的系统。
归根结底,我们选择的是进步,而不是省事——因为这条路并不总是最轻松的, 但它是唯一能让我们继续前行的路。
Alireza Sedghi, PhD
2024 年 10 月