始める無料で始める

輝度値

この章では、2017年に開催された北米放射線学会コンペティションの手部レントゲン写真を使って学習を進めます。X 線は骨などの高密度組織で最もよく吸収されるため、該当部位の輝度値は高くなります。こうした画像は、子どもの「骨年齢」を予測するためにも活用されています。

まずは画像を読み込み、輝度値の範囲を確認するところから始めましょう。

画像のデータ型によって、取りうる輝度値の範囲が決まります。たとえば、8ビット符号なし整数(uint8)は 0 から 255 の値を持ちます。カラーバーを使うと、これらの値と可視化された画像の関係がわかりやすくなります。

この章のすべての演習では、以下のインポートが共通で使用されています。

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

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

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

コースを見る

演習の手順

  • imageio を使って画像「hand-xray.jpg」を読み込みましょう。
  • 画像のデータ型(dtype)、最小輝度値(min())、最大輝度値(max())を出力しましょう。
  • plt.imshow() を使って画像を表示しましょう。vminvmax 引数を使って、カラーマップの最小値(0)と最大値(255)を明示的に指定してください。
  • 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()
コードを編集して実行