发明内容
为了提高心包定位的准确性,本发明提出如下技术方案:一种从心包序列中心层切片粗略定位心包区域的方法,具有对心包CT序列切片的中心层灰度阈值分布,动态确定多区域阈值的步骤;在所述中心层,由阈值处理去除干扰组织区域,保留包含心包的连通区域,得到包含心包的二值图像;对所述的二值图像计算得到心包中心层切片的近似圆心和半径;将中心层切片的圆心和半径等效为心包球体的球心和半径,确定整个心包体的区域边界,粗略定位整个心包区域。
进一步的,从中心层开始,依次往前的层半径迭代扩若干个像素,依次往后的层半径迭代缩小若干像素,由中心层近似圆心和半径粗略分割整个心包序列。
进一步的,动态确定多区域的阈值的的步骤是:一个心包CT序列的中心层的灰度阈值直方图,有三个波峰位置peak1、peak2、peak3,分别为肺组织及采集边界灰度阈值集中部位、部分心包体灰度阈值集中部位、增强的血管及部分心包体阈值集中部位,由三个波峰位置确定三个阈值thresh1、thresh2、thresh3,分别为肺组织区域阈值、心包体区域阈值、骨组织阈值;thresh1用于分割肺组织图像,其位于第一个波峰和第二个波峰中间偏左位置; thresh2用于分割心包组织图像,区分心包组织和其他肌肉组织,其位于peaks2左侧斜率最大处;thresh3用于分割骨组织图像,其位于第三个波峰群右侧最低处。
进一步的,由阈值处理去除干扰组织区域,保留一个包含心包的连通区域的步骤是:心包CT切片中心层呈现上粗下细特征分布,由肺组织阈值去除气泡图像干扰,并腐蚀去除中心层的下细特征,保留上粗特征,由连通性判断,保留最大的连通区域,并继续使用结构元素膨胀还原,保留的一个连通区域包含心包的整个区域,并且分割了心包的部分边缘。
进一步的,对所述的二值图像计算得到心包中心层切片的近似圆心和半径的步骤是:得到的包含心包的二值图像,对其搜索白色像素点最多的行与列的交叉点,以确定近似圆心和半径,其方法为:固定列方向,搜索每一行的白色像素点数,确定列方向白色像素点最多的位置,记为location_h;再固定行方向,搜索每一列的白色像素点数,确定行方向白色像素点最多的位置,记为location_w,其中location_h和location_w的交叉点处确定为近似圆的圆心,location_w/2为近似圆的半径。
为了解决提高现有的心包分割方法的速度,并提高精度,本发明还提出如下技术方案:一种基于CT序列的心包分割方法,包括:
S1.初始定位心包区域;
S2.去除整个序列切片的组织干扰;
S3.分割心包;
其中:步骤S1包括:
S1.1.判断并将心包置于半包状态;
S1.2.从心包序列中心层切片粗略定位心包区域;
所述的步骤S1.2是使用上述的方法实施而成。
进一步的,步骤S3包括:
S3.1.计算感兴趣区域内的二值化图像;
S3.2.对使用心脏连通区域边界作为判断血管组织与干扰组织的标准;
S3.3.根据边界判断标准bbox,判断血管组织与干扰组织,从而对心包组织进行精确分割。
进一步的,所述步骤S3.1的具体方法如下:根据得到的感兴趣区域二值化图像,与原始心包图像进行乘操作,得到感兴趣区域的原始灰度图像,使用阈值thresh2,对得到的感兴趣区域的原始灰度图像,进行阈值分割,以圆形结构元素,经过形态学开操作,分离连接紧密的组织,并对心包区域的孔洞组织进行填充,得到感兴趣区域内的二值化图像。
进一步的,所述步骤S3.2具体方法如下:对得到的感兴趣区域内的二值化图像,进行连通区域标记,标记连通区域像素面积大于area1的属于心包部分,像素面积在area1~area2区间内的,可能是心包部位或者干扰组织,像素面积小于area3属于血管,并按连通区域像素面积由小到大进行排序,提取心脏连通区边界作为判断血管组织与干扰组织的标准;
其中,提取心脏连通区边界bbox的步骤包括:
1)将标记的最大连通区域的质心(cx,cy)和边界(ori_bbox)作为初始值;
2)像素面积大于area1的部分,但与初始值所在的最大连通区域分属不同连通域,属于心包部位,记录边界,并将记录的边界与ori_bbox进行并操作,取最外边界作为新的初始边界new_bbox;
3)通过质心位置判断area1~area2区间内的连通域是否为心包区域:大部分area1~area2 区间内的属于心包的连通域都在new_bbox内,但是个别层有例外,分布在new_bbox左右边界外,通过质心位置来判断:如果连通域质心位置在new_bbox上下边界内,初始定位心包区域的左右边界内,确定为心包区域,并与new_bbox进行并操作,取最外边界作为最终的边界判断标准bbox。
进一步的,所述步骤S3.1的具体方法如下:
1)判断连通域的像素面积在area1~area2区间内,但不属于心包的情况:连通域的质心在bbox上下边界外,不属于心包,根据原图像相应坐标,将其像素置零;
2)判断像素面积小于area3的情况是否为血管组织:血管缠绕在心包周围,在二维CT 切片中,血管主要分布在心包内部或者边缘附近,将bbox往外拉伸20像素,防止血管过分割;
3)根据连通区域质心位置关系,判断像素面积小于area3的情况:如果连通域的像素面积小于area3,并且质心坐标在拉伸后的bbox外,不属于血管组织,根据相应图像坐标,将其像素置零;
4)对得到的所有区域进行空洞填充,得到最终的心包分割结果。
有益效果:本方法通过中心层作参考,避免了一个序列每层的遍历耗时,通过中心层等效圆形,找到整个心包序列的近似球心和半径,初步定位心包位置。使用FOV特征,初步判断心包是全包或半包状态,解决了不同时间不同扫描野采集图像产生的位置差,导致的难定位问题。针对心包的阈值单一问题,通过多阈值方法,判断肺部,心包,骨头等的阈值范围,使用动态阈值适应同一序列的不同层,适应不同序列的不同层,避免单一阈值分割的局限性。通过序列的单层特征具体判定,减少周边组织对心包的干扰,结合CT的三维特征进行精确的心包分割,得到最终的包含血管的心包分割序列。
本方法实现了在10秒内甚至更快速度分割整个心包序列,利于产品化,提高了实用性。分割结果包括所有盘绕在心包体内及周边的心脏血管组织,利于后期冠脉血管中心线的提取。通过FOV判断,解决了由于采集时间及扫描野不同导致的心包难定位问题;通过求取中心层参数计算心包近似球体的圆心和半径,来初步分割心包区域。使用动态多阈值分割来适应不同组织器官的分割;通过心包连通区域的像素面积及质心等位置关系,结合三维区域生长的空间特征,排除其他组织对分割结果的干扰。
具体实施方式
本发明提取的一种基于CT序列的心包分割方法重在心包分割,要求心包内的血管必须分割在内。在分割时间上要求严格,必须在几秒钟内,完成整个序列的分割,于是首先通过中心层参数来确定心包体的近似球心和半径,从而初步定位整个心包序列,避免对所有层像素的遍历带来的时间损耗。通过开发的影像系统中FOV值变化,来定位不同视野的心包序列。结合多阈值法,利用心包数据体的三维空间特征及单层二维分布特征来精确分割心包。FOV (filed of view),分扫描野(SFOV)和显示野(DFOV)两种,扫描野是X线扫描时的范围,显示野是数据重建形成的图像范围。
如图1所示,本发明提出的一种基于CT序列的心包分割方法,主要包括初始定位心包区域,去除整个序列切片的肺组织及骨组织干扰,精确分割心包三个步骤。
S1、初步定位心包区域;
本方法使用的心包数据为开发的影像系统采集的经过增强扫描的心包CT序列,本身是一层层的横断面CT切片,像素大小为512*512。由于医生采集的主观性及扫描野的不同,导致包含的心包序列角度不同,实现心包的自动分割必须进行初始定位。
(1)通过FOV值判断心包是否被骨组织或肌肉组织全包;
由于采集的心包CT序列的扫描野不同,单层心包切片可能被骨组织或肌肉组织全包,或者半包状态(仅被肺部包裹)。如图3,为一个心包序列中任选层全包状态图,FOV为495*326mm,图4为另一个心包序列中任选层的半包状态图,FOV为279*326mm。首先根据 FOV值判断心包是否为全包状态,将其变成近似图4的半包状态,具体过程为:
a.提取肺组织区域;
肺部灰度阈值比较固定,在此设置参考值为-400,得到包含肺部区域的二值化图像。设计半径为2的圆形结构元素,依次经过形态学闭、开操作,去除部分干扰边缘,再清理连通到边界的对象,移除像素面积小于500的区域,填充肺部孔洞,初步分割出肺部组织区域。
b.根据肺部区域参数,使其变为半包状态;
通过计算肺组织的连通区域属性,确定肺组织边界区域,从而定位心包区域,使其变为与其他序列相似的半包状态。
(2)从心包序列中心层切片粗略定位心包区域;
如图2所示,将心包形状模拟为球形,中心层位于三维心包体球心处,并且中心层二维切片包含的心包像素面积较大,容易定位圆心,从而定位心包体的球心及半径,其具体步骤为:
a.动态确定多阈值
一个CT序列包含增强的心包组织区域,肺组织区域,骨组织区域和其他空气气泡等干扰组织区域,依据灰度阈值直方图,确定动态阈值范围。首先通过中心层灰度阈值直方图(图 5),有三个波峰位置peak1、peak2、peak3,分别为肺组织及采集边界灰度阈值集中部位、部分心包体灰度阈值集中部位、增强的血管及部分心包体阈值集中部位。由此确定三个阈值,分别为thresh1、thresh2、thresh3,分别为肺组织区域阈值、心包体区域阈值、骨组织阈值。通过thresh1能分割肺组织,位于第一个波峰和第二个波峰中间偏左位置,在此处取值为-400。通过thresh2能分割心包组织,区分心包组织和其他肌肉组织,位于peaks2左侧斜率最大处。通过thresh3能分割骨组织,位于第三个波峰群右侧最低处,此处取值为500。对于其他序列的心包组织,使用上述方法重新确定多阈值。
b.去除肺组织干扰,只保留一个连通区域
心包与肺组织连接,并且肺组织阈值thresh1比较固定,肺内部包含空气等气泡对心包有干扰,首先需要通过肺组织区域去除干扰。再通过心包CT切片中心层具有上粗下细的特征 (包含心包部分近似圆形,呈现上粗特征,骨组织及其他肌肉组织处包含像素少,呈现下细特征)得到一个包含心包的连通区域。其步骤为:
首先,根据肺组织阈值thresh1,通过形态学操作,移除肺内较小的空气、气泡等组织;再设计结构元素对图像进行腐蚀操作,腐蚀掉下细特征,保留上粗特征;通过连通性判断,保留最大的连通区域,再用同样大小的结构元素膨胀还原。此时保留的一个连通区域包含心包的整个区域,并且精确分割了心包的部分边缘;
c.确定心包中心层切片的近似圆心和半径;
此时得到的是一个包含心包的二值图像,通过搜索白色像素点最多的行与列的交叉点,确定近似圆心和半径。具体方法为:固定列方向,搜索每一行的白色像素点数,确定列方向白色像素点最多的位置,记为location_h。再固定行方向,搜索每一列的白色像素点数,确定行方向白色像素点最多的位置,location_w。其中location_h和location_w的交叉点处确定为近似圆的圆心,location_w/2为近似圆的半径。
d.通过中心层近似圆心和半径粗略分割整个心包序列;
将中心层切片的圆心和半径等效为心包球体的球心和半径,从而确定整个心包体的区域边界,粗略定位了整个心包区域。其中从中心层开始,依次往前的层半径迭代扩大几个像素,依次往后的层半径迭代缩小几个像素,避免近似球体偏移导致心包区域部分被切割的情况。
S2、去除整个序列切片的肺组织及骨组织干扰;
是使用多阈值处理去对二值化图像阈值分割,以去除整个序列切片的干扰组织区域,对粗略定位心包边界的所有层切片,根据肺组织阈值thresh1,经过相应的形态学处理,去除肺组织及肺内气泡干扰。根据骨组织阈值thresh3,经过相应的形态学处理,去除骨组织区域干扰。
得到包含心包的二值化图像,选取某两层的分割效果示意,如图6、7所示。
S3、精确分割心包;
通过二维心包切片的条件判断结合三维心包体区域生长方法综合判断,精确分割心包,具体步骤为:
a.根据得到的感兴趣区域二值化图像(去除整个序列切片的肺组织及骨组织干扰后的二值图像),与原始心包图像进行乘操作,得到感兴趣区域的原始灰度图像。根据中心层灰度直方图得到的第二个阈值thresh2,计算感兴趣区域内的二值化图像,具体步骤为:
使用阈值thresh2,对得到的感兴趣区域的原始灰度图像,进行阈值分割。设计半径为2 的圆形结构元素,经过形态学开操作,分离连接紧密的组织,并对心包区域的孔洞组织进行填充。
b.使用心脏连通区域边界作为判断血管组织与干扰组织的标准,记为bbox;
对上述经过处理的二值化图像,进行连通区域标记,并按连通区域像素面积由小到大进行排序。标记的连通区域包括心脏组织、血管组织、干扰组织等,通过各组织形态特征及分布特征进行判断,提取心脏连通区边界作为判断血管组织与干扰组织的标准。
在此根据连通区域像素面积的大小设定经验值,取值为大于等于5000,记为area1。像素面积大于等于300小于5000,记为area2。像素面积小于300,记为area3。
标记的连通区域像素面积大于area1的肯定属于心包部分,在area1~area2区间内的,可能是心包部位或者干扰组织,血管像素面积小于area3。
结合像素面积大小和质心位置两方面来确定bbox,其步骤为:
1)将标记的最大连通区域的质心(cx,cy)和边界(ori_bbox)作为初始值;
2)像素面积大于area1的部分,但与初始值所在的最大连通区域分属不同连通域,属于心包部位,记录边界,并将记录的边界与ori_bbox进行并操作,取最外边界作为新的初始边界new_bbox;
3)通过质心位置判断area1~area2区间内的连通域是否为心包区域:大部分area1~area2 区间内的属于心包的连通域都在new_bbox内,但是个别层有例外,分布在new_bbox左右边界外,通过质心位置来判断:如果连通域质心位置在new_bbox上下边界内,初始定位心包区域的左右边界内(步骤S1中),确定为心包区域,并与new_bbox进行并操作,取最外边界作为最终的边界判断标准bbox。
c.根据边界判断标准bbox,判断血管组织与干扰组织;
其步骤为:
5)判断连通域的像素面积在area1~area2区间内,但不属于心包的情况。
连通域的质心在bbox上下边界外,不属于心包,此种情况根据原图像相应坐标,将其像素置零。
6)判断像素面积小于area3的情况是否为血管组织
血管缠绕在心包周围,在二维CT切片中,血管主要分布在心包内部或者边缘附近,将 bbox往外拉伸20像素,防止血管过分割。
根据连通区域质心位置关系,判断像素面积小于area3的情况。如果连通域的像素面积小于area3,并且质心坐标在拉伸后的bbox外,不属于血管组织,根据相应图像坐标,将其像素置零。
d.最后对得到的所有区域进行空洞填充,得到最终的心包分割结果。
一个序列选取某两层分割结果如图8、9所示,周边的小区域主要为血管组织。
在另一个实施例中,精确分割心包的具体步骤不同于当前的步骤S3,为下述步骤:
得到去除肺组织、骨组织等干扰,并经过初始定位的心包体数据,重新计算感兴趣区域的灰度阈值,采用三维区域生长方法进行分割,可以捕获空间特征,具体步骤为:
aa.将得到的三维心包体数据的近似球心作为种子点;
bb.生长条件参照阈值thresh2进行生长,小于thresh2则终止生长;
cc.然后通过单层判断周围组织是否为心包,参考S3过程对心包进行精确切割。
使用上述方法的综合应用,得到最终心包的分割结果。
本方法通过中心层作参考,避免了一个序列每层的遍历耗时,通过中心层等效圆形,找到整个心包序列的近似球心和半径,初步定位心包位置。使用FOV特征,初步判断心包是全包或半包状态,解决了不同时间不同扫描野采集图像产生的位置差,导致的难定位问题。针对心包的阈值不单一问题,通过多阈值方法,判断肺部,心包,骨头等的阈值范围,使用动态阈值适应同一序列的不同层,适应不同序列的不同层,避免单一阈值分割的局限性。通过序列的单层特征具体判定,减少周边组织对心包的干扰,结合CT的三维特征进行精确的心包分割,得到最终的包含血管的心包分割序列。
以上所述,仅为本发明创造较佳的具体实施方式,但本发明创造的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明创造披露的技术范围内,根据本发明创造的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明创造的保护范围之内。