Dữ liệu ảnh

Phân tích ảnh Y sinh học bằng Python

Stephen Bailey

Instructor

Chẩn đoán hình ảnh y sinh: hơn một thế kỷ khám phá

$$1895$$

Bởi Wilhelm Röntgen. - [1], Phạm vi công cộng, https://commons.wikimedia.org/w/index.php?curid=5059748

$$2017$$

Bởi Mikael Häggström - Tác phẩm riêng, CC0, https://commons.wikimedia.org/w/index.php?curid=61722886

Phân tích ảnh Y sinh học bằng Python

Mục tiêu khóa học

Quy trình làm việc với ảnh

Hộp công cụ

  • ImageIO
  • NumPy
  • SciPy
  • matplotlib
Phân tích ảnh Y sinh học bằng Python

Nạp ảnh

  • imageio: đọc và lưu ảnh
  • Đối tượng Image là mảng NumPy.
import imageio.v2 as imageio
im = imageio.imread('body-001.dcm')

type(im)
imageio.core.Image
im
Image([[125, 135, ..., 110],
       [100, 130, ..., 100],
        ...,
       [100, 150, ..., 100]], 
          dtype=uint8)
Phân tích ảnh Y sinh học bằng Python

Nạp ảnh

  • Cắt lát mảng bằng cách chỉ định giá trị theo từng chiều có sẵn.
im[0, 0]
125
im[0:2, 0:2]
Image([[125, 135],
       [100, 130]], 
       dtype=uint8)
Phân tích ảnh Y sinh học bằng Python

Siêu dữ liệu

  • Siêu dữ liệu (Metadata): ai, cái gì, khi nào, ở đâu và cách thu nhận ảnh

  • Truy cập qua thuộc tính từ điển meta trong đối tượng Image

im.meta
im.meta['Modality']
im.meta.keys()
Dict([('StudyDate', '2017-01-01'),
      ('Modality', 'MR'),
      ('PatientSex', F),
      ...
      ('shape', (256, 256)])
'MR'
odict_keys(['StudyDate', 
            'SeriesDate', 
            'PatientSex',
             ...
             'shape'])
Phân tích ảnh Y sinh học bằng Python

Vẽ ảnh

  • Hàm imshow() của Matplotlib hiển thị dữ liệu ảnh 2D

  • Có nhiều thang màu, nhưng thường dùng thang xám (cmap='gray')

  • Vạch và nhãn trục thường không hữu ích với ảnh

import matplotlib.pyplot as plt

plt.imshow(im, cmap='gray')
plt.axis('off')
plt.show()

lát cắt vành

Phân tích ảnh Y sinh học bằng Python

Cùng luyện tập nào!

Phân tích ảnh Y sinh học bằng Python

Preparing Video For Download...