基于idl语言的医学图像三维可视化方法

文档序号:6423093阅读:228来源:国知局
专利名称:基于idl语言的医学图像三维可视化方法
技术领域
本发明涉及科学计算可视化技术,尤其涉及基于IDL语言的医学图像三维可视化方法。
背景技术
科学计算可视化是指运用计算机图形学和图像处理技术,将科学计算过程中的数据和计算结果转换成图形图像在屏幕上显示出来,并进行交互处理的理论、方法和技术。近年来,伴随着MRI、CT、B超等现代化医学仪器设备的广泛使用,各种各样的医学数字图像在临床诊断和医学研究中发挥着日益重要的作用,随即诞生了“医学图像可视化”这一新兴研究领域。医学图像可视化技术是指运用人工智能、模式识别、计算机图形学以及图像处理技术,从实验中获得的、扫描器测得的、计算模型合成的医学数据中重建生成三维图像模型,并进行定性定量分析,医生可以通过人机交互对其进行缩放、旋转、位移、剖切、分割等操作,使人们更清楚地认识蕴涵在体数据中的复杂结构,辅助医生对解剖结构及相关区域进行多角度、多层次的定性分析和定量测量,提高医疗诊断的速度和效率。目前,国外一些研究机构和商业公司已经陆续开发了一些面向临床应用的医学图像可视化分析系统,它们很多依附于影像设备厂商提供的硬件支持,而且价格昂贵。发达国家对我国进口大型医用影像设备大都实施硬件、软件双重加密处理,而且由于各种设备 DICOM标准不完全统一、影像设备输入输出接口不兼容、局部PACS系统改造费用昂贵等众多因素,目前我国医学图像三维可视化大多还不能脱离进口影像设备的工作站及其附属软件平台。随着我国医疗设备不断更新和医疗水平持续发展,我国也有部分研究人员正在积极开展医学图像可视化软件系统的研发工作。例如中国科学院自动化所人工智能实验室开发的3D Med系统,是在Windows环境下,采用面向对象的设计方法和软件工程规范,用 C++语言编程实现的。此外,浙江大学通过结合VTK和Volume Pro系统,研发了用于MRI、 CT等医学图像的实时可视化系统4DView。

发明内容
本发明的目的是,利用IDL 6. 4基于对象图形系统的编程技术及面绘制、体绘制方法将医学DICOM数据转化为三维可视化的医学图像,并能实现该医学图像的虚拟现实可视化,使医生可以通过人机交互对医学图像进行缩放、旋转、位移、剖切、分割等操作。上述目的通过以下技术方案得以实施
将获取的二维医学图像的DICOM数据通过体绘制算法进行三维重建,生成对应的三维医学可视化图像,并通过VRML交互式描述将所述三维医学可视化图像转换为虚拟现实的数据模型,所述数据模型通过图形用户界面GUI上的人机界面及控制接口,对显示的图形状态进行控制,生成对应的三维医学可视化虚拟图像,其中 所述体绘制算法包括下述步骤
1)定义对象图形系统中的各种对象,所述对象包括窗口对象IDLgrWindow、场景对象 IDLgi^cene、视图组对象IDLgrViewgroup、视图对象IDLgrView、模式对象IDLgrMode和基 ^fMjtiMM- Atomic Graphic Object ;
2)使用创建对象的0BJ_NEW函数及如下调用格式
OBLf—jwrJ[类名属性关键词1=属性tli,属性关键词Β=属性值Η]])
对上述对象图形系统中的各种对象进行如下步骤的创建
a)由窗口类IDLgrWindow创建窗口对象,
b)由场景类IDLgi^cene创建场景对象,
c)由视图组类IDLgrViewgroup创建视图组对象,
d)由视图类IDLgrView创建视图对象,
e)由模式类IDLgrModel创建模式对象,
f)由基本图元类创建基本图元对象,
3)利用ADD调用格式,对模式对象、视图对象、视图组对象和场景对象分别进行如下调

