论文部分内容阅读
可视化是利用计算机图形学和图像处理技术,将数据转换成图形或图像在屏幕上显示出来,并进行交互处理的理论、方法和技术。可视化应用涉及到科学计算、虚拟现实、机械工程、辅助医学诊断等多重领域。把医学数据,如CT, MRI、PET等,通过各种真实的以及非真实性渲染,表达为视觉图像,帮助医生分析复杂的病理情况,这就是可视化在医学领域的使用。本文是按照研究生期间学习与研究的进展顺序来描述的,这同时也是对可视化领域的一个不断深入的过程。从基本的体绘制开始。体绘制是一种直接由三维数据场产生屏幕上二维图像的技术,常用的算法有光线投射法、错切变换法、三维纹理帖图法、足迹表法等。近年来主要集中在光线投射算法的研究,其理论基础是1988年SABELLA提出的吸收发射模型。首先需要对数据进行分类处理,不同类别赋予不同的颜色和不透明度值,然后根据空间中视点和体数据的相对位置确定最终的成像效果,通过加入光照模型,以增强现实感。体绘制技术最大的优点是可以探索物体的内部结构,描述非常定型的物体;缺点是数据存储量大,计算时间长。因此,当前的热点是基本可编程图形显卡的体绘制算法和并行化的体绘制算法。这些都是真实性渲染,追求的是最大程度的还原体数据为真实的人体模型,把医生从数据的海洋中解放出来,而赋予最直观的视觉识别。但随之而来的是一些问题,一些关键性的区域会被覆盖在其上的组织所遮挡,当医生对一些病灶区域、微小的血管等进行观察时,真实性渲染往往无能为力,非真实性渲染应运而生。非真实性渲染指的是利用计算机生成不具有照片般真实感,而具有艺术创作风格的图形绘制技术。有效的非真实性渲染方法用于解决遮挡问题的有培切法、光学模型方法、艺术雕塑,基于高斯模型的保留上下文绘制方法。可视化技术使得医生能够获取复杂的医学数据内部结构,不同类型的医学数据往往包括不同的相信甚至互补的信息,如PET提供病灶详尽的功能与代谢分子信息,而CT提供病灶的精确解剖定位。如何能把这2种甚至多种模态获取的信息有效的结合起来?我们的目标是找到一种好的融合方式,达到在互不干扰的情况下,同时表达不同数据形式内部信息的目标。我们使用两个传递函数分别对PET与CT的数据进行分类,使用统计信息作为融合权重。一次渲染可获得多种信息,具有准确、灵敏及定位精确等特点,可清晰的了解整体状况,达到发现病灶和诊断疾病的目的。相对于体绘制的复杂性,最大密度投影(Maximum intensity projection, MIP)是一种简洁的方法用于产生类似于X光的图像。沿着从视点到投影平面的平行光线,各个体素密度值所呈现的亮度将以某种方式加以衰减,并且最终在投影平面上呈现的是亮度最大的体素。最大密度投影反映组织的密度差异,对比度较高,临床上常用于显示具有相对较高密度的组织结构,如注射对比剂后显影的血管、明显强化的软组织肿块等,对于密度差异较小的组织结构则难以显示。这种方法可用于显示细小血管及血管壁的钙化。MIP对血管的形态、走向、分布和管壁钙化显示较好。类似于最大密度投影的实现,还有平均密度投影(Mean intensity projection, Mean MIP)以及最小密度投影(Minimum intensity projection, Min MIP)。最小密度投影是在某一平面方向上对所选取的三维组织层块中的最小密度进行投影,主要用于气道的显示。偶尔也用于肝脏增强后肝内扩张胆管的显示。体绘制用于产生直接的视觉效果,使用的往往是符合人眼视觉的透视投影,医生通过体绘制成像做定性的分析。但当医生需要进行准确诊断,或者做一些诸如统计平均灰度值等定量的分析时,体绘制无能无力。多平面重建可以满足这些要求,原始体数据的密度值被忠实的保持到了结果图像上。多平面重建(Multi planar reconstruction, MPR)是将扫描范围内所有的轴位图像叠加起来再对某些标线标定的重组线所指定的组织进行冠状、矢状位、任意角度斜位图像重组。MPR不足之处是难以像体绘制一样表达复杂的空间结构。更为复杂一些的是带厚度的MPR,即把MPR与MIP结合起来。这时的MPR不是单指一层,而是多层或者有一定的厚度(往往以毫米为单位),在某一指定的层数或厚度内使用最大密度投影来成像,或者是最小密度投影和平均密度投影。这种方式往往应用于血管的显示上,通过把厚度调整到血管的位置上,对血管进行精确的显示。临床上的厚度一般设置为100毫米到400毫米。以上从基本的体绘制,到培切显示、保留上下文的绘制、艺术雕塑,再到融合显示、多平面重建,以及带厚度的多平面重建等多种绘制方法,是根据临床的应用而逐渐深入。在实现上为了满足交互式的帧率,利用了可编程图形显卡(Graphic Processing Unit, GPU),其优势是提供数十倍乃至上百倍于CPU的性能,支持十万百万个运算单元的并行运算。但在处理足够大的数据时,GPU因为显存不够无法同时处理如此大的数据,而导致全盘崩溃。有效的解决路径是重新合理分配GPU的显存的使用,另一种是从GPU回到CPU,寻求CPU的加速实现算法。