DICOM图像的三维重建算法——面绘制算法和体绘制算法

  • Post author:
  • Post category:其他




对医学影像进行三维重建最常用的算法有两类:一类是基于构建物体表面的面绘制算法;一类是直接绘制物体三维体素的体绘制算法。本文通过两种最常用的算法,总结面绘制和体绘制的基本思想。



1、 基于面绘制的Marching Cubes算法

面绘制算法的基本原理:在医学影像中,物体的表面实际上是一个闭合的灰度等值面,其灰度值称为阀值,在该等值面内部,所有体素的灰度值都大于这个阀值,在等值面外部,所有体素的灰度值都小于这个阀值。因此,只要提取出灰度等值面,就可以重建物体表面。


MC(Marching Cubes)算法

,是最常用的面绘制算法。MC算法将一系列二维切片数据看作是一个三维的数据场,通过提取三维数据的等值面,构建三维模型出三维模型的表面网格,进而构建出三维模型。

等值面的提取过程,采用了

分而治之

的思想,将三维数据划分为若干个体素(立方体),把提取三维数据等值面的问题,分解为提取每个体素等值面的问题。MC算法会逐个处理数据场中的立方体,找出与等值面相交的立方体,采用线性插值计算出等值面与立方体边的交点。根据立方体每一顶点与等值面的相对位置,将等值面与立方体边上的交点按一定方式连接生成等值面,作为等值面在该立方体内的一个逼近表示。

算法详解见:

https://blog.csdn.net/m0_37763682/article/details/104425191



2、 基于体绘制的 Ray-casting算法

体绘制算法的基本原理:体绘制是将三维空间的离散数据直接转换为最后的立体图像,而不必生成中间几何图元(面绘制需要), 其中心思想是为每一个体素指定一个不透明度,并考虑每一个体素对光线的透射、发射和反射作用。因此体绘制能够更好的展示三维模型的空间体细节。

体绘制常用的算法:光线投射算法(Ray-casting)、错切 – 变形算法(Shear-warp)、频域体绘制算法(Frequency Domain)和抛雪球算法(Splatting)。其中又以光线投射算法最为重要和通用。


光线投射算法

( Ray-casting )原理:从图像平面的每个像素都沿着视线方向发出一条射线,此射线穿过体数据集,按一定步长进行采样,由内插计算每个采样点的颜色值和不透明度,然后由前向后或由后向前逐点计算累计的颜色值和不透明度值,直至光线完全被吸收或穿过物体。

该方法能很好地反映物质边界的变化,使用Phong模型,引入镜面反射、漫反射和环境反射能得到很好的光照效果,在医学上可将各组织器官的性质属性、形状特征及相互之间的层次关系表现出来,从而丰富了图像的信息。



总之,面绘制和体绘制是基于两种完全不相同的思路。面绘制是通过构建三维模型的表面网格,从而绘制三维模型的轮廓。体绘制直接绘制三维数据的每一个像素点,从而构建出包含内部空间信息的三维立体模型。



版权声明:本文为weixin_42352178原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。