一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于VTK的二维医学影像和三维模型定位联动方法及系统与流程

2022-09-14 22:06:28 来源:中国专利 TAG:
基于vtk的二维医学影像和三维模型定位联动方法及系统
技术领域
:1.本发明属于医学影像数据处理
技术领域
:,尤其涉及基于vtk的二维医学影像和三维模型定位联动方法及系统。
背景技术
::2.本部分的陈述仅仅是提供了与本发明相关的
背景技术
:信息,不必然构成在先技术。3.随着现代医学影像技术的发展,二维影像和三维模型空间定位对于引导手术入路有着关键性的指导意义。4.目前的二维影像和三维模型在不同窗口显示,主要依靠人自主建立空间联系,这样的方式容易引起偏差,无法精准地通过交互操作将二维影像和三维模型放在统一坐标空间下进行观察,不便于展示二者的空间关系,无法实现精准的定位。技术实现要素:5.为了解决上述
背景技术
:中存在的至少一项技术问题,本发明提供基于vtk的二维医学影像和三维模型定位联动方法及系统,其通过将二维和三维模型放在同一坐标空间下观察,更能直观反映二者的空间关系,从而实现精准的定位。6.为了实现上述目的,本发明采用如下技术方案:7.本发明的第一个方面提供基于vtk的二维医学影像和三维模型定位联动方法,包括如下步骤:8.获取二维医学影像数据,基于二维医学影像数据获取任意位置和方向的切面图像;9.基于切面图像,通过mpr定位线交互,旋转获取任意的切面;10.将切面图像显示在位置相匹配的三维模型中,在二维空间中旋转移动交互引发切面图像变化,在三维模型视窗中,将mpr图像交点作为感兴趣拾取点,移动变换该点移动切换不同切面进行二维医学影像和三维模型的联动。11.本发明的第二个方面提供基于vtk的二维医学影像和三维模型定位联动系统,包括:12.切面图像获取模块,用于获取二维医学影像数据,基于二维医学影像数据获取任意位置和方向的切面图像;13.定位交互模块,用于基于切面图像,通过mpr定位线交互,旋转获取任意的切面;14.联动模块,用于将切面图像显示在位置相匹配的三维模型中,在二维空间中旋转移动交互引发切面图像变化,在三维模型视窗中,将mpr图像交点作为感兴趣拾取点,移动变换该点移动切换不同切面进行二维医学影像和三维模型的联动。15.本发明的第三个方面提供一种计算机可读存储介质。16.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的基于vtk的二维医学影像和三维模型定位联动方法中的步骤。17.本发明的第四个方面提供一种计算机设备。18.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的基于vtk的二维医学影像和三维模型定位联动方法中的步骤。19.与现有技术相比,本发明的有益效果是:20.本发明通过在二维空间中旋转移动交互引发切面图像变化,在三维模型视窗中,将mpr图像交点作为感兴趣拾取点,移动变换该点移动切换不同切面进行二维医学影像和三维模型的联动,精准地通过交互操作将二维影像和三维模型放在统一坐标空间下进行观察,更能直观反映二者的空间关系,从而实现精准的定位。21.本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明22.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。23.图1是本发明实施例基于vtk的二维医学影像和三维模型定位联动方法流程图;24.图2是本发明实施例使用vtk类进行管线操作的流程;25.图3是本发明实施例移动旋转交互判断;26.图4是本发明实施例旋转矩阵实现流程。具体实施方式27.下面结合附图与实施例对本发明作进一步说明。28.应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属
技术领域
:的普通技术人员通常理解的相同含义。29.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。30.术语解释31.vtk:视觉化工具函式库(vtk,visualizationtoolkit)是一个开放源码,跨平台、支持并行处理的图形应用函式库,用来进行3d计算机图形,图像处理,可视化。32.其中,vtkimagereslice、vtktransform、vtkimagestack以及mpr均是都是一些可用类名。33.vtkimagereslice类可以从体数据内的一点沿着不同的方向切出一个平面图像;vtkimagereslice是图像几何过滤器的瑞士军刀:它可以以合理高效的旋转、翻转、缩放、重采样、变形和填充图像数据。34.vtktransform用于空间几何变换,包括平移、旋转和缩放。35.vtkimagestack用于管理一系列图像的栈。导入的图像多个图层可以加入此管理器中,每个图像通过其属性对象分配一个层数,正是这个层数决定了合成顺序:层数较高的图像绘制在层数较低的图像之上。图像堆栈有一个setactivelayer方法来控制使用哪一层进行交互和选择。在这里主要用于存放不同切面图像对应的vtkimageactor。36.vtkimagedata是vtk用于标识图像数据拓扑和几何关系的类。一般和管线连接setinputdata()搭配使用。37.vtkimagemaptocolors负责图像彩色映射,vtklookuptable负责生成颜色查找表。38.vtk的渲染管线包括可视化管线和渲染引擎两个部分,可视化管线负责读取和生成数据,渲染引擎将得到的数据渲染成窗口中对象。39.渲染引擎包括vtkactor、vtkrender、vtkrenderwindow40.vtkimageactor继承自vtkactor,用于显示图像,41.vtkrenderwindow负责管理窗口创建和渲染过程。vtkrenderwindow中包含了vtkrender集合、渲染参数等。42.vtkrender负责管理场景的渲染过程,组成场景的对象包括vtkactor、相机(vtkcamera)、光照(vtklight)都被整合到一个vtkrender对象中,一个vtkrenderwindow中可以有多个vtkrender对象。43.实施例一44.如图1所示,本实施例提供基于vtk的二维医学影像和三维模型定位联动方法,包括如下步骤:45.步骤1:获取二维医学影像数据,基于二维医学影像数据获取任意位置和方向的切面;46.步骤2:基于切面图像,通过mpr定位线交互,旋转获取任意的切面;47.步骤3:将切面图像显示在位置相匹配的三维模型中;48.步骤4:在二维空间中旋转移动交互引发切面图像变化,在三维模型视窗中,将mpr图像交点作为感兴趣拾取点,移动变换该点移动切换不同切面进行二维医学影像和三维模型的联动。49.如图2所示,作为一种或多种实施例,步骤1中,所述基于二维医学影像数据获取任意位置和方向的切面的步骤包括:50.基于二维医学影像数据,采用vtkimagereslice对图像进行旋转、翻转、缩放、重采样,设置vtkimagereslice的具体方法是:通过设置输入setinputdata()、输出卷setoutputdimensionality(2)以及插值方式setinterpolationmodetonearestneighbor()。51.更新获取任意位置、方向切面的关键是设置通过setresliceaxes()设置resliceaxes,它是vtkmatrix4x4矩阵,其中第一,二,三列分别为新的坐标系在世界坐标系下的向量坐标,第四列代表的是新的坐标原点在世界坐标系下的坐标值。52.这三个法向量要满足右手法则,即x叉乘y为z,y叉乘z为x,z叉乘x为y。53.作为一种或多种实施例,步骤2中,基于切面图像,通过mpr定位线交互,旋转获取任意的切面,具体包括:54.如图3所示,步骤201:采用十字定位线中心区域范围作为拾取移动区域,十字线任一线段范围作为拾取旋转区域,采用vtkpointpicker鼠标拾取感兴趣点,将拾取到的当前点到十字定位线的空间距离大小和阈值进行比较,判断是否拾取到移动/旋转有效区域内,具体的判断过程为:55.渲染窗口中,线1和线2相交构成十字线,拾取位置距离线1小于阈值,并且距离线2小于阈值,拾取位置可以进行移动;如果拾取位置距离其中一条线小于阈值,距离另一条线大于阈值,判定为可以进行旋转;如果拾取距离两条线都大于阈值,则不能进行移动或者旋转。56.如图4所示为旋转矩阵的流程,步骤202:若拾取到移动/旋转有效区域内,进行旋转操作,计算对应切面的旋转矩阵。57.所述进行旋转操作,计算对应切面的旋转矩阵的具体包括如下步骤:58.(1)旋转角度θ计算:根据旋转中心点centerpos以及交互点lastcursorpos、currentcursorpos构成的空间矢量计算出旋转角度θ。59.(2)旋转矩阵计算:首先将旋转轴移动到原点,利用旋转角度θ计算在三维空间中,绕任意空间向量旋转的中间旋转矩阵r(θ),将旋转轴移动至原来位置;60.获取切面旋转矩阵的整个过程的矩阵运算表达式为:t(c).r(θ).t(-c)。61.利用右手定则根据向量叉乘计算出旋转轴矢量方向,经过十字定位线焦点focuspos,得到确切的旋转轴。62.获取切面旋转矩阵的整个过程使用vtk类进行实现的三个操作包括:63.使用vtktransform()将旋转轴平移到坐标轴原点;64.使用vtktranformrotatewxyz()得到旋转矩阵;65.使用vtktransform将旋转轴平移到原来位置;66.已知旋转变换可通过矩阵乘法计算,将旋转矩阵与原坐标轴矩阵相乘vtkmatrix4x4::multiply4x4()得到新的坐标轴矩阵。67.步骤203:移动十字点(即十字定位线焦点),切换与坐标轴平行方向的不同切面,此处通过几何变换计算resliceaxes新的坐标轴原点,得到新的坐标矩阵,实际是通过改变resliceaxes矩阵第四列的值。68.作为一种或多种实施例,步骤3中,将切面图像显示在位置相匹配的三维模型中,具体包括:69.通过可视化管线设置切面图像actor;70.使用vtkimagestack类对象m_pimagestack2d[3]、m_pimagestack3d[3],m_pimagestack2d[3]将切面图像actor存放在mpr窗口中,其中m_pimagestack3d用于在三维模型视窗中存放显示切面图像actor,m_renderer2d[crntviewlabel]-》addactor(m_imagestack2d[crntviewlabel];[0071]渲染器vtkrender将切面图像actor加入渲染管线中;[0072]m_pimagestack3d通过setusermatrix设置相同变换矩阵matrix。[0073]基于此,任意切面显示在三维模型,并且位置相匹配。[0074]作为一种或多种实施例,步骤4中,在二维空间中旋转移动交互引发切面矩阵及切面图像变化,利用setusermatrix()函数将物体m_pimagestack3d进行移动、旋转,影响三维视图中不同位置切面切换,从而实现二维图像三维模型联动。[0075]在三维模型视窗中,将mpr图像交点作为感兴趣拾取点,移动变换该点,可移动切换不同切面,实现二维三维联动。[0076]实施例二[0077]本实施例提供基于vtk的二维医学影像和三维模型定位联动系统,包括:[0078]切面图像获取模块,用于获取二维医学影像数据,基于二维医学影像数据获取任意位置和方向的切面图像;[0079]定位交互模块,用于基于切面图像,通过mpr定位线交互,旋转获取任意的切面;[0080]联动模块,用于将切面图像显示在位置相匹配的三维模型中,在二维空间中旋转移动交互引发切面图像变化,在三维模型视窗中,将mpr图像交点作为感兴趣拾取点,移动变换该点移动切换不同切面进行二维医学影像和三维模型的联动。[0081]实施例三[0082]本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的基于vtk的二维医学影像和三维模型定位联动方法中的步骤。[0083]实施例四[0084]本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的基于vtk的二维医学影像和三维模型定位联动方法中的步骤。[0085]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。[0086]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0087]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。[0088]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。[0089]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。[0090]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献