前回までの投稿で表示してきた画像ですが、 通常私たち診療放射線技師が医師に提供する画像コントラストとはかけ離れた画像でした。
そこで、今回は画像コントラストを好みの条件にて表示する方法をやっていきたいと思います。
WW(ウインドウレベル),WL(ウインドウ幅)のおさらい
CT画像は水を0、空気を-1,000として規定されており、骨は1,000以上のCT値を持っています。CT値の算出式は以下
CT値(Hounsfield Unit ) = ( μa - μw ) / μw × k
μa : 物質の減弱係数
μw : 水の減弱係数
k : 定数
CT画像を表示するときはWL,WWの設定をしますが、WLを中心としてWWの半分以上のCT値はすべて白く、一方WWの半分以下のCT値は黒く表示します。
WLを中心としたWW内のCT値は、256等分にされグレイスケールに変換されてモニタ上に表示されます。
なぜ、まったりとした画像になってしまう?
pythonで画像表示した場合(他の言語で表示した時の事は分かりません・・・・)、CT値の最大値から最小値の間で256分割され、グレイスケールに変換されます。
例えば、上の画像であれば、空気のCT値が‐1,000、一番高いCT値が骨でおそらく1,000ぐらいだと思われます。
(計測結果、最大値1211,最小値-1015でした)
‐1,000から1,000までの2,000のCT値を256階調に分割すると1階調あたり約7.8のCT値を丸め込む形となります。
肝臓のコントラストは全くついておらず、肝動脈や下大静脈の位置すら同定できません。
この画像を WW250,WL50で表示すると
肝動脈の位置や、下大静脈の位置をはっきりと確認できます。
上の画像はWW250で表示していますので、WW250を256階調で表示します。
よって、1階調あたり0.8のCT値を表示することになります。
上の画像で肝臓のCT値は最大値89、最小値31の間に分布しており、58の範囲に収まっています。
pythonで表示した場合、肝臓のコントラストはCT値、7程度の範囲で表現されることになりますが、 WW250、WL50で表示した場合は肝臓のコントラストは、CT値46程度の範囲で表現されますので肝臓の評価が可能となります。
CT画像を好み条件で表示するためには
それではCT画像を表示する際に、好み条件にて画像表示するにはどうしたらいいのでしょうか?
いままでDICOM画像を表示するのコードは以下を使用してきました。
1 2 3 4 5 6 7 8 |
import pydicom from matplotlib import pyplot as plt %matplotlib inline ds = pydicom.dcmread(‘CT000060’) plt.imshow(ds.pixel_array,cmap=plt.cm.bone) #←ここで設定 plt.show() |
好みの条件として画像を開くには、7行目のコードの部分で設定します。 。
plt.imshow(ds.pixel_array,cmap=plt.cm.bone)
の部分を以下に変更します。
plt.imshow(ds.pixel_array,cmap=plt.cm.bone,vmin=-1000,vmax=300)
通常、表現したいCT値の領域をWWとして指定し、その中心をWLとして指定してあげるわけですが、pythonでは、最小のCT値と最大のCTを指定します。
”vmin=”
で最小のCT値を指定し
”vmax=”
で最大のCT値を指定してあげることで、好みの条件にて表示することが可能となります。
WLを設定する必要はなく、ただ単にWWの最小値と、最大値の設定でお好みの条件にて表示することができました。
以下、コードです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import pydicom from matplotlib import pyplot as plt from matplotlib import patches as patches %matplotlib inline ds = pydicom.dcmread(‘CT000060’) plt.subplot(1, 2, 1) #左側画像の設定 plt.imshow(ds.pixel_array,cmap=plt.cm.bone) plt.subplot(1, 2, 2) #右側画像の設定 plt.imshow(ds.pixel_array,cmap=plt.cm.bone,vmin=–75,vmax=175) plt.show() |
ご覧いただききありがとうございました。
次回は、WW,WLの設定をスライダーを用いて設定する方法を載せれればと考えています。