เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ความเข้ม (Intensity)

ในบทนี้ เราจะทำงานกับภาพรังสีวิทยา ของมือ จากการแข่งขัน Radiological Society of North America ปี 2017 เนื้อเยื่อที่มีความหนาแน่นสูง เช่น กระดูก จะดูดซับรังสีเอกซ์ได้มาก ทำให้ค่าความเข้มของพิกเซลในบริเวณนั้นสูงตามไปด้วย ด้วยเหตุนี้ ภาพลักษณะนี้จึงนำไปใช้ทำนาย "อายุกระดูก" ของเด็กได้

เริ่มต้นด้วยการโหลดภาพและตรวจสอบช่วงความเข้มของภาพกัน

ชนิดข้อมูลของภาพจะกำหนดช่วงค่าความเข้มที่เป็นไปได้ เช่น จำนวนเต็มไม่มีเครื่องหมาย 8 บิต (uint8) มีค่าได้ตั้งแต่ 0 ถึง 255 การเพิ่ม colorbar จะช่วยเชื่อมโยงค่าเหล่านี้กับภาพที่แสดงผลได้อย่างชัดเจน

แบบฝึกหัดทุกข้อในบทนี้ใช้การ import ดังนี้:

import imageio.v2 as imageio
import numpy as np
import matplotlib.pyplot as plt

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

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

ดูคอร์ส

คำแนะนำการฝึกหัด

  • โหลดภาพ "hand-xray.jpg" โดยใช้ imageio
  • แสดงชนิดข้อมูล (dtype) ค่าต่ำสุด (min()) และค่าสูงสุดของความเข้ม (max()) ของภาพ
  • แสดงภาพด้วย plt.imshow() โดยกำหนดค่าต่ำสุด (0) และค่าสูงสุด (255) ของ colormap อย่างชัดเจนผ่าน argument vmin และ vmax
  • เพิ่ม colorbar ด้วย plt.colorbar() จากนั้นเรนเดอร์พล็อตด้วยฟังก์ชัน format_and_render_plot() — ส่วนนี้เตรียมไว้ให้แล้ว

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Load the hand radiograph
im = ____
print('Data type:', ____)
print('Min. value:', ____)
print('Max value:', ____)

# Plot the grayscale image
____
plt.colorbar()
format_and_render_plot()
แก้ไขและรันโค้ด