本文应用面向对象编程技术开发了一个适用于医学物理研究的三维虚拟模体的设计软件。该软件命名为Magical Phantom(MPhantom),由三维可视化编辑模块和虚拟CT 扫描模块构成。用户使用MPhantom可以快捷的实现复杂3D虚拟模体的可视化设计,并且将虚拟模体输出为符合DICOM 3.0 协议的CT数据。MPhantom的模体设计功能和CT数据输出功能通过了实际的应用场景测试,是一个界面友好,功能强大的工具软件。该软件将极大的方便放射治疗中的蒙特卡罗剂量模拟以及X射线影像重建算法等的研究工作。
引用本文: 邹炼, 谢朝, 吴琦. 3D虚拟模体设计软件的开发. 生物医学工程学杂志, 2014, 31(1): 76-80. doi: 10.7507/1001-5515.20140015 复制
引言
模拟人体不同部位特征的仿真模体在医学物理领域中广泛应用,比如放疗新设备的临床应用前的验证,放疗新技术的研究,图像引导放疗设备的图像重建算法研究等[1-3]。标准的商业模体产品一般来讲比较昂贵,应用条件也很局限,在很多应用场合下不能满足我们的科研需求。医学物理研究人员研究了各种基于计算机的虚拟模体,并且在医学成像和放射治疗领域发挥着越来越重要的作用[4-9]。
基于计算机的虚拟模体一般可以分为两大类型:一类是体元化模体;另一类是基于数学公式的模体[10-11]。基于患者数据库分割得到的体元化模体有很强的逼真特征,但是它的可变性和运动特性不足[10]。基于数学公式的模体,很容易实现模体的运动特性和可变特性,但是因为数学公式的简化处理,其逼真特性会受到影响[4-5, 11]。本文的目的是建立一套基于模体元件的三维模体设计软件,并且提供一个友好的图形界面。本软件构建的虚拟模体综合了体元化模体和基于数学公式模体的优势即同时具备很好的逼真特性和可变特性(运动特性在4D模体中处理)。
1 材料与方法
本软件命名为Magical Phantom(MPhantom),主要的设计目标是:① 能方便地完成目标虚拟模体的可视化设计;② 模拟CT扫描的过程,产生虚拟模体的CT影像数据;③ 提供一个完整的用户友好的软件界面。MPhantom产生的CT 影像数据符合DICOM 3.0标准,可由任何支持DICOM 3.0 CT影像标准的软件读入以供完成后续研究工作[12]。
本软件采用面向对象编程方法,应用Python语言开发[13]。本软件完成虚拟模体设计的核心思想是:先创建各种基础模体元件,然后通过元件之间的布尔运算和空间组合最终实现复杂的虚拟模体设计。本软件根据创建虚拟模体和虚拟CT扫描的功能需求,把软件划分为两个任务模块:① 3D虚拟模体的可视化设计模块;② 虚拟CT 扫描模块。
1.1 虚拟模体设计模块
3 D可视化模体设计模块由以下几个部分构成:模体元件管理、模体元件几何数据产生、模体元件属性编辑、3D可视化。
本软件中通过树形列表的方式完成对模体元件的管理。组成模体的所有元件的名称都在树形列表中显示。在该列表中可以完成组成模体的元件添加,删除和保存成文件等操作。
模体元件由几何数据、物理材料以及可视化属性三部分构成。本软件有两种途径来产生元件的几何数据。对于简单几何形状,可以通过应用软件内部预定义的标准(立方体、圆柱体、球体、锥体等)几何体,通过三维变换的方式产生。对于非常复杂的几何形状,可以读入由外部3D 模型设计软件(比如Auto CAD、 Solid Works等)输出的STL格式文件来生成。元件的物理材料属性和可视化属性可以通过元件的属性编辑界面完成设置。通过属性编辑界面可以设置对应元件的名称、物理材料以及三维可视化参数等。为了方便完成多元件的布尔操作,在属性编辑器中需要对每个元件的优先级进行设置,一个多元件的重叠区域的取值与优先级最高的那个元件一致。
虚拟模体的三维可视化是该设计软件的一个重要特性,可以通过可视化功能实时的观察所设计的虚拟模体。用户能够自由设置元件的透明度,颜色等可视化属性,实现友好的用户控制。在可视化窗口内,可以按需调整观察角度,并且可以把选定观察视角下的虚拟模体效果图保存为常见的图片格式。
1.2 虚拟CT扫描模块
仿真模体在实际科研当中,一般都需要通过一台医用CT机对模体进行扫描,然后获得其CT影像。为了应用的方便性和工具的实用性,MPhantom提供了一个虚拟CT扫描的模块。通过虚拟CT扫描的模块,用户设计的虚拟模体可以直接转换成表示虚拟模体的三维CT图像。
在放射治疗的应用中,我们通常应用一个电子密度校准模体完成临床定位CT的CT值到电子密度的定标,获得一个CT值-电子密度映射表[14]。在治疗计划设计系统中,通过该映射表把定位CT扫描的患者三维CT数据转换为三维的电子密度分布数据,最后完成三维的剂量分布计算[15]。本文将逆向应用CT值-电子密度映射表,用于获得虚拟模体的三维CT图像。
为了应用的方便,本文所设置材料的电子密度都是相对于水的相对电子密度(是材料的电子密度与水的电子密度的比值)。图 1中展示了在我院CT扫描机上刻度得到的相对电子密度与CT值的映射曲线。一种材料对应一个电子密度值,换句话说就是对应一个相对于水的相对电子密度值。通过相对电子密度值与CT值映射曲线的应用,可以获得更接近于现实情况的CT数据来应用于科学研究。

