深度学习分割结果可能有误分割的部分,包括孔洞、赘余、多连通域等。
下面的例子是孔洞的样例。
常识告诉我们,这个器官内部是没有孔洞的,因此,我们通过后处理的方法把它填上,可以提高分割准确度。
这种三维孔洞,我们希望有一种便捷方法,可以直接填补这种三维孔洞。可以使用 SITK 的二值孔洞填补方法。 sitk.BinaryFillhole
sitk.BinaryFillhole
注意: 该函数只针对二值图像(值为0或1)
1 import SimpleITK as sitk
2 import os
3 import glob
4
5 imglist= glob.glob('./*.nii.gz')
6 save_dir = './fillhole'
7
8 for img in imglist:
9 img_nii = sitk.ReadImage(img, outputPixelType=sitk.sitkUInt16)
10 img_fill = sitk.BinaryFillhole(img_nii)
11 img_savedir = os.path.join(save_dir, img.split('/')[-1])
12
13 sitk.WriteImage(img_fill, img_savedir)
该例子显示了如何批量填补孔洞,并且保存下来。
处理后已经不存在孔洞。