肺实质分割

------对于医学图像分割的初学者而言,肺实质分割是一个很好的入门项目。目前,近乎所有肺部疾病的医学影像处理的预处理都包含肺实质分割,其重要性不言而喻。我本人的本科毕业设计的课题是肺结节的检测,肺实质的分割也是我的预处理之一。这个课题还是具有相当的难度的,所以在一开始,文献阅读甚是折磨,算法实现更是难于青天。不过,作为CSDN的一员,怎会服输!在完成大部分工作后,觉得本人在CSDN习得诸多武艺,应当有所分享,故作此文。虽说内容简单,但是也是一番心意,在此献丑,诸位勿怪。
话不多说,直接上干货,我尽量以当时自己一无所知的情况来分享,内容啰嗦,还请海涵。首先,展示一张肺部CT图像,从直观上介绍一下:
肺实质分割_第1张图片

该图上可以清晰地看到肺部的各种结构,事实上,在做肺部图像处理时,我们用不到躯干和床板(躯干下边的那些弧形影像),将肺实质分割出来可以大大减少后续操作(例如:肺血管分割)的计算量。这是很现实而又充分的理由,毕竟天下武功,唯快不破。前面提到,肺实质的分割难度较低,但是依旧存在难点的,不然岂不对不起各位大侠的一身武艺了:
(1)肺部病变。一般情况下,从医院获取的肺部CT图像会有各种病变组织(毕竟没病也不太可能去拍CT),增加分割难度,因为你很难设计一个通用的算法来应对各种疾病造成的图像异常,也从侧面体现了算法的鲁棒性的重要性。
(2)左右肺黏连。虽然说,完整的提取肺实质很重要,但是也保证左右肺不能黏连,因为会影响肺容量等指标的的计算。
(在这里先插一句,如果各位没有渠道获取肺部CT图像,那么可以下载公开的肺部数据集,例如:http://image.diku.dk/exact/ )
言归正传,肺实质分割最普遍的做法是,最普遍的分割方法是采用阈值将肺实质和胸腔的其他结构分离,并基于区域生长方法获得连通的左、右肺,移除主气管和伸入肺的主支气管,再填充实质中血管、结节等形成的孔洞,得到完整的肺组织[1]。
一般来说,写论文都要对课题进行调研,然后写一段文献综述,对现有的各种方法进行介绍和对比,为了偷懒,我就不写了,不过我还是建议大家可以从相关课题的综述入手,至少要知道这个课题的研究进展如何,遇到那些难点,我可以对哪些方法进行改进等等。并且,尽量多看英文文献,毕竟前沿的文章都是英文书写的。前人有言:师夷长技以制夷。
本文采用区域生长法和全局阈值法两种方法分别对肺实质进行分割,并对两种算法进行比较。坦白说,这两种算法属于较为简单的算法,与现有的各种复杂的算法相较而言,胜在稳定、快速、简单而又易于实现,并且分割效果足以满足后续需求,故不再费时费力费脑子去复现大牛的文章。

1基于全局阈值法的肺实质分割
从图像上可以看到,肺实质在图像上是巨大的低灰度连通区域,而其他无关结构的灰度值较高,这为阈值法提供了基础:待分割区域灰度值集中且与其他区域相差较大。全局阈值法是一个不断迭代求取最终阈值的方法,我不想贴图敷衍大家,所以我用自己的话来描述该算法:
(1)为全局阈值设置初始值T,一般而言,若图像中最大的灰度值为Tmax,最小的灰度值为Tmin,那么 :
T=(Tmax+Tmin)/2
(2)以T为阈值将图像分为前景(灰度值大于等于T)和背景(灰度值小于T),计算前景的平均灰度值TF
和背景的平均灰度值TB。
(3)更新阈值T:
T=(TF+TB)/2
(4)重复步骤(2)(3)知道T不在变化为止。

这个算法在CSDN有很多详细的解读和代码,在此就不在班门弄斧了。下图就是算法结果:
肺实质分割_第2张图片
可以看出效果很好,但是我们的目的是分割肺实质,这里并没有达到目的,所以我们继续处理:取反
肺实质分割_第3张图片
可以看到下面的任务就是去除床板和消除孔洞。所以我们用半径为5的圆形结构单元进行闭运算再取反(这里的闭运算操作在CSDN有详细的介绍):
肺实质分割_第4张图片
肺实质分割_第5张图片
现在,床板还在不屈不挠地干扰我们,不过已是强弩之末,途中明显只有两个连通区域,一个为床板,一个就是躯干,我们只要提取最大的连通区域(这个很幸运,CSDN又有详细的介绍,感谢!)即可去除床板:(弱弱说一句,Matlab实现这个超级简单)(连通区域的面积指的是连通区域内像素的个数)
肺实质分割_第6张图片
现在我们得到的是躯干的掩膜,下一步将该掩膜进行孔洞填充获得新的掩膜,两个掩膜相减即可得到肺实质掩膜:
肺实质分割_第7张图片
肺实质分割_第8张图片
可以看到,我们基本上已经得到肺实质的掩膜了,但是就差将红框中的气管去除就大功告成了。我们可以提出连通区域面积小于S的连通区域即可,我这里设置为S=1000:
肺实质分割_第9张图片
肺实质分割_第10张图片
到了这一步,我们就可以欢呼了,肺实质分割大法练成。这里在回顾一下算法流程:
(1)全局阈值分割
(2)取反
(3)半径为5的圆形结构单元,进行闭运算
(4)取反
(5)提取最大连通区域
(6)孔洞填充
(7)掩膜相减
(8)剔除面积小于1000的连通区域(气管)
(9)用掩膜乘原图获得肺实质图像
代码我放在着这了,与本文结果一致 https://download.csdn.net/download/tianjinyikedaxue/11167108

2基于区域生长法的肺实质分割
简单来说,在肺实质中选取一点作为种子点,进行三维区域生长,在进行形态学处理即可,虽然我已经实现了,但是我写到这已经不想写了,有机会再来更新吧。

最后,希望有所收获的各位能够点赞,分享。代码的话后面忙完论文就回来填坑。

你可能感兴趣的:(肺分割,肺实质分割)