g)把基本图元对象添加到模式对象中,
h)把模式对象添加到视图对象中,
i)把视图对象添加到视图组对象中, j)把视图组对象添加到场景对象中,
4)利用窗口对象的DRAW方法,在窗口对象中绘制场景对象,其调用格式为窗口对象->MJIF,场景对象;
5)显示结束后,利用0BJ_DESTR0Y函数删除所有对象,其调用格式为 iJfiSIXOZ,对象变量;
所述VRML交互式描述包含TimeSensor节点、OrientalInterpolator节点和 TouchSensor节点的描述
所述Timeknsor节点将在虚拟空间中创建一个驱动动画效果的时钟, 所述OrientaUnterpolator节点指定一些空间旋转参数组成的关键点和关键值, 所述Touchknsor节点用来检测浏览者在VRML浏览窗口中的光标动作,并且输出一些参数来触发和控制动画效果。上述方法进一步设计在于,所述基本图元对象包括坐标轴类IDLgrAxisjlW 区类 IDLgrBuffer、色带类 IDLgrColorbar、轮廓线类 IDLgrContour、字体类 IDLgrFont、 图像类 IDLgrlmage、图例类 IDLgrLegencU 灯光类 IDLgrLight、调色板类 IDLgrPalette、 填充模式类IDLgrfattern、线类IDLgrPlot、感兴趣区域类IDLgrROI、感兴趣区域组类 IDLgrROIGroup、曲面类 IDLgrSurface、文本类 IDLgriText、体积类 IDLgrVolume 和虚拟现实模型语言类IDLgrVRML。上述方法进一步设计在于,所述图形用户界面GUI包括模型拾取、模型编辑、 场景漫游、参数设置和其它设置。
上述方法进一步设计在于,所述图形用户界面GUI只包含一个顶级基本容器和其他组件,其他组件中包含一基本容器,基本容器是顶级基本容器的下一级组件,基本容器包含下一级组件,其余组件均是基本组件,不能包含下一级组件。上述方法更进一步设计在于,所述顶级基本容器的下一级组件还包括菜单系统和工具栏,基本容器的下一级组件包括触发按钮、单选按钮、文本编辑、复选按钮、文本标签、 滑动条、列表框、绘图区、下列表框、表格组件、树结构组件和页面组件。本发明方法可以完成通用医学图像可视化的基本要求,实现医学图像的体绘制、切片操作以及各种旋转、缩放、剖分等功能,并且效果良好,能够满足实时处理的要求。 此外,该系统还具有如下特点1)广泛的适用性,可以应用于各种医学图像类型(如灰度图像、RGB图像、DICOM图像等)以及各种医学图像格式(bmp、jpeg、tiff等)的处理和分析;2) 友好的用户界面和人机交互性,操作人员可以通过参数设置、滑动条和按钮的使用来交互控制程序运行;3)便捷的可扩展性,模块化的程序设计方法便于今后进一步扩展整个软件平台的功能;4)良好的可移植性,IDL程序可以运行于Windows、Unix和Macintosh等操作系统,也可通过项目管理器将程序编译生成独立的可执行文件(EXE),在其他没有安装IDL 语言的计算机上顺利运行;5)高效的可视化,将虚拟现实可视化结合到系统中,可以方便地用动态三维立体图像取代传统的二维医学图像,并且能够像实际物体那样任意查看、旋转和拆分三维对象,可以广泛应用于各个医学领域。


