3DsM ax软件用于人体软组织器官形变模拟的研究

2014-11-23 01:11卢虹冰
医疗卫生装备 2014年6期
关键词:赋值膀胱设置

杨 震,卢虹冰

0 引言

在现代医学日益发展的今天,三维可视化[1]和虚拟仿真[2]已经大量应用于临床医学以及医学研究领域。通过诸如计算机断层扫描(CT)、核磁共振成像(MRI)、正电子发射断层成像(PET)以及单光子发射断层成像(SPECT)等手段得到的连续断层图像,都是适合进行三维重建的有效医学图像[3]。对于软组织的研究工作,高度的非线性、非均匀的特点造成了对其形变分析的困难性。当前,国内已经对其方法进行了大量的研究工作,开发了诸如弹簧振子模型[4]、有限元模型[5]等方式。但这些方法都需要大量的内存来进行演算,计算速度慢,难以应用于临床医学研究。鉴于此,寻找一个精度高、计算速度快的模拟方式,就成为软组织性态分析工作的重点。

3DsMax作为一款动画软件,提供了一套完整的动力学系统和粒子系统,并且有着运算速度快、精确度高的优点。从其逼真的碰撞效果和精确的肌肉形变,我们看到了其动力学系统的真实性。如果将每个有限元节点看作一个粒子,直接套用进3DsMax的动力学系统,是否可以直接依靠这一款动画软件进行软组织形变的力学模拟分析并不确定。以下,我们将分3步来进行讨论。

1 方法

1.1 基于影像的3DsMax模型形变模拟原理

1.1.1 软组织器官三维形态的提取

基于患者影像进行分割提取后,获得相应软组织器官的三维形态模型[6-7],输入3DsMax。

1.1.2 节点区域的划分

依靠3DsMax动力学系统分析模拟软组织,即利用3DsMax软件,首先对软组织模型进行节点区域划分,优先区分出正常区域、病灶区域。根据器官性态进行节点区域细分,划出肌肉区域、皮肤区域、脂肪区域等。然后对各个区域的整体属性进行赋值,设置它的质量、刚度、阻尼、弹性、摩擦系数等。赋值完毕之后,即代表各区域有了该区域单独的属性特性。

1.1.3 节点间关系的设置

对节点区域内的关系进行调整,设置约束。同区域内,由于位置不同、受力先后等问题,必然会产生节点之间的力的关系。设置节点之间的关系链,力的继承顺序就是这一步骤的重点。将区域内的不同位置的节点加以划分,分出最关键的节点作为约束中心或者父级节点。根据父级节点的个数,依次设置下一级的子级节点,根据区域大小,可以调整至以小区域面片作为父级或约束中心,即3DsMax软件动力学功能系统中的附加至变形网格,以简化因设置的节点关系过多而造成的设置工作复杂化。

1.1.4 区域间关系的设置

对节点区域间的关系进行调整,设置约束。不同的区域间受力时会有相互的作用力,在设置好区域基础属性以及区域内关系后,就要详细地设置区域间的运算关系,从而达到真实模拟受力情况的效果。在区域间的关系设置上,可参照之前进行约束和子父级设置的步骤,对大小区域直接进行关系附加。这里需要注意的是,由于这些区域肯定是面片或者体模型的结构,所以,在附加约束时要注意全部按照附加到变形网格的方式进行。例如设置皮肤区域和脂肪区域之间的链接时,就以2个接触面作为约束的上下层关系进行附加操作(由于区域关系设置和节点关系设置使用的修改器和设置方法完全不同,虽然目的相同,但是却需要分开进行)。

1.1.5 软组织器官形变的仿真

我们在原模型的基础上得到一个有着内部受力关系的软组织器官模型。得到模型之后,就可以通过3DsMax的修改器对某个区域附加一个链接动画来直接在预览画面进行施力、挤压、形变的模拟演示。比如我们通过断层扫描重建了一个人体膀胱模型,为了模拟膀胱模型由于尿液充盈而造成的大小变化,将膀胱外壁链接至尿液模型上,就可以观察到膀胱在尿液充盈时的形状变化。

1.2 器官三维形态模型的有效文件选择

通过各种断层扫描得到的医学图像是需要进行三维重建的,重建之后可以输出成多种格式[8-9]。3DsMax可以读取的文件格式很多,除了自身默认的3Ds格式外,还支持包括OBJ、STL等十几种格式[10]。总结之后,包含节点信息的格式有如下几种:

