APP下载

下肢骨畸形在线辅助诊断仿真系统①

2021-10-11栾吉山赵相伟崔维顶

计算机系统应用 2021年9期
关键词:三维重建畸形浏览器

栾吉山,赵相伟,崔维顶,冯 康,吴 博

1(山东科技大学 山东省基础地理信息与数字化技术重点实验室,青岛 266590)

2(南京医科大学第一附属医院 骨科,南京 210029)

随着互联网的发展和时代的进步,计算机技术被广泛应用于医学,因为网络的便捷和普及,以浏览器为基础的网络技术得到了发展,在大量软件应用设计中,客户端/服务器(Client/Server,C/S)逐渐不再满足需要,浏览器/服务器(Browser/Server,B/S)结构得到了人们的青睐[1].现有的Mimics 等医疗软件不仅需要安装应用程序,而且操作也十分麻烦.Web 应用因为其无需安装并且更新维护方便的特点,吸引了越来越多的学者的注意,设计了许多基于Web的医学可视化系统.如李伟波等人开发了医学图像处理系统,实现在线提交、在线阅览[2];李炜等人为医疗措施不完善地区开发了一对一远程医疗系统,实现病患远程会诊[3];黄志峰等人基于Node.js 技术开发了病理对照检索系统[4];陈哲等人开发了医学图像半自动标注系统,解决了手工标注劳动强度大的问题[5];汤超、王常坤等人开发了阅片系统[6,7];Jong 等人开发了收集血压和心脏病例的Web 系统用于跟踪用户的健康状况[8];陈欣等人开发了具有三维可视化功能的电子书签系统,辅助影像诊断[9];聂泽花等人开发了影像存储共享系统,实现临床示教过程中影像的快速共享[10];Rybarczyk 等人开发了动作矫正平台用来指导髋关节置换术后患者的康复训练[11];万兵等人开发了医疗影像共享平台[12];何滋鱼、董默、刘兆明等人开发了三维重建系统,实现模型的三维重建[13-15];Popescu 等人开发了骨科协作平台用于为用户提供指南和信息共享[16].但这些系统并不是专门针对于下肢骨畸形问题,无法满足下肢骨畸形手术辅助诊断的需要.

为了达到对下肢骨畸形手术提供辅助作用的目的,设计了一种基于开源架构的下肢骨畸形在线辅助诊断仿真系统.该系统主要由3 部分构成,包括浏览器、服务器和后台处理程序.

1 需求分析

当前医生诊断时所采用的辅助系统大多数是一些二维影像浏览平台,辅助功能极其有限.首先,二维影像无法让我们从整体上观察和分析双下肢各骨骼的相对空间关系;其次,从图像上无法实现多角度观察和分析畸形部位的特征和空间位置关系;最后,图像中包含的细节信息医生也无法完全掌握.

为了满足辅助医生诊断的需要,本文设计的基于开源架构的下肢骨畸形在线辅助诊断仿真系统,需要构建下肢骨三维重建模块,以取代Mimics 等繁琐、费时的商业软件,为医生提供用于三维分析的股骨、胫骨和腓骨精细模型;需要构建人工关节模块,以满足关节置换等手术的需要;需要构建包括测量工具、细节查看、精确定位等在内的多种影像观察与辅助诊断工具,以满足畸形部位定性定量需要;需要建立信息管理模块,以完成DICOM 影像和三维模型信息的存储,便于医生随时在线查看病例资料,便于病情的追踪.

2 系统设计

2.1 总体设计

本系统以为下肢骨畸形诊断与手术规划提供辅助支持为重点,总体框架如图1所示,包括用户层、前端表现层、数据层与业务逻辑层4 个部分.用户层包括各大浏览器,无需下载插件,任何一部电脑都可以快速实现操作;前端表现层包括登录注册、数据可视化、下肢骨三维重建、人工关节和信息管理等5 个功能模块;业务逻辑层完成了客户端和服务器的规则制定;数据层包括BMP、DICOM 图像、OBJ 模型、套图压缩文件等.

图1 系统框架图

2.2 系统详细设计

Web 客户端是进行数据可视化和人机交互操作的界面,功能设计方面必须满足用户的需求.主界面主要分为4 个区域,分别是目录树区域、工具栏区域、可视化窗口和信息显示窗口.

二维可视化:为了方便用户通过浏览图像,寻找畸形部位.系统需要实现二维图像的可视化,包括BMP、DICOM 等格式单张或批量图像的加载显示.并且需要在前端平台编制各种辅助性功能的工具,实现对图像的标注、测量、播放等交互操作,以达到手术辅助效果.二维可视化主要在Cornerstone.js的基础上开发,二维交互工具主要基于CornerstoneTools.js 完成.

