堆疊影像
影像「堆疊」是理解多維資料的好比喻。每一個更高的維度,都可以視為較低維度陣列的堆疊。
在這個練習中,你會使用 NumPy 的 stack() 函式,把多個 2D 陣列組合成一個 3D 體積資料。依照慣例,體積資料應沿著第 1 維度堆疊:vol[plane, row, col]。
注意:對任何 ImageIO 的 Image 物件進行運算時,會將它轉成 numpy.ndarray,並移除其中繼資料(metadata)。
本練習屬於課程
Python 的生醫影像分析
練習說明
- 匯入
imageio與numpy(命名為np)。 - 載入 "chest-220.dcm"、"chest-221.dcm" 和 "chest-222.dcm"。
- 使用
np.stack()建立 3D 體積資料,並將堆疊的axis設為 0。 - 列印
vol的shape屬性。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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:', ____)