表 1中列出了部分MPhantom内置材料的相对电子密度值。在虚拟CT扫描时,对于相对电子密度值没有在映射表中的材料,我们采用线性内差值算法处理,获得其相应的CT值。对于后续的研究工作来说,通过MPhantom获得的CT数据与通过CT机对仿真模体进行扫描获得的CT数据没有差异性。

为了实现更逼真的虚拟CT扫描,在应用MPhantom之前需要完成一个简单配置。首先把在临床定位CT上标定得到的电子密度-CT值映射表按照(相对电子密度值,CT值)的方式编辑在文本文件中,每一个数对占一行。然后把该文件放在MPhantom的虚拟CT机的文件夹下。虚拟CT机的文件夹下的每一个文件对应具体的某一台CT机,可以支持多台虚拟CT机运行。
虚拟CT扫描的时候,通过图形界面来完成虚拟CT机的选择,虚拟扫描参数(扫描的层厚,图像的平面分辨率)的设置。虚拟CT机扫描默认是HFS模式。通过这种处理,在虚拟模体中设置好与仿真模体材料一致的元件,通过虚拟CT机扫描得到的图像CT值将会与仿真模体通过真实医用CT扫描获得的图像CT值一致。
虚拟模体设计的三维坐标系(简称模体坐标系)与虚拟CT机的三维坐标系(简称CT坐标系)的对应关系是输出的虚拟CT图像与虚拟模体一致性的关健。本文通过引入一套患者坐标系来完成模体坐标系与CT坐标系的联接。CT扫描中默认是HFS模式,各横切面、冠状面、矢状面中的约定与临床应用的习惯一致。从模体坐标系的负z方向看过去,x正方向朝左边(对应患者的右边),y正方向朝上(对应患者的前方),z正方向为模体的头方向(对应患者的头方向)。
完成虚拟CT扫描之后,提供方便的图形界面选择虚拟CT影像的输出目标文件夹,同时设定DICOM 头信息相关的参数,完成符合DICOM3.0 标准的CT 影像的输出。
2 结果
2.1 标准商业模体
根据IAEA 1583号技术报告中参数,应用MPhantom 完成CIRS 公司的002LFC型号模体以及Modus 医疗仪器公司的Quasar模体的设计[16]。MPhantom中实现模体是上述标准模体的一个近似,精确参数上有所差异,但各部分的基本形态以及相对关系上非常相近。虚拟模体与真实标准模体之间的这种差异性不会影响到后续虚拟模体的应用。
图 2 中展示了002LFC型号模体的真实CT扫描的影像与MPhantom构建的相似模体的虚拟CT扫描的影像。两张图因窗宽窗位不同,在显示上亮度有些不同。

