典型的计算机辅助设计(CAD)方法是使用样条线、三角形或其他基本形状描述表面,但很多物体(如生物结构、遗留部件或泡沫)是没有可用的 CAD 描述。获得这些结构拓扑模型最简单的方式是通过自动化方法进行三维体积或表面采集,例如表面扫描仪或 3D 成像模式。表面扫描仪通常生成物体表面的点云或 STL(表面三角化)描述,STL 模型可以导入 Simpleware 软件中。3D 体积成像(如使用 CT、MRI 或超声技术)通过提供放置在结构化网格上的点处测得的强度值生成物体的数字描述。这些点位于连续但不重叠的立方体(体素)中心,构成位图数据的基础,可用于划分扫描空间。
以前对扫描结构进行网格划分的方法是需要先将位图数据转换为 CAD 描述,结构简单的情况下还算可行,但对于复杂或多部件结构来说却会很棘手。Simpleware 采用的方法有所不同,绕过了对 CAD 描述的转换,直接从位图数据中划分网格,这是一种更加强大和自动化的方法。
数据尺寸可以通过它包含的像素/体素数值表示,也可以用它所代表的物理尺寸表示。Simpleware 中默认使用的距离单位为 mm。
尽管体素是结构化的,但体素网格不必是各向同性。将间距定义为体素在各个方向(X、Y 和 Z)上的边长,必须在整个体积中保持一致。
软件中使用 Background images(背景图像)指代图像体积灰度数据(如 CT、MRI 数据)。由背景图像分割得到的一个或多个体积称之为 Mask(掩膜),描述特定物体在背景图像中的位置。理想情况下,每个感兴趣的物体都应该由一个单独的掩膜表示。在 Simpleware 中可以对这些掩膜进行处理、修改和应用滤波器。经过处理后的掩膜通常将转换为 3D 打印用面网格模型和 FE/CFD 分析用体积网格模型。
通过复制原始输入数据,可以在 Simpleware 中生成多个背景图像,并且可以单独对这些图像应用滤波器。
尽管 Simpleware 中的掩膜不是二进制,但可以认为它们包含图像中每个体素的二进制构件(0 或 1),其中 1 表示体素属于掩膜所表示的对象,0 则表示像素不属于该对象。
以下为一个背景图像的示例,在分割过程中已创建 4 个掩膜。
通常,从图像到模型生成的过程中,大部分时间都用于分割,即识别每个体素属于哪个物体的过程。以下示例展示模型生成过程中的不同步骤。
除了位图数据外,用户可以利用表面工具在 Simpleware 环境中同时处理图像数据和 CAD、STL 面模型。创建模型时可以同时使用 CAD 部件和位图数据,比如将 CAD 医用植入物结合在由 CT 扫描数据创建的解剖结构模型中。Masks(掩膜)和 Surfaces(面模型)是 Simpleware 中不同类型的对象。
有时需要对面模型进行更改,但通过 Surface tools 工具无法实现。在这种情况下,可以将面模型转换为掩膜,然后使用 Image processing 工具处理。同样地,也可以将掩膜转换为面模型。转换用到的工具分别为 Surface to mask 和 Mask to surface。Simpleware 还可以使用 Volume mesh to surface 工具将导入的体积网格模型转换为面模型,然后利用 Surface tools 工具处理模型。
Multi-label masks(多标签掩膜)旨在以交互方式可视化和分析包含多个区域的掩膜。可以通过多种方式创建,如在掩膜中标注未连接区域或者将多个掩膜整合为一个单独的多标签掩膜。使用 Multi-label tools 工具为掩膜分配标签,每个不同的区域都用单独的标签和颜色表示。根据不同的度量如体素计数或表面积等分配颜色,并在 Mask label editor 工具面板选择可视化设置。
多标签掩膜可以包含在模型中,并以与传统掩膜相同的方式进行网格划分,但有许多图像处理操作需要先将其转换为常规掩膜。
Simpleware 中采用两种方法进行 3D 可视化,即 surface rendering(面渲染)和 volume rendering(体积渲染)。面渲染仅用于可视化分割的掩膜,从掩膜数据中提取等值面并用面网格渲染。Fast preview、Model preview 和 Full model 工具均产生的是面渲染。体积渲染用于可视化背景图像(Background volume rendering)或掩膜聚集(Live 3D)。背景图像的体积渲染通过定义灰度值对不透明度和颜色的映射函数实现,每个体素都使用其分配的不透明度和颜色进行渲染。
Simpleware 项目文件的扩展名为 *.sip,包含信息: