读取DICOM数据并生成Texture3D的方法技术

技术编号:25442629 阅读:34 留言:0更新日期:2020-08-28 22:29
本发明专利技术提供了一种读取DICOM数据并生成Texture3D的方法,包括:数组获取步骤:在Unity3D中读取序列文件夹下所有的DICOM文件,并按照文件个数创建对象存储到数组,获得DICOM文件的图像文件数组,用于后续的排序工作;图像排序步骤:根据获得的DICOM文件的图像文件数组升序排序。由于操作等各种不确定因素无法准确判断一个dicom序列文件中的图像数据的准确方向,本发明专利技术通过对dicom文件安装图像编号排序,然后根据最后一张图像和第一张图像的位置和方向信息准确得出三维图像的Z方向。

【技术实现步骤摘要】
读取DICOM数据并生成Texture3D的方法
本专利技术涉及三维建模
,具体地,涉及一种读取DICOM数据并生成Texture3D的方法。尤其地,涉及一种Unity3D下读取DICOM数据并生成Texture3D的方法及系统。
技术介绍
Unity可实时开发平台。打造面向游戏、汽车、交通运输、电影、动画、架构、工程等领域的3D、2DVR和AR可视化效果。Unity3D是由UnityTechnologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blendergameengine,Virtools或TorqueGameBuilder等利用交互的图型化开发环境为首要方式的软件。其编辑器可运行在Windows、Linux(目前仅支持Ubuntu和Centos发行版)、MacOSX下,可发布游戏至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、Windowsphone8和Android平台。也可以利用Unitywebplayer插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Mac所支持。现有专利文献106504317A(申请号:201610900136.7)公开了一种三维模型的外观纹理提取方法及装置,涉及三维模型
方法包括:获取预先设置的初始代理模型,并获取用户输入的三维输入图像;根据三维输入图像和初始代理模型,对初始代理模型进行配准拟合,形成拟合后代理模型;根据拟合后代理模型,对三维输入图像进行本征图像分解,生成三维输入图像的本征图像分解后几何形状和三维输入图像的反照率信息,并确定了三维输入图像的二级几何纹理和材质纹理。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种Unity3D下读取DICOM数据并生成Texture3D的系统。根据本专利技术提供的一种Unity3D下读取DICOM数据并生成Texture3D的系统,包括如下步骤:根据本专利技术提供的一种读取DICOM数据并生成Texture3D的方法,包括:数组获取步骤:在Unity3D中读取序列文件夹下所有的DICOM文件,并按照文件个数创建对象存储到数组,获得DICOM文件的图像文件数组,用于后续的排序工作;图像排序步骤:根据获得的DICOM文件的图像文件数组升序排序;方向判断步骤:读取排序后的第一个DICOM文件和最后一个DICOM文件关于图像方向和位置的Tag值,通过矢量运算后判断图像在空间中的Z坐标方向;数据归一化步骤:找出所有DICOM文件中图像数值的最大值以及最小值,然后将所有文件中的图像数值归一化,获得归一化后的数据;对象创建步骤:根据获得的归一化后的数据以及图像在空间中的Z坐标方向,创建Texture3D对象。优选地,所述图像数值指像素值。优选地,所述数据归一化步骤:找出所有DICOM文件中图像数值的最大值以及最小值,将所有文件中的图像数值归一化到0到1,且数据类型为float型数值,获得归一化后的数据。优选地,所述对象创建步骤:将获得的归一化后的数据,结合获得的图像在空间中的Z坐标方向,存储于一个一维浮点型数组中,然后以单张DICOM二维图像的长为Textur3D的宽度width,单张DICOM二维图像的高度为Texture3D的高度height,DICOM文件的总数为Textue3D的深度depth,创建Texture3D对象。优选地,所述方向判断步骤:步骤S1:读取所有的Dicom图像,并按照Dicom图像的序列编号进行排序,读取任意一张dicom图像方向信息:Dicom体数据的x轴方向ori1和Dicom体数据的y轴方向ori2;步骤S2:读取图像位置信息,从排序后的第一个DICOM文件中的图像数据位置信息pos1和最后一个DICOM文件的图像数据位置信息pos2,并创建三维向量(Vector3):pos1和pos2。步骤S3:将ori1和ori2做叉积得到值:ori;步骤S4:将pos2减去pos1得到值pos;步骤S5:将ori与pos做点积得到值delta;步骤S6:如果delta为大于0的数,则说明排序文件顺序与将要创建的Texture3D的Z方向相同;否则,则相反,如果相反,将排序文件倒序。根据本专利技术提供的一种读取DICOM数据并生成Texture3D的系统,包括:数组获取模块:在Unity3D中读取序列文件夹下所有的DICOM文件,并按照文件个数创建对象存储到数组,获得DICOM文件的图像文件数组,用于后续的排序工作;图像排序模块:根据获得的DICOM文件的图像文件数组升序排序;方向判断模块:读取排序后的第一个DICOM文件和最后一个DICOM文件关于图像方向和位置的Tag值,通过矢量运算后判断图像在空间中的Z坐标方向;数据归一化模块:找出所有DICOM文件中图像数值的最大值以及最小值,然后将所有文件中的图像数值归一化,获得归一化后的数据;对象创建模块:根据获得的归一化后的数据以及图像在空间中的Z坐标方向,创建Texture3D对象。优选地,所述图像数值指像素值。优选地,所述数据归一化模块:找出所有DICOM文件中图像数值的最大值以及最小值,将所有文件中的图像数值归一化到0到1,且数据类型为float型数值,获得归一化后的数据。优选地,所述对象创建模块:将获得的归一化后的数据,结合获得的图像在空间中的Z坐标方向,存储于一个一维浮点型数组中,然后以单张DICOM二维图像的长为Textur3D的宽度width,单张DICOM二维图像的高度为Texture3D的高度height,DICOM文件的总数为Textue3D的深度depth,创建Texture3D对象。优选地,所述方向判断模块:模块S1:读取所有的Dicom图像,并按照Dicom图像的序列编号进行排序,读取任意一张dicom图像方向信息:Dicom体数据的x轴方向ori1和Dicom体数据的y轴方向ori2;模块S2:读取图像位置信息,从排序后的第一个DICOM文件中的图像数据位置信息pos1和最后一个DICOM文件的图像数据位置信息pos2,并创建三维向量(Vector3):pos1和pos2。模块S3:将ori1和ori2做叉积得到值:ori;模块S4:将pos2减去pos1得到值pos;模块S5:将ori与pos做点积得到值delta;模块S6:如果delta为大于0的数,则说明排序文件顺序与将要创建的Texture3D的Z方向相同;否则,则相反,如果相反,将排序文件倒序。与现有技术相比,本专利技术具有如下的有益效果:1、由于dicom文件中表示图像的数值为非Textu本文档来自技高网
...