三维可视化:由于二维图像并不能充分的显示畸形部位的特征和位置关系,难以使用户对畸形有准确的认知,这就需要系统实现三维模型的重建与可视化,这里主要包括3 个模块:OBJ 模型可视化、下肢骨三维重建和人工关节重建.分别实现了:三维OBJ 模型的可视化;股骨、胫骨和腓骨的三维重建及可视化;人工关节和缺损骨骼的三维重建及可视化,如图2所示.其中模型在前端的显示、交互工具的编写主要基于Three.js库,后台的三维重建程序主要基于VTK 实现.

图2 系统功能框架

3 系统实现

3.1 开发环境

(1)Django 框架

Django是使用Python 语言开发的、采用了MTV框架模式的Web 开源框架.即M (Model):代表数据层,通过编写算法,从数据库中获取数据;T (Template):代表前端表现层,负责页面的展示;V (View):代表业务逻辑层,负责完成前后端逻辑的制定,如图3所示.

图3 Django MTV 框架

Django 工具多、框架大、要素已集成且全面,使用简单方便.结合Python 语言成为快速开发网站的最优组合.借此开发人员可以轻松地完成网站的编写.

(2)Three.js 与VTK 开源库

3D 技术具有十分明显的优点,它可以使用户更加直观的浏览所需内容.但Mimic 等3D 软件需要安装,不易于操作.实现网页三维模型可视化也面临着诸多困境.WebGL的出现解决了这个问题,WebGL是一种符合HTML5 规范的3D 图像绘制标准,它为Canvas标签提供了渲染服务,开发人员可以通过JS 语言实现三维图形的绘制,自由展示模型.原生WebGL 开发困难,Three.js是基于原生WebGL 封装的3D 引擎库,使接口更简单.封装了调整对象展示所需的场景、相机、决定绘制方式的渲染器等要素.无需专业的学习就可以让用户简单的制作三维模型.

VTK (Visualization ToolKit)是一个基于C++开发的、以OpenGL为基础发展起来的开源跨平台库.其具有面向Python的接口,满足Python 编程的需要;通过将一些常用的算法封装好,使我们无需重复编写,如MC 面绘制算法;具有强大的图形处理和三维可视化功能.后台三维重建程序主要基于VTK 开源架构实现.三维可视化的实现主要依靠于后台处理程序,客户端只返回显示程序最终结果.

(3)Cornerstone.js 与CornerstoneTools.js 开源库

3.2 功能实现

3.2.1 三维模型构建

(1)下肢骨三维模型构建

下肢骨三维重建是本系统中研发的最重要的两个功能模块之一,通过JS 撰写浏览功能上传文件,前端的请求会以字符串形式提交至后台,由Web 服务器接收并置于JSON 中,调用OpenCV、Skimage、VTK 等开源架构编写后台去床程序、分离程序、补洞程序和三维重建程序,调用Three.js、jQuery.js 等开源架构编写前端模型射线点拾取、画板工具,逐步对套图进行处理,将渲染后的结果以二维形式与JSON 字符串传至客户端并且显示.

下肢骨三维重建模块实现了下肢骨的高度自动化精细三维重建,步骤流程如算法1.

?

此下肢骨三维重建模块的好处在于后台程序自动完成CT 扫描床去除、噪声去除;剔除了盆骨、脚骨;并且将下肢骨分为股骨、腓骨和胫骨3 个独立模型,如图4所示,减少对象间的干扰,方便单个模型畸变识别观察,并实现了孔洞修补,生成精细模型,为以后研究的模拟矫正打下坚实基础.全过程除少量人工干预,基本实现自动化,傻瓜式、流水式的操作,使用户无需过多学习专业知识就能完成下肢骨三维重建,操作步骤的简易性使得软件更容易推广.

图4 三维可视化界面

(2)人工关节三维模型构建

人工关节模块是系统最重要的两个模块之一,人工关节模块主要用于人工关节置换等手术后复查,对人工关节和相邻骨骼进行三维重建,通过前端上传压缩文件,后台接收解压,调动人工关节重建程序,分别完成人工关节和骨骼的三维重建,如图5所示,并在前端窗口显示.该模块实现了一键自动重建,用户无需人工干预.前端窗口可以显示多个三维模型,各模型可以控制显示或隐藏,在Three.js的支持下实现旋转、放大、缩小等三维交互操作,便于用户观察细节,分析手术情况.

图5 人工关节界面

该模块在术后复查或者多年以后人工关节磨损替换中,具有较高的作用.用户能够根据相关影像建立人工关节和下肢骨的三维模型,便于手术前计划的制定和人工关节磨损情况的定期复查,使用户更好的掌握病情及术后康复情况.

3.2.2 影像观察与辅助诊断工具

对于牛羊养殖而言,只需要做好四方面的工作即可,其一是疫病防控,其二是圈舍修建,其三是草料,其四就是粪污处理。

(1)影像对比观察

系统实现了双视图对比查看,通过分窗显示功能,在不同的窗口显示不同的影像,既可以是同一期不同位置的影像,也可以是不同时期拍摄的影像.通过双视图对比,我们可以清楚的发现畸形区域,不同时期的图像对比也方便医生追踪术前畸形的变化情况和术后畸形的康复情况.