(a)模体医用CT扫描得到的断层图像;(b)MPhantom输出的CT断层图像
Figure2. 002LFC phantom(a) a transverse slice from real CT scanner; (b) a transverse slice from MPhantom
图 3 中展示了Quasar模体真实CT扫描的影像与MPhantom构建的相似模体的虚拟CT扫描的影像。MPhantom构建的模体中,特意将圆柱形的插件设置成不同材料,增加对比效果。左右两图的窗宽窗位也不同,所以显示亮度有差异。

(a)模体医用CT扫描得到的断层图像;(b)MPhantom输出的CT断层图像
Figure3. Quasar phantom(a) a transverse slice from real CT scanner; (b) a transverse slice from MPhantom
2.2 自定义的模体Lung 01
Lung 01 模体是由作者自己设计的一个胸部模体:由材料为肺组织的两椭球体代表左右两肺。左肺中的一个肿瘤组织密度的小椭球代表肺部肿瘤。一个水组织的椭柱代表胸廓。材料为骨组织的圆柱代表脊柱。
应用MPhantom 完成Lung 01号模体的设计,并把数据导出为CT 影像。利用四川大学奇林科技的放疗计划系统FonicsPlan导入CT数据,完成治疗计划设计。图 4中展示了Lung 01模体的肺部肿瘤附近的部分CT影像层面,以及导入到放疗计划系统中的结果。

