画像をスタックする
「スタック」は多次元データを理解するうえで便利な考え方です。より高い次元は、低次元の配列を積み重ねたものとして捉えられます。
この演習では、NumPy の stack() 関数を使って複数の 2D 配列を 1 つの 3D ボリュームにまとめます。慣例として、ボリュームデータは最初の次元に沿って積み重ねます:vol[plane, row, col]
注意:ImageIO の Image オブジェクトに何らかの操作を行うと、numpy.ndarray に変換され、メタデータが失われます。
この演習はコースの一部です
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:', ____)