(2)DICOM 动态展示

实现DICOM 文件的动态展示.在cornerstone.js的支持下,客户端上传压缩文件,调用后台解压处理程序完成解压处理,指定加载列表,进入DICOM 套图可视化界面.通过手动或自动模式的播放,实现DICOM动态展示功能.便于医生快速掌握下肢骨整体情况和快速定位畸形位置.

(3)辅助诊断工具

在cornerstoneTools.js的基础上完成工具栏的建设,实现测量工具、灰度变换、细节查看、精确定位和影像浏览5 个二维交互功能模块,如图6所示.

图6 辅助诊断工具

1)测量工具

在诊断中,为了对畸形区域进行定性和定量的表示.系统设计了角度测量、灰度测量、直线测量和面积测量4 种测量工具,其中面积测量分为:椭圆面积测量、长方形面积测量和自由测区测量以及相应的清除、扩展、保存、恢复上次保存等功能,如图7所示.

图7 二维交互界面

2)灰度变换

在诊断中,为了更好的观察畸形部位和下肢骨组织,改善图像画质.设置鼠标点击事件,通过按住鼠标上下拖动实现调整窗位/窗宽或进行反色显示.使图像层次更加丰富,不同组织更容易分辨.

3)细节观察

在诊断中,为了使医生更加方便观察畸形部位的细节.通过调整Canvas 坐标和图像坐标之间的变换矩阵实现放大、缩小、位移等功能.

4)精确定位

在诊断中,为了使医生能够快速定位显示可疑切片.通过在主窗口左侧批量显示缩略图,实现缩略图点击可视化的功能.医生通过浏览缩略图,实现诊断过程中的畸形精准定位.

3.2.3 信息管理

信息管理模块用于管理记录病人的基本信息.包括:Patient Tag:患者姓名、出生日期、性别、身高体重等;Study Tag:检查日期、检查部位、检查时年龄等;Seriesm Tag:图像方位、层厚等;Image Tag:总行数、总列数、像素间距等信息,还包括仪器型号、所在单位等信息,还管理了DICOM 影像和三维模型存储信息,可供医生随时在线查看病例资料,便于病情在线诊断与跟踪.

4 系统测试

系统以Pycharm2019为开发平台进行设计,整体架构为B/S 结构,客户端采用Chrome 浏览器;Web 服务器采用Django 框架;数据库使用MySQL;后台程序采用Python 语言.以AJAX 通讯;数据通信采用JSON 格式.数据采用大小为512×512的患者下半身DICOM 影像.

测试机型为笔记本电脑,配置为CPU:酷睿i74510U处理器,内存:4 GB,显卡:英特尔HD Graphics Family.使用Win10 系统的IE 浏览器、Chrome 浏览器、Google浏览器和360 浏览器进行测试.运行结果表明4 种浏览器都能很好地显示图像,工具栏工具均能实现,系统运行速度也能满足实际需要.具体运行结果以Google浏览器为例说明.

系统主界面如图8所示,图8(a)左侧为菜单目录树区域,中间窗口为DICOM 加载可视化,右下侧为工具栏区域.图8(b)为下肢骨三维重建后,返回结果三维可视化,模型成功剔除盆骨、脚骨,完成股骨、胫骨和腓骨的分离,生成的模型光滑无洞,细节处理较好,可以控制每个骨头显示或者隐藏,对于畸变识别非常有利.图8(c)为人工关节重建后的人工关节可视化,可以通过按钮控制人工关节和骨骼的显示.图8(d)为DICOM套图批量可视化子窗口,窗口左侧为缩略图窗口,上方为工具栏,可实现多种交互操作.

图8 主界面及各子界面

5 结论

本系统基于下肢骨畸形手术的需要,开发了一种基于开源架构的下肢骨畸形在线辅助诊断仿真系统,用于帮助用户寻找畸形.实验结果显示,该系统可视化清晰、功能全面并且基本实现自动化、操作简单无需较多的专业知识、基于B/S 架构无需下载插件,能够满足早期软件设计的需要.其实用价值较高,既能在前期从二维和三维方向辅助医生快速的找到畸形问题,又能为后期人工关节置换等手术复查中提供确切资料,所存储的病例信息也可以被用户随时查阅比较,便于掌握病情进展状况.该系统具有很大的潜力,下一步将要研究如何在系统上实现畸形的自动识别与矫正.

猜你喜欢

三维重建畸形浏览器
平山病合并Chiari畸形1例报道
实时动态四维超声产前诊断胎儿畸形的临床意义
三维重建的飞机机动动作库设计与可视化
微软发布新Edge浏览器预览版下载换装Chrome内核
互联网全息位置地图迭加协议与建模制图技术
无人机影像在文物建筑保护中的应用
光编码技术在犯罪现场重建中的应用
We never Told Him He Couldn’t Do it我们从不说他做不到
浏览器
lE8设置技巧大放送