(a) Lung 01 的CT 断层视图;(b) Lung 01 CT数据的治疗计划设计视图
Figure4. Phantom data imported by radiotherapy treatment planning system(a) Lung 01 showed in CT slices view; (b) Lung 01 showed in planning view
3 结论
本文实现了一套基于模体元件的三维虚拟模体的设计软件。以上结果表明,MPhantom通过组合各种的元件可以完成包括近似标准商业模体的设计以及用户自定义模体的设计。MPhantom不仅仅拥有强大的模体设计功能,而且还能够把设计好的虚拟模体方便的转换成符合DICOM 3.0标准的CT图像,而且是非常接近真实情况的CT图像。MPhantom生成的CT数据能够导入到Xio 4.6.4 版本TPS以及FonicsPlan TPS中。MPhantom通过了实际的应用情景验证,达到了设计要求。
MPhantom内置有标准STL文件读入接口,可以读入由商业三维CAD软件输出的标准STL文件作为模体设计的元件。通过该功能可以实现模体元件的高度逼真特性,从而保证设计出的虚拟模体具有高度逼真特性。MPhantom对模体元件的三维变换可以实现对模体元件沿笛卡尔坐标系的各轴方向缩放和与其他相邻元件的相对位移和旋转,从而保证设计出来的虚拟模体具有高度可变特性。应用MPhantom设计出的基于模型元件的三维虚拟模体同时具备体元化模体和基于数学公式的模体的优势特征即同时具备很好的逼真特性和可变特性。
MPhantom不仅仅是一个强大的模体设计工具,而且能够通过虚拟CT扫描功能把设计出的模体直接输出为符合DICOM 3.0的CT影像。任何支持DICOM 3.0标准的科研软件都可以方便的应用MPhantom的输出结果,极大的方便了医学物理研究人员。
本文创新性的提出基于模体元件的虚拟模体设计方法,并且开发了MPhantom模体设计工具。该工具能帮助用户设计出满足独特需求的三维虚拟模体,并且直接输出符合DICOM 3.0 标准的CT影像数据。该工具将在医学影像算法研究和新的放射治疗新技术的前期研究中起到非常重要的作用,比如CT的图像重建算法的研究,应用4D模体的4D 计划设计的研究,基于蒙特卡罗方法的剂量模拟研究等。当然,三维虚拟模体并不能完全替代实在的标准模体产品,特别是对于需要实际剂量测量的应用场合。虚拟模体的应用应取决于实际的工作需要。
本软件目前的版本为1.0 发布版,目前只能支持固定的三维模型的设计。在MPhantom中,对模型元件的属性编辑添加形变力场编辑和运动轨迹编辑就可以方便的实现可形变模体和4D模体的设计。MPhantom的下一步工作将添加3D可形变模体的设计功能,4D虚拟模体设计和4D虚拟CT扫描的功能。
引言
模拟人体不同部位特征的仿真模体在医学物理领域中广泛应用,比如放疗新设备的临床应用前的验证,放疗新技术的研究,图像引导放疗设备的图像重建算法研究等[1-3]。标准的商业模体产品一般来讲比较昂贵,应用条件也很局限,在很多应用场合下不能满足我们的科研需求。医学物理研究人员研究了各种基于计算机的虚拟模体,并且在医学成像和放射治疗领域发挥着越来越重要的作用[4-9]。
基于计算机的虚拟模体一般可以分为两大类型:一类是体元化模体;另一类是基于数学公式的模体[10-11]。基于患者数据库分割得到的体元化模体有很强的逼真特征,但是它的可变性和运动特性不足[10]。基于数学公式的模体,很容易实现模体的运动特性和可变特性,但是因为数学公式的简化处理,其逼真特性会受到影响[4-5, 11]。本文的目的是建立一套基于模体元件的三维模体设计软件,并且提供一个友好的图形界面。本软件构建的虚拟模体综合了体元化模体和基于数学公式模体的优势即同时具备很好的逼真特性和可变特性(运动特性在4D模体中处理)。
1 材料与方法
本软件命名为Magical Phantom(MPhantom),主要的设计目标是:① 能方便地完成目标虚拟模体的可视化设计;② 模拟CT扫描的过程,产生虚拟模体的CT影像数据;③ 提供一个完整的用户友好的软件界面。MPhantom产生的CT 影像数据符合DICOM 3.0标准,可由任何支持DICOM 3.0 CT影像标准的软件读入以供完成后续研究工作[12]。
本软件采用面向对象编程方法,应用Python语言开发[13]。本软件完成虚拟模体设计的核心思想是:先创建各种基础模体元件,然后通过元件之间的布尔运算和空间组合最终实现复杂的虚拟模体设计。本软件根据创建虚拟模体和虚拟CT扫描的功能需求,把软件划分为两个任务模块:① 3D虚拟模体的可视化设计模块;② 虚拟CT 扫描模块。
1.1 虚拟模体设计模块
3 D可视化模体设计模块由以下几个部分构成:模体元件管理、模体元件几何数据产生、模体元件属性编辑、3D可视化。
本软件中通过树形列表的方式完成对模体元件的管理。组成模体的所有元件的名称都在树形列表中显示。在该列表中可以完成组成模体的元件添加,删除和保存成文件等操作。
模体元件由几何数据、物理材料以及可视化属性三部分构成。本软件有两种途径来产生元件的几何数据。对于简单几何形状,可以通过应用软件内部预定义的标准(立方体、圆柱体、球体、锥体等)几何体,通过三维变换的方式产生。对于非常复杂的几何形状,可以读入由外部3D 模型设计软件(比如Auto CAD、 Solid Works等)输出的STL格式文件来生成。元件的物理材料属性和可视化属性可以通过元件的属性编辑界面完成设置。通过属性编辑界面可以设置对应元件的名称、物理材料以及三维可视化参数等。为了方便完成多元件的布尔操作,在属性编辑器中需要对每个元件的优先级进行设置,一个多元件的重叠区域的取值与优先级最高的那个元件一致。
虚拟模体的三维可视化是该设计软件的一个重要特性,可以通过可视化功能实时的观察所设计的虚拟模体。用户能够自由设置元件的透明度,颜色等可视化属性,实现友好的用户控制。在可视化窗口内,可以按需调整观察角度,并且可以把选定观察视角下的虚拟模体效果图保存为常见的图片格式。
1.2 虚拟CT扫描模块
仿真模体在实际科研当中,一般都需要通过一台医用CT机对模体进行扫描,然后获得其CT影像。为了应用的方便性和工具的实用性,MPhantom提供了一个虚拟CT扫描的模块。通过虚拟CT扫描的模块,用户设计的虚拟模体可以直接转换成表示虚拟模体的三维CT图像。
在放射治疗的应用中,我们通常应用一个电子密度校准模体完成临床定位CT的CT值到电子密度的定标,获得一个CT值-电子密度映射表[14]。在治疗计划设计系统中,通过该映射表把定位CT扫描的患者三维CT数据转换为三维的电子密度分布数据,最后完成三维的剂量分布计算[15]。本文将逆向应用CT值-电子密度映射表,用于获得虚拟模体的三维CT图像。
为了应用的方便,本文所设置材料的电子密度都是相对于水的相对电子密度(是材料的电子密度与水的电子密度的比值)。图 1中展示了在我院CT扫描机上刻度得到的相对电子密度与CT值的映射曲线。一种材料对应一个电子密度值,换句话说就是对应一个相对于水的相对电子密度值。通过相对电子密度值与CT值映射曲线的应用,可以获得更接近于现实情况的CT数据来应用于科学研究。