(1)3D Studio 网格(3DS、PRJ),是 3DsMax 的基础格式,附带模型和灯光,但是不包含uv(即贴图在模型上的坐标)。

(2)Flight Studio OpenFlight(FLT),是视觉模拟的常用格式之一,可在OpenFlight中进行对象和属性的编辑。

(3)IGES(IGE、IGS、IGES),这个格式用于从 3Ds-Max中导入、导出NURBS(非均匀有理B样条曲线)对象。

(4)OBJ-importer(OBJ),这个文件格式支持导入模型的相关材质和贴图,同时支持uvw坐标,是单独保存模型的很不错的选择。

(5)stereolitho(STL),该文件是以 stereolithography的格式保存对象数据,其文件扩展名为“.STL”。它可以是ASCII-STL格式,也可以当作一类二进制STL格式。在导出3DsMax场景时,可以通过这种格式选择需要创建的对象。STL文件经常用于原型模型构筑。

我们可以选用STL文件或者OBJ文件作为模型格式,因为这2种格式的文件无论是在3D动画领域,还是在医学图像研究领域,都属于常见格式,有一定的广泛性。二者的不同在于,STL文件可以直接通过mimics得到,而OBJ文件则需要前期进一步依靠中间软件生成。对2种文件格式的3DsMax导入进行对比之后发现,STL文件无法直接使用3Ds-Max打开,需要从3DsMax的STL插件下进行导入,导入时间较长。导入后模型精度很高,对于需要精度高的模拟相对有利。导入之后的模型文件无法直接编辑,通过简单的“另存为……”操作,将原始的STL保存为3DS文件,再次打开即可显示为可编辑面片形式的模型文件。由于精度高,故而节点数量庞大,小的组织采用STL格式导入来进行模拟的精确程度很令人满意,而大的组织如果使用STL则会造成节点过多而加大前期区域节点关系赋予的工作强度,即降低了效率。

OBJ文件可以直接使用3DsMax打开,打开时间视模型的面数决定,越复杂的模型打开的时间越长,而基本上在20万面以下的模型,正常家用计算机都可以快速打开,打开的时间可忽略不计。OBJ文件在3DsMax中打开后,一般会显示为可编辑面片模型,通过3DsMax的修改器可以自由地转换为可编辑线模型或可编辑体模型,这点对于编辑、修改及属性赋值十分有利。在节点数目方面,OBJ文件的节点数目同样是前端在文件生成时确定的,在满足模型精度的前提下尽量地减少节点,可以使属性赋值的效率大大地提高。当然,相对于STL文件,OBJ文件的精度下降也是十分明显的。对于大体积的器官,OBJ文件则是大大提高模拟之前的分区、调整、赋值工作效率的最佳选择。

综上所述,通过CT、MRI、PET或者SPECT等方式得到医学断层扫描的图像之后,只需要通过matlab、mimics等相关系统进行三维重建并输出成STL格式文件或OBJ文件,就可以得到在3DsMax中可编辑、赋值并进行模拟分析的医学模型。所以,模型的来源是非常广泛并简单的。

2 人体膀胱的形变模拟

下面我们通过在3DsMax中对一个膀胱模型的简单模拟来对使用3DsMax软件进行力学模拟的方法加以简单阐述。

2.1 膀胱三维形态模型的建立

基于膀胱MRI成像,利用膀胱与尿液间的对比,提取膀胱壁的内外边界,建立三维模型并转化为OBJ文件,然后在3DsMax中打开膀胱的OBJ模型文件(如图1所示)。

图1 模型打开的初始状态

2.2 膀胱力学基础属性的赋值

选择reactor softbody(reactor软体)修改器并在选项卡中对其基础属性进行赋值(如图3所示),包括质量、强度、阻尼及摩擦力,并选择基于自由变形修改器(free form deformation,FFD)的性态。然后在stable configuration(稳定配置)中设置初始的稳定状态。对于复杂变形,可以选择由初始帧作为稳定状态,即第0帧。对于碰撞或受力变形的模拟,则需要对第二项选项卡,即constraints(约束)选项卡中设置约束对象,通常是刚体或另一网格。

图2 属性栏选择菜单界面

图3 软体修改器选项卡界面

在Editablemesh(可编辑网格)中选择vertex(顶点),可以看到模型将顶点标蓝(如图4所示)。

图4 膀胱模型可选择的节点

2.3 组织形变时各区域强度的设置

