1获取蒙版的骨干
效果为-->
from skimage.morphology import skeletonize_3d
skeleton = skeletonize_3d(mask)
2体素数据删除较小的连通区域
from skimage import morphology
# 删除连通区域小于2500的部分
image_bbox = morphology.remove_small_objects(image_bbox.astype(bool), 2500, connectivity=3).astype(int)
3仅保留最大连通区域
from skimage import measure
labels, num = measure.label(image== 1, connectivity=2, background=0, return_num=True)
if num > 1:
max_num = -1e10
for lab_id in range(1, num + 1):
if np.sum(labels == lab_id) > max_num:
max_num = np.sum(labels == lab_id)
true_id = lab_id
# 得到最大连通区域的蒙版
mask = labels == true_id
else:
mask = labels == 1
4 蒙版膨胀
from scipy import ndimage
# 膨胀大小为25
data = ndimage.grey_dilation(data, size= (25, 25, 25))
5蒙版距离特征图计算
from scipy.ndimage import distance_transform_edt
label = distance_transform_edt(label)