图1是本发明的医学图像三维可视化方法的流程图。图2是对象图形系统中的各种对象的组成结构图。图3是医学图像三维重建技术的分类示意图。图4是⑶I设计的组成结构示意图。图5是应用程序的引导界面。图6是应用程序的密码检验界面。图7是应用程序的用户界面。图8是应用程序用户界面上的菜单设置。图9是体操作的医学图像。图10是切片操作的医学图像。图11是体操作和切片操作的医学图像。图12是正常心脏的MRA图像重建后的可视化结果。图13是正常心脏的CTA图像重建后的可视化结果。图14是正常心脏的MRA图像重建后的虚拟可视化结果。图15是正常心脏的CTA图像重建后的虚拟可视化结果。
具体实施例方式
实现本发明方法的主要步骤请参见图1,首先是将获取的二维医学图像的DICOM数据通过体绘制操作(算法)进行三维重建,生成对应的三维医学图像。所述的体绘制算法是采用IDL 6. 4面向对象的程序设计,它是利用IDL 6. 4语言系统提供的预先设计并封装好的类来创建满足需要的各种对象,实现相应的控制。所以体绘制操作之初需预先定义对象类,即定义图形系统中的各种对象。每类被封装在一个特定的可视化表示中,所定义的对象类包括窗口对象IDLgrWindow、场景对象IDLgrkene、视图组对象IDLgrViewgroup、 视图对象IDLgrView、模式对象IDLgrMode和基本图元对象Atomic Graphic Object,这些对象在对象图形系统中的结构关系如图2。其中场景对象IDLgi^cene包含于窗口对象 IDLgrffindow中;视图组对象IDLgrViewgroup包含于场景对象IDLgi^cene中;视图对象 IDLgrView包含于视图组对象IDLgrViewgroup中(原来的描述中遗漏了一个);模式对象 IDLgrMode包含于视图对象IDLgrView中;基本图元对象Atomic Graphic Object包含于模式对象IDLgrMode中。对上述对象创建时采用对应创建对象的0BJ_NEW函数和如下调用格式 oaf—Mr ([类名[,属性关键词1=属性…,属性关键词η=属性值》]])
具体创建步骤如下
a)由窗口类IDLgrWindow创建窗口对象,其中的属性关键词是图像质量QUALITY ;属性值O表示低质量,1表示中等质量,2表示高质量。b)由场景类IDLgi^cene创建场景对象,其中的属性关键词是图像隐藏HIDE ;属性值O表示显示图像,1表示隐藏图像。c)由视图组类IDLgrViewgroup创建视图组对象,其中的属性关键词是图像隐藏HIDE;属性值O表示显示图像,1表示隐藏图像。(不同的类可以有相同的属性关键词, 因此B和C的属性关键词都是HIDE)
d)由视图类IDLgrView创建视图对象,其中的属性关键词是投影PROJECTION;属性值1表示正交投影,属性值2表示透视投影。e)由模式类IDLgrModel创建模式对象,其中的属性关键词是光照LIGHTING ’属性值O表示无光照,1表示单边光照,2表示双边光照。f)由基本图元类创建基本图元对象,这里的基本图元类包括坐标轴类 IDLgrAxis、缓冲区类 IDLgrBuffer、色带类 IDLgrColorbar、轮廓线类 IDLgrContour、字体类IDLgrRmt、图像类IDLgrlmage、图例类IDLgrLegencU灯光类IDLgrLight、调色板类 IDLgrPalette、填充模式类IDLgrPattern、线类IDLgrPlot、感兴趣区域类IDLgrROI、感兴趣区域组类 IDLgrROIGroup、曲面类 IDLgrSurface、文本类 IDLgriText、体积类 IDLgrVolume 和虚拟现实模型语言类IDLgrVRML。上述基本图元类都有各自的属性关键词和属性值如下
坐标轴类IDLgrAxis的属性关键词是图像隐藏HIDE ;属性值O表示显示图像,1表示隐藏图像。缓冲区类IDLgrBuffer的属性关键词是彩色模式C0L0R_M0DEL ;属性值O表示 RGB彩色图像,1表示索引图像。色带类IDLgrColorbar的属性关键词是显示边框SH0W_0UTLINE ;属性值O表示不显示边框,1表示显示边框。
轮廓线类IDLgrContour的属性关键词是图像隐藏HIDE ;属性值O表示显示图像,1表示隐藏图像。字体类IDLgrRmt的属性关键词是字体大小SUE ;属性值用浮点数表示字体大小,默认值为12.0。图像类IDLgrImage的属性关键词是灰度尺度GREYSCALE ;属性值O表示使用调色板,1表示不使用调色板。图例类IDLgrLegend的属性关键词是显示填充SH0W_FILL ;属性值O表示不填充背景,1表示填充背景。灯光类IDLgrLight的属性关键词是灯光强度INTENSITY ;属性值是介于0. 0(最暗)和1. O (最亮)之间的浮点数,用于表示灯光强度。调色板类IDLgrfalette的属性关键词是彩色数N_C0L0RS ;属性值是用整数表示的调色板中彩色元素的个数。填充模式类IDLgrfattern的属性关键词是线宽THICK ;属性值是用介于1. 0和 10. 0之间的浮点数表示填充线的宽度。线类IDLgrPlot的属性关键词是色彩COLOR ;属性值是用向量表示的前景色分量。感兴趣区域类IDLgrROI的属性关键词是类型STYLE ;属性值O表示点,1表示不闭合折线,2表示闭合折线。感兴趣区域组类IDLgrROIGroup的属性关键词是图像隐藏HIDE ;属性值O表示显示图像,1表示隐藏图像。曲面类IDLgrSurface的属性关键词是数据DATA ;属性值是任意类型的数组,用于定义表面数据。文本类IDLgrText的属性关键词是图像隐藏HIDE ;属性值O表示显示图像,1表示隐藏图像。体积类IDLgrVolume的属性关键词是边界BOUNDS ;属性值是六维浮点数向量,表示待重建的体积区域的范围。虚拟现实模型语言类IDLgrVRML的属性关键词是彩色模式C0L0R_M0DEL ;属性值 O表示RGB彩色图像,1表示索引图像。
再利用ADD的下列调用格式
权利要求
1.基于IDL语言的医学图像三维可视化方法,将获取的二维医学图像的DICOM数据通过体绘制算法进行三维重建,生成对应的三维医学可视化图像,并通过VRML交互式描述将所述三维医学可视化图像转换为虚拟现实的数据模型,所述数据模型通过图形用户界面 GUI上的人机界面及控制接口,对显示的图形状态进行控制,生成对应的三维医学可视化虚拟图像,其特征在于所述体绘制算法包括下述步骤1)定义对象图形系统中的各种对象,所述对象包括窗口对象IDLgrWindow、场景对象 IDLgi^cene、视图组对象IDLgrViewgroup、视图对象IDLgrView、模式对象IDLgrMode和基 ^fMjtiMM- Atomic Graphic Object ;2)使用创建对象的0BJ_NEW函数及如下调用格式OAf_J Eir{[类名[; 属性关键词1=属性βι…,属性关键词η=属性值H]])对上述对象图形系统中的各种对象进行如下步骤的创建a)由窗口类IDLgrWindow创建窗口对象,b)由场景类IDLgi^cene创建场景对象,c)由视图组类IDLgrViewgroup创建视图组对象,d)由视图类IDLgrView创建视图对象,e)由模式类IDLgrModel创建模式对象,f)由基本图元类创建基本图元对象,3)利用ADD调用格式,对模式对象、视图对象、视图组对象和场景对象分别进行如下调用g)把基本图元对象添加到模式对象中,h)把模式对象添加到视图对象中,i)把视图对象添加到视图组对象中,j)把视图组对象添加到场景对象中,4)利用窗口对象的DRAW方法,在窗口对象中绘制场景对象,其调用格式为窗口对象—>jjujr,场景对象;5)显示结束后,利用0BJ_DESTR0Y函数删除所有对象,其调用格式为 Ο&Γ— ΕΚ ΟΖ,对象变量;所述VRML交互式描述包含TimeSensor节点、OrientalInterpolator节点和 TouchSensor节点的描述所述Timeknsor节点将在虚拟空间中创建一个驱动动画效果的时钟,所述OrientaUnterpolator节点指定一些空间旋转参数组成的关键点和关键值,所述Touchknsor节点用来检测浏览者在VRML浏览窗口中的光标动作,并且输出一些参数来触发和控制动画效果。
2.根据权利要求1所述的基于IDL语言的医学图像三维可视化方法,其特征在于所述基本图元对象包括坐标轴类IDLgrAxis、缓冲区类IDLgrBuffer、色带类IDLgrColorbar、 轮廓线类 IDLgrContour、字体类 IDLgrFont、图像类 IDLgrlmage、图例类 IDLgrLegendJT光类 IDLgrLight、调色板类 IDLgrPalette、填充模式类 IDLgrPattern、线类 IDLgrPlot、 感兴趣区域类IDLgrROI、感兴趣区域组类IDLgrROIGroup、曲面类IDLgrSurface、文本类 IDLgriText、体积类IDLgrVolume和虚拟现实模型语言类IDLgrVRML。
3.根据权利要求1所述的基于IDL语言的医学图像三维可视化方法,其特征在于,所述图形用户界面⑶I包括模型拾取、模型编辑、场景漫游、参数设置和其它设置。
4.根据权利要求1所述的基于IDL语言的医学图像三维可视化方法,其特征在于, 所述图形用户界面⑶I只包含一个顶级基本容器和其他组件,其他组件中包含一基本容器,基本容器是顶级基本容器的下一级组件,基本容器包含下一级组件,其余组件均是基本组件,不能包含下一级组件。
5.根据权利要求4所述的基于IDL语言的医学图像三维可视化方法,其特征在于, 所述顶级基本容器的下一级组件还包括菜单系统和工具栏,基本容器的下一级组件包括触发按钮、单选按钮、文本编辑、复选按钮、文本标签、滑动条、列表框、绘图区、下列表框、表格组件、树结构组件和页面组件。
全文摘要
本发明涉及一种基于IDL语言的医学图像三维可视化方法,将DICOM数据通过体绘制算法生成三维医学可视化图像,并通过VRML交互式描述转换为虚拟现实的数据模型,通过图形用户界面GUI上的人机界面及控制接口,对显示的图形状态进行控制,生成可视化虚拟图像,其中体绘制算法的步骤定义对象图形系统中的对象;用创建对象的OBJ_NEW函数进行调用;利用ADD调用格式对模式对象、视图对象、视图组对象和场景对象分别进行调用;利用窗口对象的DRAW方法,在窗口对象中绘制场景对象;显示结束后,利用OBJ_DESTROY函数删除所有对象。优点是,可实现医学图像可视化的基本要求,进行相关的体绘制、切片等操作。
文档编号G06T17/00GK102157016SQ20111010498
公开日2011年8月17日 申请日期2011年4月26日 优先权日2011年4月26日
发明者汤敏, 陈 峰 申请人:南通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1