打开soft selection(软选择)选项卡,在模型中选择关键的节点范围后,调整falloff(衰减)的值来确定形变的影响强度。选择好关键节点之后,可以在各个预览视图看到模型呈红黄蓝渐变,红色为影响最大的点,蓝色为影响最小的点(如图5所示)。

图5 膀胱模型外层受力关系区域

这里需要特别说明一下,对于更为复杂的组织模型,则考虑采用刷权重的方式来进行影响力度的调整,比如骨骼对肌肉及脂肪的牵引造成的形变这类情况。

2.4 尿液的充盈

图6 尿液模型位置调整

之后回到膀胱模型的顶点选择中,在修改器中选择linked X form(动画关联),并将其付给之前选择的关键点(如图7所示),并在其选项卡下点击pick controlobject(选择控制物体)。由于之前的球体建立在膀胱模型内部,选择比较困难,我们可以通过单击图标,或者按H键在对象名称菜单选择刚才的球体(如图8所示)。

图7 动画关联选择选项卡

图8 模型元件选取菜单

关联性动画只是相对简单的形变模拟,更多复杂的组织形变模拟需要再加入附加变形网格约束、各种刚性约束、对象内属性调整等方式来改变模型本身的节点关系来完成,方法也是大同小异,只是在过程中多加入一些步骤。

2.5 组织形变的模拟

经过以上步骤,我们可以在预览窗口看到球体对于膀胱的形变影响的模拟。通过selectandmove或者selectand uniform scale(选择并放缩)这2个选项选择球体进行形变位移的方式,可以看到膀胱相应的部分形变和位移。以上就是基本的模拟方法,对于更加复杂的软组织器官,根据模拟原理,加入相应的修改器,设置正确的参数,即可获得相应的模拟效果,并可以通过关键帧动画来输出相应的视频。图9中的3幅图即为在不同的尿液充盈程度时膀胱的形变情况模拟。

图9 膀胱在不同尿液充盈程度的模拟

3 讨论

从上述例子可以看出,3DsMax软件对于软组织模拟是可行的,通过简单的赋值、节点关联,就可以模拟出理想的形态变化。但是这个“简单”仅仅对于性质较为均匀、可近似看作均匀介质组成的物体,或者相对性质接近线性变化的物体。对于介质组成较为复杂的、性态变化非线性的器官、组织或者物体,就需要通过大量的节点属性赋值、子父级关联性功能较完善、性能可靠、自我保障能力强的洁净方舱,可以尽快将“急救平台前移”,最大限度地减少“事故”人员死亡,降低伤残程度;另外,对于完善我国应急医疗急救系统,提高我国医疗急救水平,带动地区医疗设备研发是非常必要的。

[1] 徐如祥.地震灾害医学——汶川特大地震回顾与经验总结[M].北京:人民军医出版社,2009.

[2] 董淑芸,涂光备,曹荣光.手术感染的概况及预防措施[J].洁净与空调技术,2007(1):35-39.

[3] 朱明杰,徐文华.关于洁净手术局部压力控制的讨论[J].洁净与空调技术,2007(1):22-25.

[4] 谭树林,赵秀国,段德光,等.武警方舱医院研究与设计[J].医疗卫生装备,2012,33(11):75-77.

[5] GB 50333—2002 医院洁净手术部建筑技术规范[S].

[6] GB 50751—2012 医用气体工程技术规范[S].

[7] 孙景工,赵秀国,谭树林,等.医用洁净手术车的研究与设计[J].中国医学装备,2012,9(1):2-4.

[8] 郭新,安军防,黄咏梅.野战方舱医院在玉树抗震救灾中的应用[J].解放军医院管理杂志,2011(7):653-654.

[9] 都定元,孔令文,赵兴吉,等.移动监护与急救手术前移在严重胸部创伤急救中的应用[J].中华创伤杂志,2009,25(2):107-111.

[10] 侯世科,樊毫军.移动医院的创建及其在国际救援中的应用[J].中国急救复苏与灾害医学杂志,2007,2(2):82-84.

猜你喜欢
赋值膀胱设置
便携式膀胱扫描仪结合间歇性导尿术在脑卒中合并神经源性膀胱患者中的应用
中队岗位该如何设置
船舶防火结构及设置的缺陷与整改
膀胱镜的功与过
强赋值幺半群上的加权Mealy机与加权Moore机的关系*
优质护理在预防全膀胱切除术回肠代膀胱术后并发症中的效果观察
算法框图问题中的易错点
利用赋值法解决抽象函数相关问题オ
中俄临床医学专业课程设置的比较与思考
学生为什么“懂而不会”