(信号与信息处理专业论文)基于容积重建的虚拟手术刀技术研究.pdf_第1页
(信号与信息处理专业论文)基于容积重建的虚拟手术刀技术研究.pdf_第2页
(信号与信息处理专业论文)基于容积重建的虚拟手术刀技术研究.pdf_第3页
(信号与信息处理专业论文)基于容积重建的虚拟手术刀技术研究.pdf_第4页
(信号与信息处理专业论文)基于容积重建的虚拟手术刀技术研究.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 体切割技术在理解三维体数据内部细节时起着决定性的作用,因为它是一种 常用的通过基于体素的空间位置对感兴趣区域进行操作来显示被隐藏的重要细节 信息的方法,甚至有时候是唯一的方法。随着三维可视化技术的发展,体切割逐 渐达到实时的交互效果,在手术模拟和手术规划等临床应用领域具有重要的意义。 本文对基于容积重建的体切割技术进行了深入的研究。首先,在光线投射体 绘制的基础上,实现了平面、多平面切割,并提出将光线采样点和切割体的位置 关系从三维空间转换到二维投影面来判断的方法,简化了任意曲面切割问题复杂 性,该方法实现了任意曲面的体切割操作。其次,在三维纹理映射体绘制的基础 上,针对不同形状的切割体,提出了基于阴影图的体切割方法以实现凸体的实时 切割操作及基于体数据标记的体切割方法以实现任意形状切割体的切割操作,并 在此基础上对不同形状切割体的混合切割操作进行了研究。最后,在切割速度与 图像质量等方面,对基于光线投射和三维纹理映射体绘制方法的体切割技术进行 了比较,为进一步研究体切割技术打下基础。 关键词:体切割光线投射三维纹理映射混合切割虚拟手术刀 a b s t r a c t v o l u m ec l i p p i n gp l a y sad e c i s i v er o l ei nu n d e r s t a n d i n g3 dv o l u m e t r i cd a t as e t s b e c a u s ei ti sam e t h o dt oo p e r a t eo nt h ef o c u sa r e a s b yt h ep o s i t i o no f v o x e l si nm ed a t a s e t , t ou n c o v e rt h ei m p o r t a n t ,h i d d e nd e t a i l so fad a t as e t , a n de v e no f t e ni ti st h eo n l y w a y t od os o w i t ht h ed e v e l o p m e n to fv o l u m e v i s u a l i z a t i o n ,v o l u m ed i p p i n gg r a d u a l l y a c h i e v e sr e a l - t i m ei n t e r a c t i v ee f f e c t , b r i n g i n gt h e a p p l i c a t i o no fb o t hs i m u l a t i o na n d p r o g r a m m i n go fs u r g e r yi nc l i n i ct ob e o fg r e a ti m p o r t a n c e t h i sp a p e rp r e s e n t sar e l a t i v e l yi n d e e ps t u d yo nt h ev o l u m ec l i p p i n gt e c h n o l o g y b a s e d0 1 1v o l u m er e n d e r i n g f i r s t l y , o nt h er e s e a r c ho f r a y - c a s t i n gv o l u m er e n d e r i n g a l g o r i t h m ,an e wm e t h o dw h i c hj u d g e st h es p a t i a lr e l a t i o nb e t w e e n r a ys a m p l ep o i n ta n d c u r v e dg e o m e t r yi sg i v e n ,t os i m p l i f yt h ec o m p l e x i t yo fc u r v es u r f a c ec l i p p i n g t h e v o l u m ec l i p p i n g o p e r a t i o n so fp l a n e ,m u l t i - # a n eo rc u r v e ds u r f a c ea l er e a l i z e d s e c o n d l y , t h i sp a p e rg i v e sas t u d yo nv o l u m ec l i p p i n go n3 dt e x t u r e m a p p i n gv o l u m e r e n d e r i n g ,t h e np r e s e n t sar e a l t i m ev o l u m ec l i p p i n gm e t h o db a s e do nt h es h a d o w m a p , a n da c c o m p l i s h e st h ec l i p p i n go p e r a t i o no nc o n v e xo b j e c te f f e c t i v e l y t h i sp a p e ra l s o p r e s e n t st h ev o l u m ec l i p p i n gm e t h o db a s e do nv o l u m et a g g i n gf o ra r b i t r a r yc l i po b j e c t s a n dt h em i x e dc l i p p i n gt e c h n o l o g yf o rd i f f e r e n ts h a p e s l a s t l y , ac o m p a r i s i o no ft h e c l i p p i n gr e s u l t si nt h ec u t t i n gs p e e da n di m a g eq u a l i t yi sg i v e n ,w h i c hi sr e a l i z e db a s e d o nr a y - c a s t i n gv o l u m e r e n d e r i n ga n d3 dt e x t u r e - m a p p i n gv o l u m er e n d e r i n g ,a n dl a y sa f o u n d a t i o nf o rf u r t h e rs t u d y k e y w o r d s :v o l u m ed i p p i n g r a y - c a s t i n g 3 dt e x t u r e sm a p p i n gm i x e dc l i p p i n g v i r t u a ls c a l p e 西安电子科技大学 创新性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或 其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均己在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全 部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论文 在解密后遵守此规定) 本人签名: 导师签名: 第一章绪论 第一章绪论 1 1 研究的背景与意义 近年来,医学成像技术如断层投影( c o m p 似t o m o g r a p h y ,c t ) 、核磁共振 ( m a g n e t i cr e s o n a n i m a g i n g ,m r i ) 、超声( u l t r a s o n o g r a p h y ,u s ) 等已经在医 学诊断和医学实践的许多领域产生了巨大的变革。由先进的医学成像设备,人们 可以很方便的得到二维数字断层图像序列。通常,医生们需凭经验由多幅二维图 像去估计“病灶 的大小、形状以及与其周围组织的空间关系。但在放射治疗应 用中,仅根据二维断层图像上的解剖位置信息,很难得到病变准确的三维坐标, 从而导致病变定位的失真与畸变。利用可视化技术可以将二维断层图像序列转变 成为具有直观立体效果的图像,展现人体器官的三维结构与形态,提供用传统手 段无法获得的解剖结构信息并为进一步虚拟操作提供视觉交互手段【l 】【引,从而大大 提高医疗诊断和治疗规划的准确性。 随着医学可视化技术的发展,对虚拟手术刀的技术研究也得到了广泛关注。 本文提到的虚拟手术刀技术,又称体切割技术( 两者在本文通用) ,是在容积重建 的基础上展开的研究。体切割操作,采用仅根据空间位置信息对数据分类的方法, 可以有效的去除遮挡感兴趣区域( t h er e g i o no fi n t e r e s t ,r o i ) 的物体,实现对物 体内部结构的有效分析。 基于容积重建的体切割技术是三维可视化的一个重要应用,它涉及到数字图 像处理、计算机图形学以及医学领域的相关知识,是一个多学科交叉的研究课题, 也是计算机图形学和图像处理技术在生物医学工程中的重要应用【3 】【4 】 5 1 。体切割技 术在医学诊断中具有十分重要的作用,它对于“病灶 的及时发现和准确定位具 有重要意义。因此,对体切割技术的研究,具有重要的学术意义和应用价值。 虚拟手术刀是医学图像可视化系统的一个重要的组成部分。目前在国外,已 经有了医学图像可视化处理的商品化系统。其中有的是一个独立的系统,如加拿 大的c e x i a r a 系统,它可以根据用户需要,与不同厂家的c t 扫描设备或核磁共振 仪相连接;美国通用电气公司( g e ) 的a w4 0 ,可以对断层扫描序列图像进行完 整的体绘制及分析。有的则是这类医疗设备的一个组成部分,如以色列爱尔新特 公司( e l s c i n t u d ) 、g e 出产的螺旋c t 扫描设备均附有基于图形工作站的医学影像 可视化系统,在获得c t 和m r i 的序列扫描图像后,该系统可以沿三个正交方向 逐帧显示序列图像,可以用不同方法构造三维形体,可以对三维图像由外而内按 层剥离或做任意位置的剖切以观看内部结构,也可以进行平移、缩放、旋转等操 作。很显然,具有如此强大功能的三维医学影像处理系统将给诊断和治疗提供很 大的方便,同样具有成熟的体切割操作的功能。但是它们需要计算速度很快、存 2 基于容积重建的虚拟手术刀技术研究 储容量很大的计算机系统,连同软件一起,其价格非常昂贵,影响了可视化技术 在实际临床上的普及 6 】【7 1 。 国内在医学图像体切割的研究方面也做了大量的研究,如浙江大学、清华大 学、东南大学、大连理工大学、中科院自动化所等开发了一些实验系统,国内企 业也开发了一些商用的三维医学影像处理系统,如西安盈谷科技有限公司的 a e c u r a d p r o 系列,这些系统对体切割操作均有针对各自系统的研究。 1 2 体切割技术的国内外研究现状与进展 基于容积重建的体切割技术是在三维可视化技术发展下的一个重要应用,即 在三维可视化的基础上对于体切割技术的研究与深化。三维可视化算法分为两大 类:表面重建算法与容积重建算法。表面重建又被称为等值面重建,它的基本思 想是将体数据中所有等于阈值的数据点找出来,然后用几何图元将这些点连成表 面。容积重建又称体绘制,是将体数据中的每一个数据点根据传输函数指定一个 颜色值和阻光度值,并利用光学模型将数据点沿一定的方向从后往前或从前往后 进行融合获得绘制结果。与表面重建方法相比,容积重建有很多优良的特性,它 不需要对原始医学数据作格式转换,不丢弃任何细节信息,不会人为地引入误差; 查看的时候,可以通过合理选择传输函数,同时查看器官表面和内部细节,更加 有利于正确的医学诊蝌8 1 。因此,本文的研究重点是基于容积重建( 本文主要采用 体绘制这个术语) 的体切割技术。下面将介绍一下几种典型的直接体绘制算法和 切割算法。 1 2 1 直接体绘制的典型算法 最初的体绘制算法只能利用m c ( m a r c h i n gc u b e s ) 等算法,实现间接体绘制, 随着图形硬件的发展,间接体绘制逐渐被直接体绘制所取代。典型的直接体绘制 算法有: ( 1 ) 光线投射法( r a yc a s t i n g ) 【6 】 7 】【9 】 该类算法在有关体绘制研究的文献中占有很大篇幅。k a j i y a t l 0 】首先将基于光线 投射的理论应用于体绘制中,其基本原理是根据视觉成像原理,构造出理想化的 物理视觉模型,即将每个体素都看成能够透射、发射和反射光线的粒子,然后根 据光照模型或明暗模型【1 1 1 ,依据体素的介质特性得到它们的颜色( 灰度图像为亮 度) 和阻光度,并沿着视线观察方向积分,最后在屏幕上形成图像。 ( 2 ) 足迹法( f o o t p r i n t 或s p l a t t i n g ) 1 2 】 足迹法首先由w e s t o v e r t l 2 】提出,其原理是将体数据表示为一个由交叠的基本 函数构成的矩阵,基本函数通常选择幅值由体素值表示的高斯函数核( k e r n e l ) , 然后根据一个预先计算的、存储着沿视线方向对函数核积分的足迹查询表,把这 第一章绪论 3 些基本函数投射到视平面以生成图像。其实质也可看作体数据与函数核卷积运算, 然后再沿视线的反方向投射积累到视平面的过程。 ( 3 ) 剪切一变形法( s h e a r - w a r p ) 1 1 3 】 剪切一变形法目前被认为是一种不基于硬件的速度最快的体绘制算法。它采 用一种关于体素和图像的编码方案,在遍历体素和图像的同时可以略去不透明的 图像区域和透明的体素。在预处理时,体素经过阻光度初分类,再按行程长度编 码( r u n 1 e n g t he n c o d e d ,r l e ) ,然后用类似于光线投射法的方法进行绘制。其绘 制过程可简化为通过剪切出适当的编码体素使光线正交于所有的体素层,利用双 线性插值在遍历的体素层内得到它们的采样值,再通过变形将体素平行于基准平 面的图像转换为屏幕图像。 ( 4 ) 基于硬件的3 d 纹理映射( 3 dt e x t u r e m a p p i n gh a r d w a r e ) 1 1 4 】【1 5 】 基于硬件的3 d 纹理映射首先由c a b r a l t l 4 】应用于无明暗处理的绘制。其方法是 首先将体数据装载到纹理内存,再由硬件将平行于屏幕的多边形层片转变为图像。 这些层片是由后向前地进行融合,插值滤波器为三次或四次线性函数,而层片间 的距离可以任意选择。目前,这种方法己被推广应用到具有明暗处理的体绘制中。 1 2 2 典型的体切割算法 体切割算法与体绘制算法有关,不同的体绘制算法下有不同的体切割算法。 基于光线投射算法的体切割算法,文 1 6 】 1 7 中提到了一种使用光线分段预处 理的方法,利用切割体与光线的交点,将光线分成不同的区域,对位于切割段的 区域不进行光亮度和阻光度的累加,最后的切割图像由各分段区域的光亮度和阻 光度累加得到。 基于三维纹理算法的体切割算法主要包括: ( 1 ) 基于剪切平面的体切割 剪切平面( c l i pp l a n e ) 是三维图形编程接口( o p e n g l 、d i r e c t 3 d 等) 所提供 的除了可视空间的6 个裁剪平面( 左、右、底、顶、近和远) 之外的额外裁剪平 面,用于删除场景中的无关物体,进行实时切割等。在基于三维纹理映射的体绘 制中利用剪切平面来指定体数据的边界 1 8 】 1 9 】。采用一个或多个剪切平面作为切割 几何体,通过这些剪切平面在图像空间得到相应的切割结果。尽管可以使用多个 剪切平面来近似表示剪切区域,但许多重要又实用的剪切形状是很难通过这种方 式来实现的。 ( 2 ) 基于模板检测的体切割算法【2 0 】 w e s t e r m a n n 和e r n 2 0 】提出了基于模板检测的体切割算法。在该算法中,对每 一个切片切割体必须被渲染一次以便正确的设置模板缓存的值。一个和当前切片 共面的剪切平面丢弃该切片前的切割体,以这种方式,在切割平面被切割体覆盖 4 基于容积重建的虚拟手术刀技术研究 的地方设置模板缓存的值。最后,切片被渲染,使用模板测试来实现切割操作。 ( 3 ) 基于体标记纹理的切割方法【1 8 】( 1 9 1 d a n i e lw e i s k o p f 等人提出了基于体标记纹理的切割方法。该方法利用一个辅 助三维纹理或二维纹理的叠加来标识切割体的信息,该纹理是个二值纹理,初始 化为在切割体内部的纹素设置为1 ,在切割体外部的纹素设置为o 。在片段处理阶 段将体数据纹理和切割体纹理相应位置的值相乘,在这种情况下,所有与o 相乘 的纹素的值在后续阶段经a 测试而舍弃掉,从而达到了切割的目的。 ( 4 ) 预分类实现分割 2 1 】 h a s t r e i t e r 等人对纹理体绘制进行了修正,使用不同的传输函数对不同区域的 分割数据进行分类,这种方法只能对固定空间的区域进行分割,不能交互式进行 任意形状切割体进行数据分割。 ( 5 ) 基于距离变换的方法【2 2 】 文 2 2 中利用距离变换将不同区域表示为重点或非重点区域。在每个采样点上 根据和观察点的距离来直接对阻光度进行调制,达到切割的效果,但这种方法很 难对用户指定的区域进行切割。 ( 6 ) 基于深度缓存的方法【1 8 】【1 9 】 文 1 8 1 9 中利用深度缓存存储切割体的前后表面的深度,产生h i l o 纹理存 储这些深度值,利用图形硬件的像素操作来实现对凸切割体的操作。 ( 7 ) 基于快速区域标识的交互式体切割【2 3 】 文 2 3 】中介绍了一种基于快速区域标识的体切割算法,首先构造与绘制视口大 小一致的缓冲区,并初始化为0 ;根据切割区域将该缓冲区进行标记,作为剪切模 板;对每个体素判断其剪切坐标是否在该区域内,来改变体数据的值,达到切割 的目的。 ( 8 ) 基于距离场的切割方法【8 】 文 8 】中提出了一种基于离散距离场进行切割的方法,其利用离散距离场来标 记切割体的边界,再结合三维体数据纹理判断出需要剪切的区域,达到切割的目 的。 1 3 本文的主要研究成果与内容安排 本文主要对虚拟手术刀技术进行了研究。概括起来主要获得了以下几个研究 成果: ( 1 ) 在光线投射体绘制的基础上,实现了平面、多平面及曲面切割算法,完 成了虚拟手术刀的人机交互功能,在此基础上,解决了基于光线投射体绘制旋转 与体切割技术的综合运用,在曲面切割时,将三维空间位置判断转换n - 、维投影 第一章绪论 5 面位置判断,有效的解决了由于旋转给曲面切割造成的计算复杂的问题,使问题 更简单,实现更方便。 ( 2 ) 对基于三维纹理体绘制的体切割技术进行了研究,实现了基于深度缓存 的双路渲染体切割算法,并提出了基于阴影图的单路渲染体切割算法,在此基础 上实现了凸体、凹体和多物体的实时切割。 ( 3 ) 在三维纹理体绘制的基础上,研究并实现了基于体数据标记的体切割算 法,实现了对三维重建图像的任意形状的切割操作,并在本系统中设计了3 种典型 的虚拟手术刀,完成了相应的体切割功能。在此基础上,实现了不同形状的手术 刀的混合切割算法。 全文共分为五章,具体的章节安排如下: 第一章:介绍了医学图像可视化的虚拟手术刀技术的相关背景和发展状况, 总结了本文的主要研究成果和章节安排。 第二章:对直接体绘制技术进行了研究。先简要介绍本文所用到的o p e n g l 图形渲染管线及可编程图形管线等相关技术,接下来介绍基于c p u 的光线投射体 绘制算法,最后介绍基于g p u 的三维纹理体绘制算法。 第三章:对基于c p u 的光线投射算法的体切割技术进行了研究。在光线投射 算法的基础上,首先对平面切割技术进行了研究,实现了平面切割,切割后图像 旋转、多刀切割等操作,在此基础上实现了多平面切割操作,然后对曲面切割技 术进行了研究并提出新的实现方法,最后给出了相应的实现结果。 第四章:对基于g p u 的三维纹理的体切割技术进行了研究。首先介绍了基于 深度缓存的体切割技术,提出了基于阴影图的体切割技术,这些技术均能够达到 实时显示的效果,然后介绍了基于体数据标记的体切割技术,并阐述了手术刀操 作和混合切割技术,最后对基于c p u 的光线投射和基于g p u 的三维纹理映射等 体绘制算法的体切割技术进行了比较。 第五章:在简要回顾论文工作的基础上,对医学影像信息平台的虚拟手术刀 技术及其相关领域的未来发展方向给出一些个人的看法。 第二章直接体绘制技术 7 第二章直接体绘制技术 2 1 引言 直接体绘制是三维数据可视化过程中的一项非常重要的技术,对此前人已经 做了很多基础研究,并提出了一些有效的方法来实现体绘制【2 5 1 。本文的虚拟手术 刀技术主要是基于光线投射体绘制和三维纹理映射体绘制,因此有必要在此简单 介绍这两种直接体绘制算法。 基于c p u 的光线投射体绘制算法是体绘制技术中的一种经典算法,该算法所 有的计算都由c p u 完成,因此重建速度慢,无法达到实时的效果,在此基础上的 虚拟手术刀受到算法的限制,切割速度相对较慢;基于g p u 的三维纹理映射体绘 制,利用g p u 高速浮点运算能力,使重建图像能够实时显示,虚拟手术刀操作的 速度也大幅度提高,基于深度缓存的体切割技术更是能达到实时显示的效果。本 章主要对虚拟手术刀技术所涉及的相关技术进行介绍。 2 2o p e n g l 图形渲染管线及可编程图形管线 可视化技术已经成为当今的工程、研究、商业运作中很重要的一部分。对于 医学c t 切片等大数据量数据,可视化技术对于理解这些数据是必不可少的。随着 日益增大的数据量,提高可视化技术是一大挑战。多年来计算机图形处理器 ( g r a p h i c sp r o c e s s i n gu n i t ,g p u ) 以大大超过摩尔定律的速度高速发展,极大地提 高了计算机图形处理的速度和图形质量 2 6 1 。因为图形处理器是专门设计的,它执 行图形处理任务要比多用途的中央处理器快许多。本节主要介绍实现可视化技术 所使用的图形硬件。 2 2 1 图形渲染管线 图形渲染管线也称为渲染流水线,一个流水线是一系列可以并行和按照固定 顺序执行的阶段。 图2 1 显示了当今图形处理器所使用的图形渲染流水线【2 7 】。三维应用程序传给 图形处理器一系列的顶点组成不同的几何图元:典型的多边形、线段和点。 顶点连接信息 像素位置 图2 1 图形渲染管线 素 基于容积重建的虚拟手术刀技术研究 一、顶点变换 顶点变换是图形渲染流水线的第一个阶段。主要完成顶点坐标从物体空间到 窗口空间的变换,以便光栅器使用,为贴图产生纹理坐标,以及照亮顶点以决定 它的颜色。图2 2 显示了图形渲染顶点变换序列。 图2 2 图形渲染顶点变换序列 二、图元装配和光栅化 经过变换的顶点流按照顺序执行图元装配和光栅化。首先,在图元装配阶段 把顶点装配成几何图元,即一系列的多边形、线段和点。这些图元需要经过剪裁 到可视平截体和任何有效的应用程序指定的裁剪平面。光栅器还可以根据多边形 的朝前或朝后来丢弃一些多边形。接下来剩下的多边形必须被光栅化,产生像素 位置的集合和片段的集合。 三、片段纹理映射和着色 在光栅化阶段产生的片段集合,在该阶段进行必要的插值,执行一系列的贴 图和数学操作,最后确定其最终的颜色值,确定一个新的深度或者丢弃这个片段。 四、光栅化操作 光栅操作是针对每个片段的操作。此阶段根据一系列测试来检查每个片段, 如果片段通过了测试,更新像素的颜色和深度,如果任何一项测试失败了,片段 被丢弃。图2 3 显示了这一系列操作。 颜色 缓冲区 i _ _ - - - _ - - _ - : 图2 3 标准o p e n g l 和d i r e c t 3 d 光栅操作 第二章直接体绘制技术 9 2 2 2 三维图形编程接口 在图形处理器出现以前,三维应用程序使用中央处理器来实现三维图形的渲 染,现在,图形处理器的快速发展和普及,使得三维应用程序可以使用标准三维 编程接口( a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ,a p i ) ,从而让a p i 自动和硬件的驱 动程序沟通,启动3 d 芯片内强大的3 d 图形处理功能,从而大幅度地提高了3 d 程序 j ;勺设计效率。几乎所有的3 d i j n 速芯片都有自己专用的3 da p i ,目前普遍应用的3 d a p i 有o p e n g l 、d i r e c t x 等。 、o p e n g l o p e n g l 是个专业的3 d 程序接口,是一个功能强大,调用方便的底层3 d 图形 库。o p e n g l 的前身是s g i 公司为其图形工作站开发的i r i sg l 。i r i sg l 是一个工 业标准的3 d 图形软件接口,功能虽然强大但是移植性不好,于是s g i 公司便在i r i s g l 的基础上开发t o p e n g l 。最初,o p e n g l 只能在功能强大的u n 图形工作站上 运行。然后,m i c r o s o f t 实现了o p e n g l ,以作为一种在它自己的w i n d o w sn t 操作系 统上支持三维图形的方法。m i c r o s o f t 随后在w i n d o w s9 5 和其他m i c r o s o f t 的桌面操 作系统上都增加了对o p e n g l 的支持。o p e n g l 的英文全称是“o p e ng r a p h i c s l i b r a r y ,顾名思义,o p e n g l 便是“开放的图形程序接口”。 o p e n g l 是工业界里最好的跨平台的三维图形编程接口。除了支持u n i x - f 作 站和w i n d o w s 个人计算机以外,o p e n g l 还被a p p l e 在它的m a c i n t o s h 个人计算机上 支持。l i n u x 用户既可以使用开放源码的o p e n g l 实现m e s a ,也可以使用硬件加速 的方法实现,例如n v i d 认为l i n u x 开发的o p e n g l 驱动程序。 从o p e n g l 诞生起,它一直伴随着图形硬件一起发展。o p e n g l 是可扩展的, 这意味着o p e n g l 实现可以以一种逐渐增加的方式在o p e n g l 添加新功能。目前 o p e n g l 最高的版本规范是3 0 2 8 】,发布于2 0 0 8 年8 月11 日,保持与旧版本之间的完 整兼容性,尽管为了简化未来版本的a p i 而不赞成对旧版本的兼容性。o p e n g l3 0 仍然作为一个开放性和跨平台的3 d 图形接口标准,在s h a d e r 语言盛行的今天, o p e n g l 3 0 增加了新版本的s h a d e r 语言:g l s l1 3 0 ,可以充分发挥当前可编程图形 硬件的潜能。同时,o p e n g l 3 o 还引入了一些新的功能,例如顶点矩阵对象,全帧 缓存对象功能,3 2 b i t 浮点纹理和渲染缓存,基于阻塞队列的条件渲染,紧凑行半 浮点顶点和像素数据,四个新压缩机制等等。 二、d i r e e t 3 d m i c r o s o f t 大约从1 9 9 5 年就开始开发d i r e e t 3 d 编程接口了,它是d i r e c t x 多媒体的 一部分【2 7 1 。d i r e c t 3 d 是组成d i r e c t x 的编程接口之一,所针对的是电脑游戏编程以 及娱乐应用。d i r e c t 3 d 与o p e n g l 的不同之处在于,d i r e c t 3 d 是为微软公司私有的, 用于其w i n d o w s 平台的硬件3 d 加速而开发的a p i ;而o p e n g l 是开放的标准图形编 1 0 基于容积重建的虚拟手术刀技术研究 程接口,为2 d 和3 d 图形渲染提供了大量的函数,并且它可以用于现代的大部分操 作系统上,如果硬件3 d 力f l 速器存在,o p e n g l 就能使用它。 d i r e e t 3 d 与o p e n g l _ 在提供的核心函数方面大同小异,只是o p e n g l 允许自由添 加扩展,而d i r e c t 3 d 没有提供扩展机制,但是d i r e c t 3 d 所定义的特性可能会超出目 前图形硬件所支持的功能,从而提供了未来的功能定义。对于目前所不能支持的 硬件功能,d i r e c t 3 d 会提供一个软件模拟版本,但运行速度远不及硬件支持。 本文主要使用o p e n g l 2 0 版本,利用了其可编程机制。 2 2 3 可编程图形管线 图形处理器提供更多的可编程性是当今图形硬件设计上最明显的趋势。可编 程图形管线是在本文2 2 1 节介绍的传统图形渲染管线的扩展,将顶点和片段处理 分离成可编程单元,使编程更具有灵活性。图2 4 显示可编程图形管线口7 1 。 3 d 应用程序 或游戏 z 用程序编i 接口命令+ 3 da p i : 0 p e n g l 或 d i r e c t 3 d u 1 j b r u ,于开 g p u 命令和 数据流r 佰占壶挂日曲生抽 引漉形、线段和点 光栅化和插 像素位置流 像素更新 6 p u 前端图元装配光栅化操作帧缓冲 值 d 变换前的 变换后的 光栅化的 变换后的 顶点 顶点变骜堕的片段 一可编程顶点l 片段 i 可编程片段l - 1 处理器 l 处理器 图2 4 可编程图形管线 可编程项点处理器代替了传统图形渲染管线中的顶点变换,主要是将应用程 序中输入的顶点数据流,由用户编写的顶点程序来处理,主要完成坐标变换、纹 理坐标生成、裁剪、着色等功能,当顶点程序结束的时候,最新的变换后的顶点 输出到结果寄存器。在三角形组成和光栅化后,每个寄存器的值经过插值后传递 给片段处理器。 可编程片段处理器代替了传统图形渲染管线中的片段纹理映射和着色,将光 栅化后的片段,用片段处理程序来处理,处理结果主要是生成各个片段的颜色和 深度值信息,在后续阶段更新帧缓存,最终显示在屏幕上。此阶段中最常用的操 作是纹理映射,处理器可以通过一组纹理坐标存取纹理图像,然后返回一个纹理 图像过滤的采样,为最终的片段颜色和深度信息提供素材。 本文的基于g p u 的虚拟手术刀技术利用到了可编程图形渲染管线中的顶点和 第二章直接体绘制技术 片段处理器,并且关键算法的实现都是基于此的。 2 3 基于c p u 的光线投射体绘制算法 光线投射体绘制算法是直接体绘制的一种经典算法。直接体绘制算法认为体 数据中每个体素都具有一定的属性( 光亮度和阻光度) ,通过计算所有体素对光线 的作用即可得n - - 维投影图像,有利于保留三维医学图像中的细节信息。 2 3 1 算法的基本原理 光线投射体绘制算法从成像平面的各像素发出光线穿过体数据,按照一定的 采样步长进行采样,通过插值计算每个采样点的颜色值和阻光度值,再按照由前 向后或由后向前的方式对颜色值和阻光度值进行累加,最后获得成像平面所有像 素的颜色值,绘制出最终图像。该算法主要包括数据分类、明暗度计算、颜色赋 值和图像合成。该算法的主要优点是能较好的反映数据场的整体结构,通过适当 调节参数,可以很好地显示局部细节。主要缺点是计算量大,影响图像质量的因 素多且相互关联,难以实现实时交互1 2 9 j 。 算法描述如下: 1 ) 对于屏幕上的每个像素,由视点经此像素发出一射线,并求此射线与体数 据的交点; 2 ) 若交点少于两个,则此像素点的颜色为背景色转1 ) ,否则转3 ) 3 ) 找出体数据中与该射线相交的所有体元,并求出与每个体元的交点; 4 ) 按由前到后或由后到前的顺序,对每个体元计算积累颜色、阻光度值; 5 ) 根据颜色和阻光度等绘制像素; 6 ) 若遍历完所有的像素,则结束。若没有,则转1 ) ,计算下一个像素点的颜 色值和阻光度值。 下面对与虚拟手术刀技术相关的数据分类和图像合成过程进行讨论: 1 、数据分类 7 1 三维数据场中的数据是三维空间中多种不同物质的测量结果或计算机数值计 算的结果。例如,在人体或动物的c t 扫描图像中,对应于骨骼、肌肉和皮肤等不 同密度的物质,就有不同的c t 值,在c t 图像中表现为具有不同的灰度值。 三维数据值的分类是整个可视化算法中非常重要的一步。只有对三维数据值 进行准确的分类,才能经过后续处理得到合理的图像。 在光线投射体绘制算法中,本文采用了阈值法,即根据三维数据场所在的应 用领域的背景知识,或对全部采样点的取值进行统计后,设定若干阈值 g g = 1 2 ,z ) 。本文将采样点的数值映射到0 2 5 5 之间,用矿。来表示,则满足下 列条件的采样点归入同一类中,即 基于容积重建的虚拟手术刀技术研究 g v o c j + 1 ( 2 - 1 ) 在体绘制的结果图像中,需要显示三维数据场的内部结构因而需要生成具 有透明效果的图像。o p e n g l 使用a l p h a 作为不透明度( 阻光度) 。a l p h a 值为0 0 时所代表的材料是完全透明的。a l p h a 值为1 0 时所代表的材料则是完全不透明的。 根据式( 2 1 ) 的分类结果,同一差中的材质具有相同的不透明度不同类中的材 质赋以不同的不透明度。 对于物质结构比较简单的三维数据场来说,按以上方法累加得到颜色和阻光 度后,生成的图像质量较好。 2 、图像合成 在三维空间体数据分类的基础上,根据每个采样点的颜色值和阻光度值利 用一定的合成规则,生成最终的该像素颜色值和阻光度值。当把整个屏幕的各个 像素点的颜色和阻光度值计算出来后,就得到最终的体绘制图像。 本文主蔓采用由前向后的图像合成方法,设g 为第f 个采样点处的累加颜色 值,则g 可通过如下公式进行计算: g2 0 。+ ( 1 一“1 ) 船 ( 2 2 ) 口,= 4 一i + r 1 一d j 1 1 h 式( 2 2 ) 中,矗为第i 个采样点处的颜色值;打为第i 点的阻光度值;n t 为第 i 个采样点处的累加阻光度值。 由前向后的图像合成方法的主要优点是【”,在由前向后进行图像合成的过程 中,阻光度n 必然逐步增大。当其值趋近于1 时,说明该像素点的图像已接近于 完全不透明,后面的体元不会再对该像素点的图像有所贡献,因而可以不再计算 了。由于由前向后的图像合成方法可以省去无效的计算,速度较快,因而得到了 更为广泛的应用。 2 3 2 光线投射体绘制结果 图2 5 光线投射体绘制结果 第二章直接体绘制技术 图2 5 是光线投射体绘制的结果,其中视线方向沿z 轴负方向。 2 4 基于g p u 的三维纹理体绘制算法 随着图像硬件的快速发展,基于g p u 的体绘制技术在加速渲染领域显示了它 的强大实力。它涉及到将体数据生成三维纹理、重采样和插值运算,这些操作都 是用硬件来代替了软件实现。这种想法最初由c u l l i p 和n e u m 跚【3 0 】在1 9 9 3 年介绍 的,由c a b r a l e l 4 】等人在1 9 9 4 年将其扩展到医学图像处理上。由于渲染速度和图像 质量的优越性,使该算法广泛应用于各种体数据可视化系统中。本节主要介绍基 于g p u 的三维纹理体绘制算法。 2 4 1 算法的基本原理i 3 1 l 传统的基于s l i c e 的三维纹理体绘制从体数据中采样出一组平行于视平面的数 据,以从后往前或从前往后的顺序将这些数据叠加,生成最终的图像。 三维纹理体绘制算法的流程如图2 6 。 输入体数据卜一体数据分类卜叫生成3 d 纹理 纹理坐标设 置 绘制面片 图2 6 三维纹理体绘制流程图 1 、输入体数据 输入体数据是将d i c o m 或者其他格式的文件输入到程序中,本文获得的体数 据使用一个一维数组保存,是在空间位置上分别以x ,y ,z 递增的顺序保存的。 2 、体数据分类 体数据分类是把获得的体数据映射成颜色和阻光度。这个分类过程可以用式 ( 2 3 ) 表示。其中l ( x ,y ,z ) 为体数据值,( ,i ,g ,b ,口) 丁为对应的颜色和阻光度。本文 中使用( ,g ,b ,口) r = i ( x ,y ,z ) 的分类函数。本文中体数据值用s h o r t 来存储,颜色 值由u n s i g n e d c h a r 来存储,符合这样的分类规则。 f ( 1 ( x ,y ,z ) ) = ( ,g ,b ,口) 1 ( 2 - 3 ) 3 、生成3 d 纹理 生成3 d 纹理阶段,将上述得到的体数据生成三维纹理,调用o p e n g l 函数: g l t e x l m a g e 3 d ( g l - _ t e x t u r e _ 3 d ,0 ,g li n t e n s 玎y m _ x s i z e ,m _ y s i z e ,m _ z s i z e ,0 ,g ll u m i n a n c e ,g lu n s i g n e db y t e ,p v o l u m e ) ;同时设置纹理参数如下: g l t e x p a r a m e t e r i ( g l _ - t e x t u r e _ 3 d ,g l - - t e x t u r e _ w r a p s ,g l - - c l a m p ) ; g l t e x p a r a m e t e r i ( g l - - t e x t u r e _ 3 d ,g l _ - t e x t u r e _ w r a p _ t , g l _ c l a m p ) ; g l t e x p a r a m e t e r i ( g l _ i t e x t u r e _ 3 d ,g l _ - t e x t u r e _ w r a p _ r , g l - c l a m p ) ; 1 4 基于容积重建的虚拟手术刀技术研究 g l t e x p a r a m e t e r i ( g l - - t e x t u r e _ 3 d ,g l - - t e x t u r e _ m a gf i l t e r ,g l l i n e a r ) ; g l t e x p a r a m e t e r i ( g l _ t e x t u r e _ 3 d ,g l - t e x t u r em i n _ f i l t e r , g l _ l i n e 哟; 将g lt e x t u r em a gf i l t e r 和g lt e x t u r em i nf i l t e r ,设置为 g ll i n e a r ,启用了线性过滤,能够得到更加平滑的图像。 4 、纹理坐标设置 纹理坐标设置在基于g p u 的实现过程中主要由编写顶点程序和片段程序来实 现。下面简要介绍顶点程序和片段程序。 当顶点程序启用时,固定管线中的某些功能就失效了,包括:除视口变换外 的所有坐标变换,纹理坐标变换,法向量不自动变换到视点坐标系下,也不归一 化,纹理坐标不允许自动生成,不进行顶点光照计算,不进行材质颜色计算,不 进行光照索引。 所以,在顶点程序中必须人为进行坐标变换和纹理坐标生成,如: v e r t e x o u t = m u l ( m o d e l v i e w p r o j ,v e r t e x i n ) ; t e x c o o r d o u t = ( v e r t e x l n x y z + 1 o ) 2 o ; 其中v e r t e x o u t 为变换后的顶点位置,m u l 语句将变换前的顶点位置v e r t e x l n 与模型、视点以及投影矩阵之积m o d e l v i e w p r o j 相乘。v e r t e x o u t 输出到后续的片 段程序中。t e x c o o r d o u t 作为纹理坐标输出。 片段程序主要实现对三维纹理进行采样,产生片段的颜色值,用于后面阶段 的混合操作。没有涉及光照的片段程序如下: h a l f 4m a i n ( h a l f 3u 、r w :t e x c o o r d 0 , h a l f 4c o l :c o l o r , u n i f o r i l ls a m p l e r 3 dv o l u m e , u n i f o r ms a m p l e r ld c o l o r t a b l e ) :c o l o r h a l f 4v a l u e = t e x 3 d ( v o l u m e ,u v w ) ; h a l f 4c o l o r = t e x l d ( c o l o r t a b l e ,v a l u e a ) ; r e t u r nc o l o r ; ) 5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论