การพล็อตขั้นสูง

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

Stephen Bailey

Instructor

การพล็อตข้อมูล N มิติ ให้แบ่งเป็นชิ้น!

ขนมปังก้อนทั้งก้อน

ขนมปังที่หั่นแล้ว

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

การพล็อตหลายภาพพร้อมกัน

plt.subplots: สร้าง figure canvas พร้อมออบเจกต์ AxesSubplots หลายรายการ

ภาพ Plot ของ figure canvas

import imageio.v2 as imageio
vol = imageio.volread('chest-data', format='DICOM')
fig, axes = plt.subplots(nrows=1,
                         ncols=3)

axes[0].imshow(vol[0],cmap='gray')
axes[1].imshow(vol[10],cmap='gray') axes[2].imshow(vol[20],cmap='gray')
for ax in axes: ax.axis('off')
plt.show()
การวิเคราะห์ภาพทางชีวการแพทย์ด้วย Python

การพล็อตหลายภาพพร้อมกัน

subplot ชุดภาพ chest volume ต่อเนื่อง

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

มุมมองแบบไม่มาตรฐาน

import imageio.v2 as imageio

vol = imageio.volread(
      'chest-data', format='DICOM')

view_1v2 = vol[pln, :, :] view_1v2 = vol[pln]

$$Axial$$

มุมมอง axial

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

มุมมองแบบไม่มาตรฐาน

import imageio.v2 as imageio

vol = imageio.volread(
     'chest-data', format='DICOM')

view_1v2 = vol[pln, :, :] view_1v2 = vol[pln]
view_0v2 = vol[:, row, :]

$$Coronal$$

มุมมอง coronal

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

มุมมองแบบไม่มาตรฐาน

import imageio.v2 as imageio

vol = imageio.volread(
     'chest-data', format='DICOM')

view_1v2 = vol[pln, :, :] view_1v2 = vol[pln]
view_0v2 = vol[:, row, :]
view_0v1 = vol[:, :, col]

$$Sagittal$$

มุมมอง sagittal

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

การปรับอัตราส่วนภาพ

พิกเซลสามารถมีสัดส่วนภาพได้หลายแบบ:

อัตราส่วนภาพ

im = vol[:,:,100]
d0, d1, d2 = vol.meta['sampling']
d0, d1, d2
(2, 0.5, 0.5)
asp = d0 / d1
asp
3
plt.imshow(im, cmap='gray',
           aspect=asp)
plt.show()
การวิเคราะห์ภาพทางชีวการแพทย์ด้วย Python

การปรับอัตราส่วนภาพ

ภาพตัดขวาง sagittal

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

มาฝึกกันเถอะ!

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

Preparing Video For Download...