本发明涉及图像处理技术领域,尤其涉及一种图像目标区域的各向异性缩放方法及其系统。
背景技术:
在CT和MR等断层扫描图像中,单个器官或目标靶区由一族轮廓线组成,所述轮廓线分布在多个二维断层图像上。为了确保精度和准确性,目前临床上大多由放疗医师或其他训练有素的医务人员手动勾画出各个二维断层图像上的轮廓线,这种手动勾画操作繁琐,极大地浪费了医务人员的时间和精力,甚至很可能因人员疲劳出现失误。
目前,也有一些自动勾画轮廓线的方法,例如基于灰度和梯度信息的方法,其中比较有代表性的是区域生长法,此类方法具有较高的勾画速度,但是对噪声敏感,且对软组织等边缘不明确的目标区域的自动勾画效果不理想。
还有一类是基于模板和配准的自动勾画方法,一般需要将勾画好的图像数据作为先验数据集,然后将待勾画的目标区域与先验数据集中最相似的模板进行配准,从而实现目标区域的自动勾画。此种方法的缺点是:前期需要准备合适的先验数据集,并且配准精度不佳、配准计算量大以及自动勾画耗时长。
在勾画出轮廓线以后,通常还根据需要对图像进行缩放,图像缩放一般要求连续比例缩放,现有的图像缩放方法通常从图像的坐标原点进行计算,从左至右逐点进行计算,当一行完毕后重新从下一行计算,一次往复计算出全幅图像的缩放结果,其计算量大、成本高,并且不能实现图像各向异性的缩放。
技术实现要素:
本发明所要解决的技术问题是:提供一种缩放精确度高,缩放后的图像边缘平滑的图像目标区域的各向异性缩放方法及其系统。
为了解决上述技术问题,本发明采用的技术方案为:
一种图像目标区域的各向异性缩放方法,包括:
获取多层二维断层图像目标区域的轮廓线,并根据所述轮廓线获取对应各层二维断层图像的二值图像;
计算得到所述轮廓线的最小外接立方体;
根据轮廓线在与所述最小外接立方体六个面垂直的六个方向上的预设放大距离,对所述最小外接立方体进行外扩,得到第一三维数据体;
将所述最小外接立方体作为第二三维数据体;
将所述二值图像分别填充到所述第一三维数据体和第二三维数据体中与所述轮廓线对应的位置;
对第一三维数据体进行膨胀操作;
对第二三维数据体进行腐蚀操作;
根据膨胀后的第一三维数据体和腐蚀后的第二三维数据体的一维度,获取与所述一维度垂直的二维二值图像;
提取所述二维二值图像的轮廓线。
本发明的另一技术方案为:
一种图像目标区域的各向异性缩放系统,包括:
第一获取模块,用于获取多层二维断层图像目标区域的轮廓线,并根据所述轮廓线获取对应各层二维断层图像的二值图像;
计算模块,用于计算得到所述轮廓线的最小外接立方体;
第一操作模块,用于根据轮廓线在与所述最小外接立方体垂直的六个方向上的预设放大距离,对所述最小外接立方体进行外扩,得到第一三维数据体;
第二操作模块,用于将所述最小外接立方体作为第二三维数据体;
填充模块,用于将所述二值图像分别填充到所述第一三维数据体和第二三维数据体中与所述轮廓线对应的位置;
膨胀模块,用于对第一三维数据体进行膨胀操作;
腐蚀模块,用于对第二三维数据体进行腐蚀操作;
第二获取模块,用于根据膨胀后的第一三维数据体和腐蚀后的第二三维数据体的一维度,获取与所述一维度垂直的二维二值图像;
提取模块,用于提取所述二维二值图像的轮廓线。
本发明的有益效果在于:将二维断层图像转化为二值图像,然后将所述二值图像填充到构建的三维数据体中对应的位置,根据外扩或内缩的需要分别对所述三维数据体进行膨胀或腐蚀操作,最后按维度提取出二值图像的轮廓线,即可对多层二维断层图像在各个方向上进行不同的缩放。本发明的图像缩放方法操作简单,本发明将二维图像填充到三维数据体中进行膨胀或腐蚀,得到的缩放结果精确度高,缩放后的图像边缘平滑,并且图像骨架连续、断点少,尤其适用于医学中的CT和MR等断层扫描图像的各向异性缩放。
附图说明
图1为本发明实施例一的图像目标区域的各向异性缩放方法的流程图;
图2为本发明实施例二的图像目标区域的各向异性缩放方法的流程图;
图3为本发明的图像目标区域的各向异性缩放系统的结构示意图;
图4为本发明实施例四的图像目标区域的各向异性缩放系统的结构示意图。
标号说明:
1、第一获取模块;2、计算模块;3、第一操作模块;4、第二操作模块;
5、填充模块;6、膨胀模块;7、腐蚀模块;8、第二获取模块;
9、提取模块;10、第一构建模块;11、第二构建模块;12、构造模块;
13、判断模块;14、第一设置模块;15、第二设置模块;16、第三设置模块。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明最关键的构思在于:将二维断层图像转化为二值图像,然后填充到构建的三维数据体中,根据外扩或内缩的需要对三维数据体进行膨胀或腐蚀操作,即可对多层二维断层图像在各个方向上进行不同的缩放。
请参照图1,一种图像目标区域的各向异性缩放方法,包括:
获取多层二维断层图像目标区域的轮廓线,并根据所述轮廓线获取对应各层二维断层图像的二值图像;
计算得到所述轮廓线的最小外接立方体;
根据轮廓线在与所述最小外接立方体六个面垂直的六个方向上的预设放大距离,对所述最小外接立方体进行外扩,得到第一三维数据体;
将所述最小外接立方体作为第二三维数据体;
将所述二值图像分别填充到所述第一三维数据体中和第二三维数据体中与所述轮廓线对应的位置;
对第一三维数据体进行膨胀操作;
对第二三维数据体进行腐蚀操作;
根据膨胀后的第一三维数据体和腐蚀后的第二三维数据体的一维度,获取与所述一维度垂直的二维二值图像;
提取所述二维二值图像的轮廓线。
从上述描述可知,本发明的有益效果在于:通过将二维断层图像转化为二值图像,然后填充到三维数据体中进行膨胀或腐蚀,可实现对二维断层图像在各个方向上的任意缩放,并且缩放精度高。
进一步的,所述“对第一三维数据体进行膨胀操作;对第二三维数据体进行腐蚀操作”之前,还包括:
根据预设缩放距离构建结构元素;
以所述结构元素的中心点为原点构建三维坐标系;
以所述预设缩放距离为轴长在所述三维坐标系中构造椭球;
判断所述结构元素的一像素点是否在所述椭球内;
若是,则将所述一像素点的像素值设为1;
若否,则将所述一像素点的像素值设为0。
进一步的,所述“对第一三维数据体进行膨胀操作”具体为:根据所述结构元素对所述第一三维数据体进行膨胀操作。
进一步的,所述“对第二三维数据体进行腐蚀操作”具体为:根据所述结构元素对所述第二三维数据体进行腐蚀操作。
由上述描述可知,对三维数据体进行膨胀或腐蚀操作时,是通过一三维的结构元素来实现的。
进一步的,所述“将所述二值图像分别填充到所述第一三维数据体和第二三维数据体中与所述轮廓线对应的位置”之前还包括:将所述第一三维数据体和第二三维数据体中像素点的像素值均设为0。
请参照图3,本发明的另一技术方案为:
一种图像目标区域的各向异性缩放系统,包括:
第一获取模块,用于获取多层二维断层图像目标区域的轮廓线,并根据所述轮廓线获取对应各层二维断层图像的二值图像;
计算模块,用于计算得到所述轮廓线的最小外接立方体;
第一操作模块,用于根据轮廓线在与所述最小外接立方体垂直的六个方向上的预设放大距离,对所述最小外接立方体进行外扩,得到第一三维数据体;
第二操作模块,用于将所述最小外接立方体作为第二三维数据体;
填充模块,用于将所述二值图像分别填充到所述第一三维数据体和第二三维数据体中与所述轮廓线对应的位置;
膨胀模块,用于对第一三维数据体进行膨胀操作;
腐蚀模块,用于对第二三维数据体进行腐蚀操作;
第二获取模块,用于根据膨胀后的第一三维数据体和腐蚀后的第二三维数据体的一维度,获取与所述一维度垂直的二维二值图像;
提取模块,用于提取所述二维二值图像的轮廓线。
进一步的,还包括:
第一构建模块,用于根据预设缩放距离构建结构元素;
第二构建模块,用于以所述结构元素的中心点为原点构建三维坐标系;
构造模块,用于以所述预设缩放距离为轴长在所述三维坐标系中构造椭球;
判断模块,用于判断所述结构元素的一像素点是否在所述椭球内;
第一设置模块,用于若是,则将所述一像素点的像素值设为1;
第二设置模块,用于若否,则将所述一像素点的像素值设为0。
进一步的,所述膨胀模块具体用于根据所述结构元素对所述第一三维数据体进行膨胀。
进一步的,所述腐蚀模块具体用于根据所述结构元素对所述第二三维数据体进行腐蚀操作。
进一步的,还包括第三设置模块,用于将所述第一三维数据体和第二三维数据体中像素点的像素值均设为0。
实施例一
请参照图1,本发明的实施例一为:一种图像目标区域的各向异性缩放方法,可在各个方向上对图像目标区域进行不同程度的缩放,适用于医学中的CT和MR等断层扫描图像的各向异性缩放。主要包括如下步骤:
获取多层二维断层图像目标区域的轮廓线,并根据所述轮廓线获取对应各层二维断层图像的二值图像。所述轮廓线可以是在对图像进行缩放前得到的手动或自动勾画的轮廓线,图像目标区域可以选择任意需要进行缩放的区域,其形状和大小可根据需要进行设定和选择,然后对每一层二维断层图像均对应转化为二值图像,轮廓线上和轮廓线内的像素点的像素值设为1,轮廓线以外的像素点的像素值设为0。
计算得到所述轮廓线的最小外接立方体。所述最小外接立方体为能容纳所有轮廓线的最小立方体,记为Extent[6]。
根据轮廓线在与所述最小外接立方体六个面垂直的六个方向上的预设放大距离,对所述最小外接立方体进行外扩,得到第一三维数据体。六个方向上的预设放大距离为不小于0的值,不同的方向上可以设定不同的值,当然也可以设定为相同的值,可根据具体需要进行设定。假设在六个方向上的预设放大距离分别为X1、X2、Y1、Y2、Z1和Z2,进行外扩时在六个方向上的操作分别为:Extent[0]+=X1(即Extent[0]=Extent[0]+X1),Extent[1]-=X2(即Extent[1]=Extent[1]-X2),Extent[2]+=Y1,Extent[3]-=Y2,Extent[4]+=Z1,Extent[5]-=Z2,然后将外扩后的Extent[6]数组取整数。第一三维数据体在每个维度上的范围大小分别为((Extent[1]-Extent[0]+1),(Extent[3]-Extent[2]+1),(Extent[5]-Extent[4]+1))。
将所述最小外接立方体作为第二三维数据体,针对内缩的情况对最小外接立方体不进行内缩的操作步骤,直接将所述最小外接立方体作为第二三维数据体并进行下一个步骤,以保证二值图像能完全容纳在第二三维数据体中。
将所述二值图像分别填充到所述第一三维数据体和第二三维数据体中与所述轮廓线对应的位置。在填充时,各层轮廓线对应的二值图像的相对位置关系保持不变,以利于后续步骤的进行。进行填充之前还包括:将所述第一三维数据体和第二三维数据体中像素点的像素值均设为0,即对第一三维数据体和第二三维数据体中的像素点的像素值进行初始化处理。
对第一三维数据体进行膨胀操作。膨胀即是对二值图像进行外扩,给二值图像中的边界添加像素。
对第二三维数据体进行腐蚀操作。腐蚀即是对二值图像进行内缩,删除二值图像中的边界的某些像素。
根据膨胀后的第一三维数据体和腐蚀后的第二三维数据体的一维度,获取与所述一维度垂直的二维二值图像。首先计算出膨胀后的第一三维数据体和腐蚀后的第二三维数据体的在一维度上的范围值,假设为n,那么对应的二维二值图像也为n个,每个二维二值图像与对应的二维断层图像共面。
提取所述二维二值图像的轮廓线。提取得到的轮廓线即为缩放后的图像的轮廓线。
本实施例中,将二维断层图像转化为二值图像,然后将所述二值图像填充到构建的三维数据体中对应的位置,根据外扩或内缩的需要分别对所述三维数据体进行膨胀或腐蚀操作,最后按维度提取出二值图像的轮廓线,即可对多层二维断层图像在各个方向上进行不同的缩放。图像缩放方法操作简单,得到的缩放结果精确度高,尤其适用于医学中的CT和MR等断层扫描图像的各向异性缩放。
实施例二
请参照图2,本发明的实施例二为实施例一的进一步扩展,相同之处不再赘述,区别在于,在“对第一三维数据体进行膨胀操作;对第二三维数据体进行腐蚀操作”之前,还包括:
根据所述预设缩放距离构建结构元素。由于预设距离的方向为与所述最小外接立方体六个面垂直的六个方向,所以本实施例中构建一个三维数据体作为结构元素,结构元素在每个维度上的范围大小为(2*max(X1,X2)+1,2*max(Y1,Y2)+1,2*max(Z1,Z2)+1)。
以所述结构元素的中心点为原点构建三维坐标系。构建完三维坐标系后,所述结构元素可分为八个部分,八个部分分别位于三维坐标系的八个象限。
以所述预设缩放距离为轴长在所述三维坐标系中构造椭球,进一步地,分别在三维坐标系的八个象限中构造八分之一的椭球。即若在X>0的方向上外扩或内缩数值为X1的距离,在X<0的方向上外扩或内缩数值为X2的距离,Y>0的方向上外扩或内缩数值为Y1的距离,Y<0的方向上外扩或内缩数值为Y2的距离,Z>0的方向上外扩或内缩数值为Z1的距离,Z<0的方向上外扩或内缩数值为Z2的距离,则在三维坐标系的第一象限(X>0,Y>0,Z>0)中,以X1、Y1、Z1作为轴长构造八分之一的椭球,以此类推,在其他象限中也对应构建椭球,即每一个象限中的椭球大小均可能不一样,这与各个方向上的预设缩放距离有关。
判断所述结构元素的一像素点是否在所述椭球内;若是,则将所述一像素点的像素值设为1;若否,则将所述一像素点的像素值设为0。按照上述原则对每个象限内的结构元素分别计算像素值。然后根据所述结构元素对所述外扩得到的三维数据体进行膨胀操作;根据所述结构元素对所述内缩得到的三维数据体进行腐蚀操作。
本实施中,通过构建一个三维结构元素对三维数据体进行膨胀或腐蚀操作,得到的图像轮廓边缘平滑,断点少。
实施例三
请参照图2,本发明的实施例三为上述实施例的一具体应用场景,具体以医学图像中的脊髓断层图像目标区域的各向异性缩放为例进行说明,能够对目标图像区域进行较为精确的缩放。
对图像进行外扩具体包括:
首先由医师指定一脊髓图像的目标图像区域,手动或者自动勾画出脊髓图像的轮廓线。医师输入外扩的距离X1、X2、Y1、Y2、Z1和Z2,均为不小于0的值,可以取整数或者小数,假设其数值大小分别为4、3、5、2、6、5。然后根据轮廓线的大小计算出最小外接立方体的大小,假设最小外接立方体的范围为Extent[6]。对最小外接立方体进行外扩操作具体为:Extent[0]+=4,Extent[1]-=3,Extent[2]+=5,Extent[3]-=2,Extent[4]+=6,Extent[5]-=5,然后将Extent[6]数组取整数部分。根据外扩得到的Extent[6]构建一个第一三维数据体,所述第一三维数据体的在三个维度方向上的范围大小分别为((Extent[1]–Extent[0]+1),(Extent[3]–Extent[2]+1),(Extent[5]–Extent[4]+1)),然后初始化第一三维数据体的所有像素值为0。
然后将每一层脊髓断层图像映射为二值图像,将轮廓线和轮廓线内的像素值设为1,轮廓线外的像素值设为0,将所述二值图像填充到第一三维数据体中,填充时,各层二值图像的相对位置关系不变,一一对应。
构建一个三维数据体作为结构元素,其在三个维度上的范围大小分别是(2*max(X1,X2)+1,2*max(Y1,Y2)+1,2*max(Z1,Z2)+1),即为(9,11,13),以结构元素的中心点作为坐标原点,构建一个三维坐标系,然后计算结构元素在三维坐标系中的像素值。以计算结构元素在第一象限的像素值为例,以X1、Y1、Z1为轴长作一个八分之一的椭球,即椭球的轴长分别为4、5和6,若第一象限中的结构元素的像素点在椭球内,则将所述像素点的像素值设为1,若不在椭球内,则将像素点的像素值设为0。以此类推,计算结构元素在其他象限中的像素值。
计算完结构元素的像素值后,利用结构元素对第一三维数据体进行膨胀操作。然后根据膨胀后的维数,将三维数据体的一维度n,获取与所述一维度垂直的n张二维二值图像。每个二维二值图像与对应的二维断层图像共面。最后,提取出二维二值图像的轮廓线,即为外扩后的脊髓二维断层图像对应的轮廓线。
对图像进行内缩具体包括:
与对图像进行外扩的不同之处在于:利用得到的最小外接立方体作为第二三位数据体,直接初始化所述第二三维数据体的所有像素值为0,然后继续进行其他步骤。另外,对图像进行内缩时,对第二三维数据体进行腐蚀操作。其他步骤与对图像进行外扩时相对应,这里就不一一赘述。
实施例四
请参照图4,本发明的实施例四与上述实施例的方法相对应,为一种图像目标区域的各向异性缩放系统,具体包括:
第一获取模块1,用于获取多层二维断层图像目标区域的轮廓线,并根据所述轮廓线获取对应各层二维断层图像的二值图像;
计算模块2,用于计算得到所述轮廓线的最小外接立方体;
第一操作模块3,用于根据轮廓线在与所述最小外接立方体垂直的六个方向上的预设放大距离,对所述最小外接立方体进行外扩,得到第一三维数据体;
第二操作模块4,用于将所述最小外接立方体作为第二三维数据体;
填充模块5,用于将所述二值图像分别填充到所述第一三维数据体和第二三维数据体中与所述轮廓线对应的位置;
膨胀模块6,用于第一三维数据体进行膨胀操作,具体用于根据结构元素对所述第一三维数据体进行膨胀。
腐蚀模块7,用于对第二三维数据体进行腐蚀操作,具体用于根据结构元素对所述第二三维数据体进行腐蚀操作。
第二获取模块8,用于根据膨胀的第一三维数据体和腐蚀后的第二三维数据体的一维度,获取与所述一维度垂直的二维二值图像;
提取模块9,用于提取所述二维二值图像的轮廓线。
第一构建模块10,用于根据预设缩放距离构建结构元素;
第二构建模块11,用于以所述结构元素的中心点为原点构建三维坐标系;
构造模块12,用于以所述预设缩放距离为轴长在所述三维坐标系中构造椭球;
判断模块13,用于判断所述结构元素的一像素点是否在所述椭球内;
第一设置模块14,用于若是,则将所述一像素点的像素值设为1;
第二设置模块15,用于若否,则将所述一像素点的像素值设为0。
第三设置模块16,用于将所述第一三维数据体中和第二三维数据体中像素点的像素值均设为0。
综上所述,本发明提供的一种图像目标区域的各向异性缩放方法及其系统,在对图像进行缩放时操作简单,得到的缩放结果精确度高,缩放后的图像边缘平滑,并且图像骨架连续、断点少,尤其适用于医学中的CT和MR等断层扫描图像的各向异性缩放。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。