对象与标签

Python 中的生物医学图像分析

Stephen Bailey

Instructor

分割将图像拆分为部分

细胞分割

脑部分割

Python 中的生物医学图像分析

Sunnybrook 心脏数据库

射血分数:左心室(LV)泵出的血液占比。

射血分数示意

心脏图像

Python 中的生物医学图像分析

标注图像组件

心脏2D掩膜

Python 中的生物医学图像分析

标注图像组件

import scipy.ndimage as ndi
im=imageio.imread('SCD4201-2d.dcm')
filt=ndi.gaussian_filter(im, 
                         sigma=2)
mask = filt > 150

labels, nlabels = ndi.label(mask)
nlabels
14
plt.imshow(labels, cmap='rainbow')
plt.axis('off')
plt.show()

标注细胞

Python 中的生物医学图像分析

标签选择

在图像中选择单个标签:

np.where(labels == 1, im, 0)

一个标签

在图像中选择多个标签:

np.where(labels < 3, im, 0)

两个标签

Python 中的生物医学图像分析

对象提取

  • 边界框(bounding box):完全包围对象的像素范围

  • ndi.find_objects() 返回边界框坐标列表

带边界框的标注图像

Python 中的生物医学图像分析

对象提取

labels, nlabels = ndi.label(mask)
boxes = ndi.find_objects(labels)

boxes[0]
(slice(116,139), slice(120, 141))

多对象区域

Python 中的生物医学图像分析

Passons à la pratique !

Python 中的生物医学图像分析

Preparing Video For Download...