Маски

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

Stephen Bailey

Instructor

Маски

Исходное изображение

FullBrain

Маска изображения

Mask

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

Создание масок

Логические операции возвращают True / False для каждого пикселя

mat = np.array([[1, 2, 3],
                [4, 5, 6],
                [7, 8, 9]])

mat > 5
np.array([[False, False, False],
          [False, False, True ],
          [True,  True,  True ]])

Примеры операций

Операция Пример
Больше im > 0
Равно im == 1
X и Y (im > 0) & (im < 5)
X или Y (im > 10) | (im < 5)
Анализ биомедицинских изображений на Python

Создание масок

 

hist=ndi.histogram(im, 0, 255, 256)

 

mask1 = im > 32

foot-histogram

foot mask 1

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

Создание масок

 

mask2 = im > 64

 

mask3 = mask1 & ~mask2

foot mask 2

foot mask 1 and 2

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

Применение масок

np.where(condition, x, y)  управляет тем, какие данные проходят через маску.

import numpy as np

im_bone = np.where(im > 64, im, 0)
plt.imshow(im_bone, cmap='gray')
plt.axis('off')
plt.show()

image-with-non-bone-removed

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

Настройка масок

m = np.where(im > 64, 1, 0)

foot mask 1

ndi.binary_dilation(m,iterations=5)

foot mask binary dilation

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

Настройка масок

ndi.binary_erosion(m,iterations=5)

foot mask binary erosion

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

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

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

Preparing Video For Download...