【技术保护点】
1.一种读取DICOM数据并生成Texture3D的方法,其特征在于,包括:/n数组获取步骤:在Unity3D中读取序列文件夹下所有的DICOM文件,并按照文件个数创建对象存储到数组,获得DICOM文件的图像文件数组,用于后续的排序工作;/n图像排序步骤:根据获得的DICOM文件的图像文件数组升序排序;/n方向判断步骤:读取排序后的第一个DICOM文件和最后一个DICOM文件关于图像方向和位置的Tag值,通过矢量运算后判断图像在空间中的Z坐标方向;/n数据归一化步骤:找出所有DICOM文件中图像数值的最大值以及最小值,然后将所有文件中的图像数值归一化,获得归一化后的数据;/n对象创建步骤:根据获得的归一化后的数据以及图像在空间中的Z坐标方向,创建Texture3D对象。/n

【技术特征摘要】
1.一种读取DICOM数据并生成Texture3D的方法,其特征在于,包括:
数组获取步骤:在Unity3D中读取序列文件夹下所有的DICOM文件,并按照文件个数创建对象存储到数组,获得DICOM文件的图像文件数组,用于后续的排序工作;
图像排序步骤:根据获得的DICOM文件的图像文件数组升序排序;
方向判断步骤:读取排序后的第一个DICOM文件和最后一个DICOM文件关于图像方向和位置的Tag值,通过矢量运算后判断图像在空间中的Z坐标方向;
数据归一化步骤:找出所有DICOM文件中图像数值的最大值以及最小值,然后将所有文件中的图像数值归一化,获得归一化后的数据;
对象创建步骤:根据获得的归一化后的数据以及图像在空间中的Z坐标方向,创建Texture3D对象。


2.根据权利要求1所述的读取DICOM数据并生成Texture3D的方法,其特征在于,所述图像数值指像素值。


3.根据权利要求1所述的读取DICOM数据并生成Texture3D的方法,其特征在于,所述数据归一化步骤:
找出所有DICOM文件中图像数值的最大值以及最小值,将所有文件中的图像数值归一化到0到1,且数据类型为float型数值,获得归一化后的数据。


4.根据权利要求1所述的读取DICOM数据并生成Texture3D的方法,其特征在于,所述对象创建步骤:
将获得的归一化后的数据,结合获得的图像在空间中的Z坐标方向,存储于一个一维浮点型数组中,然后以单张DICOM二维图像的长为Textur3D的宽度width,单张DICOM二维图像的高度为Texture3D的高度height,DICOM文件的总数为Textue3D的深度depth,创建Texture3D对象。


5.根据权利要求1所述的读取DICOM数据并生成Texture3D的方法,其特征在于,所述方向判断步骤:
步骤S1:读取所有的Dicom图像,并按照Dicom图像的序列编号进行排序,读取任意一张dicom图像方向信息:Dicom体数据的x轴方向ori1和Dicom体数据的y轴方向ori2;
步骤S2:读取图像位置信息,从排序后的第一个DICOM文件中的图像数据位置信息pos1和最后一个DICOM文件的图像数据位置信息pos2,并创建三维向量(Vector3):pos1和pos2。
步骤S3:将ori1和ori2做叉积得到值:ori;
步骤S4:将pos2减去pos1得到值pos;
步骤S5:将ori与pos做点积得到值delta;
步骤S6:如果delta为大于0的数,则说明排序文件顺序与将要创建的Texture3D的Z方向相同;否则,则相反,如果相反,将排序文件倒序。

【专利技术属性】
技术研发人员:周振华吕天予肖建如马科威杨诚邵帅盛海红
申请(专利权)人:上海嘉奥信息科技发展有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1