始める無料で始める

画像をスタックする

「スタック」は多次元データを理解するうえで便利な考え方です。より高い次元は、低次元の配列を積み重ねたものとして捉えられます。

この演習では、NumPy の stack() 関数を使って複数の 2D 配列を 1 つの 3D ボリュームにまとめます。慣例として、ボリュームデータは最初の次元に沿って積み重ねます:vol[plane, row, col]

注意:ImageIO の Image オブジェクトに何らかの操作を行うと、numpy.ndarray に変換され、メタデータが失われます。

この演習はコースの一部です

Python による生体医療画像解析

コースを見る

演習の手順

  • imageionumpynp として)をインポートします。
  • "chest-220.dcm"、"chest-221.dcm"、"chest-222.dcm" を読み込みます。
  • np.stack() を使って 3D ボリュームを作成します。スタックする axis を 0 に設定してください。
  • volshape 属性を表示します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# 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:', ____)
コードを編集して実行