一种基于VTK的文物CT影像与三维外壳融合切割的方法

文档序号:34996461发布日期:2023-08-03 23:21阅读:162来源:国知局
一种基于VTK的文物CT影像与三维外壳融合切割的方法与流程

本发明涉及文物保护多元数据管理与融合展示研究领域,具体属于一种基于vtk的文物ct影像与三维外壳融合切割的方法。


背景技术:

1、文物资源是一种特殊、不可再生、不可共享的非数字资源。采用信息技术对文化遗产进行复刻留存,不仅能结合多媒体技术和系统设计方法来面向整个世界进行活化展示,将其蕴含的文化、艺术价值进行广泛的传播;同时也可以获取文物内部的形状、结构、密度,这对文物制作工艺、成分分析以及年代判定等方面起着重要作用。

2、计算机断层扫描——ct(computed tomography)技术作为一种医疗诊断工具,其无损检测的优点有效地满足对文物内部结构探索的需求。其最主要的目的是精确地获取文物内部各组织结构相对位置,检测对象结构尺寸的测量,以及进行密度分析,同时精确的三维模型数据也是后期数字化应用的基础。

3、但仅有ct数据不足以满足文物研究的完整性和全面性。由于出土文物经常面临复杂的病害问题,包括腐蚀、挤压变形、破碎、残缺等,以及可能存在大量泥土填充并板结的情况,从ct灰度图上无法分辨结构细节,这时就必须结合文物颜色外观进行研究。此外,大量文物的外表面本身有各种色彩、纹路,例如珐琅、青花瓷、青铜器等,其绚丽的颜色外观是文物研究无法忽略的部分,因此,将三维外壳和二维ct影像融合研究非常必要。

4、目前的二维ct影像由计算机断层扫描得到序列数据集,带颜色的三维外壳模型可由三维激光扫描或拍照建模提取得到,但两者数据来源不同、类型不同,可于不同的窗口分别显示。因此需要首先对文物二维ct影像与三维颜色外壳模型进行配准融合,精确地还原文物本身的样貌,在此基础上再从任意角度进行整体切片观察,即在三维外壳切割的切面上直接显示该处的ct影像,便于展示二者的空间关系的同时也实现精准的定位。


技术实现思路

1、有鉴于此,本发明的目的是提供一种基于vtk的文物ct影像与三维外壳融合切割的方法,将二维ct影像与三维外壳置于同一坐标空间下融合配准之后,可以进行统一虚拟切片切割观察,完成文物任意角度的整体、部分以及切面的展示呈现。

2、一种基于vtk的二维文物ct影像和三维外壳融合切割的方法,包括以下步骤:

3、步骤s1、数据采集:通过计算机断层扫描技术对文物进行扫描,得到ct序列图像数据;再对文物进行扫描测量,获取三维外壳模型;

4、步骤s2、读取数据:通过visualization toolkit内置类分别读取步骤s1得到的文物ct序列图像数据与三维外壳数据;

5、步骤s3、体渲染重建:利用vtk对步骤s2读取的ct序列图像进行体渲染,然后得到三维实体模型;

6、步骤s4、配准融合:将步骤s3中体渲染重建得到的三维实体模型与步骤s1中读取的三维外壳模型在大小、位置、方向上进行匹配,以此将三维外壳套在三维实体模型上;

7、步骤s5、虚拟切片:构建三维切割平面,对体渲染得到的三维实体模型进行剖面切片处理,切片平面获取ct数据并将数据输出至纹理映射管线,得到该剖面的ct二维贴图;

8、步骤s6、切割外壳:采用vtkclippolydata()类定义一个切割器cliper,将三维外壳模型输送给cliper,设置切割器的切割平面vtkplane,将裁剪后的模型数据设置为clipeddata放入clipmapper传递给一个clipactor;

9、步骤s7、设置回调函数将外壳切割平面与ct二维贴图实时关联起来。

10、较佳的,所述步骤s4具体包括如下步骤:

11、(1)将步骤s3中体渲染重建得到的三维实体模型与步骤s1中读取的三维外壳模型中的一个作为源点云,另一个作为目标点云;从源点云中采样得到源点集p={pi,i=0,1,2,…,k},对目标点云采样得到目标点集q={qi,i=0,1,2,…,n},k≥n;

12、(2)对于目标点集q中的每一个点,在源点集p中都找出距该点最近的对应点,由这些对应点更新点集p,得到{pi,i=0,1,2,…,n};

