Objects and Labels

การวิเคราะห์ภาพทางชีวการแพทย์ด้วย Python

Stephen Bailey

Instructor

Segmentation แบ่งภาพออกเป็นส่วน ๆ

การแบ่งส่วนเซลล์

การแบ่งส่วนสมอง

การวิเคราะห์ภาพทางชีวการแพทย์ด้วย Python

Sunnybrook Cardiac Database

Ejection fraction: สัดส่วนของเลือดที่ถูกสูบออกจากช่องล่างซ้าย (LV) ของหัวใจ

ภาพประกอบ ejection fraction

ภาพหัวใจ

การวิเคราะห์ภาพทางชีวการแพทย์ด้วย 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

การเลือก label

เลือก label เดียวในภาพ:

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

label เดียว

เลือกหลาย label ในภาพ:

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

สอง label

การวิเคราะห์ภาพทางชีวการแพทย์ด้วย Python

การดึงวัตถุออกจากภาพ

  • Bounding box: ช่วงของพิกเซลที่ครอบคลุมวัตถุทั้งหมด

  • ndi.find_objects() คืนค่ารายการพิกัด bounding box

ภาพที่มีป้ายกำกับพร้อม bounding box

การวิเคราะห์ภาพทางชีวการแพทย์ด้วย 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...