pydicom 2.2 : 画像の表示 (翻訳/解説)
翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 09/26/2021 (v2.2.1)
* 本ページは、pydicom の以下のドキュメントを翻訳した上で適宜、補足説明したものです:
- User Guide : Viewing Images
* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。
- 人工知能研究開発支援
- 人工知能研修サービス(経営者層向けオンサイト研修)
- テクニカルコンサルティングサービス
- 実証実験(プロトタイプ構築)
- アプリケーションへの実装
- 人工知能研修サービス
- PoC(概念実証)を失敗させないための支援
- テレワーク & オンライン授業を支援
- お住まいの地域に関係なく Web ブラウザからご参加頂けます。事前登録 が必要ですのでご注意ください。
- ウェビナー運用には弊社製品「ClassCat® Webinar」を利用しています。
◆ お問合せ : 本件に関するお問い合わせ先は下記までお願いいたします。
株式会社クラスキャット セールス・マーケティング本部 セールス・インフォメーション |
E-Mail:sales-info@classcat.com ; WebSite: https://www.classcat.com/ ; Facebook |
pydicom 2.2 : 画像の表示
DICOM 画像を見るために pydicom で他のパッケージを使用する方法
イントロダクション
pydicom はファイルの DICOM データ要素を取得することに主として関連していますが、ピクセルデータを画像として表示することが望まれる場合もよくあります。幾つかのオプションがあります :
- 利用可能な多くの DICOM ビュアー プログラムのいずれかを利用する
- matplotlib と共に pydicom を使用する
- Python の stdlib Tkinter モジュールと共に pydicom を使用する
- Python Imaging ライブラリ (PIL) と共に pydicom を使用する
- wxPython と共に pydicom を使用する
matplotlib と共に pydicom を使用する
matplotlib は https://matplotlib.org/ で利用可能です。それは Dataset.pixel_array から 2D 画像情報を取得してそれを表示することができます。ここにサンプルがあります :
import matplotlib.pyplot as plt
import pydicom
from pydicom.data import get_testdata_files
filename = get_testdata_files("CT_small.dcm")[0]
ds = pydicom.dcmread(filename)
ds.PatientID
'1CT1'
ds.PatientAge
'000Y'
ds.pixel_array
array([[175, 180, 166, ..., 203, 207, 216], [186, 183, 157, ..., 181, 190, 239], [184, 180, 171, ..., 152, 164, 235], ..., [906, 910, 923, ..., 922, 929, 927], [914, 954, 938, ..., 942, 925, 905], [959, 955, 916, ..., 911, 904, 909]], dtype=int16)
type(ds.pixel_array)
numpy.ndarray
plt.imshow(ds.pixel_array, cmap=plt.cm.bone)
plt.imshow(ds.pixel_array, cmap='gray')
plt.imshow(65535 - ds.pixel_array, cmap='gray')
Tkinter と共に pydicom を使用する
contrib-pydicom レポジトリのプログラム pydicom_Tkinter.py は、殆どの Python インストールでデフォルトで装備される Tkinter グラフィクス・システムを使用して画像を表示する方法を実演します。それは Label ウィジェットかユーザ提供のウィジェットで Tkinter PhotoImage を作成します。
Python Imaging ライブラリ (PIL) と共に pydicom を使用する
contrib-pydicom レポジトリのモジュール pydicom_PIL.py は、pixel データとそれについての幾つかの基本的な情報 (bit depth, LUTs, etc) から Image インスタンスを作成した後、PIL の Image.show() メソッドを使用します。
wxPython と共に pydicom を使用する
contrib-pydicom レポジトリのモジュール imViewer-Simple.py は wxPython (PIL も、しかし厳密には必要ないかもしれないと記されています) を使用して pydicom データセットから画像を表示します。
以上