13、(3)根据源点集p和目标点集q的坐标信息,分别计算两个点集的重心;

14、(4)计算两个重心之间的旋转矩阵r和平移向量t;

15、(5)根据(4)计算得到的计算旋转矩阵r和平移向量t,对源点集p中点进行刚性变换,变换后获得新的点集,定义为p′,其中元素为:

16、pi′=r×p+t

17、(6)由新的点集p′和目标点集q内的全部点,计算误差函数e(e,t);其中,误差函数e(r,t)定义为点集p′与其对应的目标点集q中点qi之间的距离差的平方;

18、(7)根据误差函数e(r,t)或者迭代次数是否满足要去判断迭代是否结束,若达到了要求,则迭代结束,输出最后一次计算的旋转矩阵r和平移向量t,并对源点云进行变换,实现配准;若未达到要求,用点集p′更新源点集p,返回步骤(3),继续下一次配准。

19、较佳的,,所述步骤s4中,先将步骤s3中以vtkimagedata数据格式存储的体渲染重建模型,用vtkdiscretemarchingcubes将其转化为网格数据vtkpolydata类型;

20、使用vtkiterativeclosestpointtransform类中的setsource()和settarget()函数设置源点集和目标点集;

21、采用setmaximumnumberofiterations()函数设置所述迭代次数;采用startbymatchingcentroidson()函数计算所述重心;通过getmatrix()函数来获取旋转矩阵r和平移向量t。

22、较佳的,所述步骤s4中,采用手动方式配准,包括:

23、s401:将vtkpolydata放入actor,拖动actor使之到达正确位置,获取actor的位移,再作用到vtkpolydata上,得到位移后的vtkpolydata数据;

24、s402:利用vtktransformpolydatafilter实现vtkpolydata数据类型的三维外壳模型的移动、旋转、平移,使其与步骤s3中得到的体渲染模型手动配准;

25、s403:利用vtktransform.scale设置缩放大小;

26、s404:利用vtktransform.rotate设置x、y、z三个方向的旋转角度;

27、s405:利用vtktransform.translate设置空间坐标x、y、z的前后移动距离。

28、较佳的,所述步骤s2中,通过三维激光扫描或者相机拍照的方式对文物进行测量,获取被测对象表面的包括三维坐标、反射率、颜色数据信息,复建出1:1三维外壳模型。

29、较佳的,所述步骤s2中,采用vtkdicomimagereaderv读取dicom格式的ct序列图像数据,vtkpngreader读取png格式的二维ct切片数据,设置setdirectoryname读取序列切片。

30、较佳的,所述步骤s2中,采用vtkobjreader读取obj格式的三维外壳数据,设置vtktexture读取外壳颜色图片,利用vtkactor几何数据渲染的settexture的方式进行贴图,得到三维颜色外壳。

31、较佳的,所述步骤s3中,体渲染重建采用光线投射算法、错切-变形算法、频域体绘制算法或者抛雪球算法实现。

32、较佳的,所述步骤s5中,虚拟切片的方法包括:通过3d交互部件vtkimageplanewidget获得体绘制模型剖面的ct二维贴图。

33、较佳的,所述步骤s6包括:

34、步骤s601:用vtkclippolydata()类定义一个切割器cliper,将三维外壳数据输送给cliper;

35、步骤s602:使用vtkplane构造切割工具;

36、步骤s603:通过vtkclippolydata设置隐函数,getclippedoutputport用于获取剪切留下的数据部分;

37、步骤s604:将裁剪后的模型数据设置为clipeddata放入clipmapper传递给一个clipactor;

38、所述步骤s7具体包括:

39、在回调函数中设置交互器vtkimageplanewidget,每当widget空间位置被改变时,就触发函数将外壳切割平面的vtkplane位置和法向量均设置为与步骤s5的剖面贴图的平面同一状态,同时将切割后的cliped模型传递给clipedmapper,实时刷新切割后的模型。

40、本发明具有如下有益效果:

41、本发明提供了一种基于vtk的文物ct影像与三维外壳融合切割的方法,实现了对文物的ct二维影像与三维外壳进行融合分割的效果,包括对整体模型(包括三维颜色外壳和ct体渲染)进行任意角度方向的实时切割,切面精准地显示对应位置的ct影像,直观展示文物各个部分的结构、密度、纹理走向。同时,支持多视角、任意方向切片观察的三维可视化系统,通过鼠标和键盘等图形化交互实现三维图像的缩放、平移、旋转以及切片剖面的灰度图参数调整等功能。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1