表 1中列出了部分MPhantom内置材料的相对电子密度值。在虚拟CT扫描时,对于相对电子密度值没有在映射表中的材料,我们采用线性内差值算法处理,获得其相应的CT值。对于后续的研究工作来说,通过MPhantom获得的CT数据与通过CT机对仿真模体进行扫描获得的CT数据没有差异性。

为了实现更逼真的虚拟CT扫描,在应用MPhantom之前需要完成一个简单配置。首先把在临床定位CT上标定得到的电子密度-CT值映射表按照(相对电子密度值,CT值)的方式编辑在文本文件中,每一个数对占一行。然后把该文件放在MPhantom的虚拟CT机的文件夹下。虚拟CT机的文件夹下的每一个文件对应具体的某一台CT机,可以支持多台虚拟CT机运行。
虚拟CT扫描的时候,通过图形界面来完成虚拟CT机的选择,虚拟扫描参数(扫描的层厚,图像的平面分辨率)的设置。虚拟CT机扫描默认是HFS模式。通过这种处理,在虚拟模体中设置好与仿真模体材料一致的元件,通过虚拟CT机扫描得到的图像CT值将会与仿真模体通过真实医用CT扫描获得的图像CT值一致。
虚拟模体设计的三维坐标系(简称模体坐标系)与虚拟CT机的三维坐标系(简称CT坐标系)的对应关系是输出的虚拟CT图像与虚拟模体一致性的关健。本文通过引入一套患者坐标系来完成模体坐标系与CT坐标系的联接。CT扫描中默认是HFS模式,各横切面、冠状面、矢状面中的约定与临床应用的习惯一致。从模体坐标系的负z方向看过去,x正方向朝左边(对应患者的右边),y正方向朝上(对应患者的前方),z正方向为模体的头方向(对应患者的头方向)。
完成虚拟CT扫描之后,提供方便的图形界面选择虚拟CT影像的输出目标文件夹,同时设定DICOM 头信息相关的参数,完成符合DICOM3.0 标准的CT 影像的输出。
2 结果
2.1 标准商业模体
根据IAEA 1583号技术报告中参数,应用MPhantom 完成CIRS 公司的002LFC型号模体以及Modus 医疗仪器公司的Quasar模体的设计[16]。MPhantom中实现模体是上述标准模体的一个近似,精确参数上有所差异,但各部分的基本形态以及相对关系上非常相近。虚拟模体与真实标准模体之间的这种差异性不会影响到后续虚拟模体的应用。
图 2 中展示了002LFC型号模体的真实CT扫描的影像与MPhantom构建的相似模体的虚拟CT扫描的影像。两张图因窗宽窗位不同,在显示上亮度有些不同。

