Объекты и метки

Анализ биомедицинских изображений на Python

Stephen Bailey

Instructor

Сегментация делит изображение на части

сегментация клеток

сегментация мозга

Анализ биомедицинских изображений на Python

База данных Sunnybrook Cardiac

Фракция выброса: доля крови, выталкиваемой из левого желудочка (ЛЖ) сердца.

иллюстрация фракции выброса

Снимок сердца

Анализ биомедицинских изображений на 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

Извлечение объектов

  • Ограничивающий прямоугольник: диапазон пикселей, полностью охватывающий объект

  • ndi.find_objects() возвращает список координат ограничивающих прямоугольников

размеченное изображение с ограничивающими прямоугольниками

Анализ биомедицинских изображений на Python

Извлечение объектов

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

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

несколько прямоугольников на изображении

Анализ биомедицинских изображений на Python

Давайте потренируемся!

Анализ биомедицинских изображений на Python

Preparing Video For Download...