ซ้อนภาพ
"สแต็กภาพ" เป็นอุปมาที่ช่วยให้เข้าใจข้อมูลหลายมิติได้ดี โดยแต่ละมิติที่สูงขึ้นคือการซ้อนอาร์เรย์มิติต่ำกว่าเข้าด้วยกัน
ในแบบฝึกหัดนี้ เราจะใช้ฟังก์ชัน stack() ของ NumPy เพื่อรวมอาร์เรย์ 2D หลายชุดให้กลายเป็น Volume 3D ตามแบบแผนที่นิยมใช้กัน ข้อมูลเชิงปริมาตรควรซ้อนตามมิติแรก: vol[plane, row, col]
หมายเหตุ: การทำงานใด ๆ กับออบเจ็กต์ Image ของ ImageIO จะแปลงมันให้เป็น numpy.ndarray ซึ่งจะทำให้สูญเสียข้อมูล metadata ไป
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์ภาพทางชีวการแพทย์ด้วย Python
คำแนะนำการฝึกหัด
- นำเข้า
imageioและnumpy(ในชื่อnp) - โหลดไฟล์ "chest-220.dcm", "chest-221.dcm" และ "chest-222.dcm"
- สร้าง Volume 3D โดยใช้
np.stack()และกำหนดaxisสำหรับการซ้อนเป็น 0 - แสดงแอตทริบิวต์
shapeของvol
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import ImageIO and NumPy
import imageio.v2 as imageio
import ____ as ____
# Read in each 2D image
im1 = imageio.imread('chest-220.dcm')
im2 = ____
im3 = ____
# Stack images into a volume
vol = np.stack(____)
print('Volume dimensions:', ____)