(a)模体医用CT扫描得到的断层图像;(b)MPhantom输出的CT断层图像
Figure2. 002LFC phantom(a) a transverse slice from real CT scanner; (b) a transverse slice from MPhantom
图 3 中展示了Quasar模体真实CT扫描的影像与MPhantom构建的相似模体的虚拟CT扫描的影像。MPhantom构建的模体中,特意将圆柱形的插件设置成不同材料,增加对比效果。左右两图的窗宽窗位也不同,所以显示亮度有差异。

(a)模体医用CT扫描得到的断层图像;(b)MPhantom输出的CT断层图像
Figure3. Quasar phantom(a) a transverse slice from real CT scanner; (b) a transverse slice from MPhantom
2.2 自定义的模体Lung 01
Lung 01 模体是由作者自己设计的一个胸部模体:由材料为肺组织的两椭球体代表左右两肺。左肺中的一个肿瘤组织密度的小椭球代表肺部肿瘤。一个水组织的椭柱代表胸廓。材料为骨组织的圆柱代表脊柱。
应用MPhantom 完成Lung 01号模体的设计,并把数据导出为CT 影像。利用四川大学奇林科技的放疗计划系统FonicsPlan导入CT数据,完成治疗计划设计。图 4中展示了Lung 01模体的肺部肿瘤附近的部分CT影像层面,以及导入到放疗计划系统中的结果。

(a) Lung 01 的CT 断层视图;(b) Lung 01 CT数据的治疗计划设计视图
Figure4. Phantom data imported by radiotherapy treatment planning system(a) Lung 01 showed in CT slices view; (b) Lung 01 showed in planning view
3 结论
本文实现了一套基于模体元件的三维虚拟模体的设计软件。以上结果表明,MPhantom通过组合各种的元件可以完成包括近似标准商业模体的设计以及用户自定义模体的设计。MPhantom不仅仅拥有强大的模体设计功能,而且还能够把设计好的虚拟模体方便的转换成符合DICOM 3.0标准的CT图像,而且是非常接近真实情况的CT图像。MPhantom生成的CT数据能够导入到Xio 4.6.4 版本TPS以及FonicsPlan TPS中。MPhantom通过了实际的应用情景验证,达到了设计要求。
MPhantom内置有标准STL文件读入接口,可以读入由商业三维CAD软件输出的标准STL文件作为模体设计的元件。通过该功能可以实现模体元件的高度逼真特性,从而保证设计出的虚拟模体具有高度逼真特性。MPhantom对模体元件的三维变换可以实现对模体元件沿笛卡尔坐标系的各轴方向缩放和与其他相邻元件的相对位移和旋转,从而保证设计出来的虚拟模体具有高度可变特性。应用MPhantom设计出的基于模型元件的三维虚拟模体同时具备体元化模体和基于数学公式的模体的优势特征即同时具备很好的逼真特性和可变特性。
MPhantom不仅仅是一个强大的模体设计工具,而且能够通过虚拟CT扫描功能把设计出的模体直接输出为符合DICOM 3.0的CT影像。任何支持DICOM 3.0标准的科研软件都可以方便的应用MPhantom的输出结果,极大的方便了医学物理研究人员。
本文创新性的提出基于模体元件的虚拟模体设计方法,并且开发了MPhantom模体设计工具。该工具能帮助用户设计出满足独特需求的三维虚拟模体,并且直接输出符合DICOM 3.0 标准的CT影像数据。该工具将在医学影像算法研究和新的放射治疗新技术的前期研究中起到非常重要的作用,比如CT的图像重建算法的研究,应用4D模体的4D 计划设计的研究,基于蒙特卡罗方法的剂量模拟研究等。当然,三维虚拟模体并不能完全替代实在的标准模体产品,特别是对于需要实际剂量测量的应用场合。虚拟模体的应用应取决于实际的工作需要。
本软件目前的版本为1.0 发布版,目前只能支持固定的三维模型的设计。在MPhantom中,对模型元件的属性编辑添加形变力场编辑和运动轨迹编辑就可以方便的实现可形变模体和4D模体的设计。MPhantom的下一步工作将添加3D可形变模体的设计功能,4D虚拟模体设计和4D虚拟CT扫描的功能。