遮罩

Python 的生醫影像分析

Stephen Bailey

Instructor

遮罩

原始影像

完整腦部

影像遮罩

遮罩

Python 的生醫影像分析

建立遮罩

邏輯運算在每個像素產生 TrueFalse

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

足部直方圖

足部遮罩 1

Python 的生醫影像分析

建立遮罩

 

mask2 = im > 64

 

mask3 = mask1 & ~mask2

足部遮罩 2

足部遮罩 1 與 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()

移除非骨骼後的影像

Python 的生醫影像分析

調整遮罩

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

足部遮罩 1

ndi.binary_dilation(m,iterations=5)

足部遮罩:膨脹

Python 的生醫影像分析

調整遮罩

ndi.binary_erosion(m,iterations=5)

足部遮罩:侵蝕

Python 的生醫影像分析

一起來練習吧!

Python 的生醫影像分析

Preparing Video For Download...