pydicom 2.2 : イントロダクション(翻訳/解説)
翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 09/20/2021 (v2.2.1)
* 本ページは、pydicom の以下のドキュメントを翻訳した上で適宜、補足説明したものです:
* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。
- 人工知能研究開発支援
- 人工知能研修サービス(経営者層向けオンサイト研修)
- テクニカルコンサルティングサービス
- 実証実験(プロトタイプ構築)
- アプリケーションへの実装
- 人工知能研修サービス
- PoC(概念実証)を失敗させないための支援
- テレワーク & オンライン授業を支援
- お住まいの地域に関係なく Web ブラウザからご参加頂けます。事前登録 が必要ですのでご注意ください。
- ウェビナー運用には弊社製品「ClassCat® Webinar」を利用しています。
◆ お問合せ : 本件に関するお問い合わせ先は下記までお願いいたします。
株式会社クラスキャット セールス・マーケティング本部 セールス・インフォメーション |
E-Mail:sales-info@classcat.com ; WebSite: https://www.classcat.com/ ; Facebook |
pydicom 2.2 : イントロダクション
pydicom は医療画像、レポートと放射線治療オブジェクトのような DICOM ファイルを扱うための純粋な Python パッケージです。
pydicom はこれらの複雑なファイルを簡単な操作で自然な pythonic 構造に読むことを簡単にします。変更されたデータセットは再度 DICOM 形式ファイルに書くことができます。
ここに対話的セッションで pydicom を使用する簡単なサンプルがあります、放射線治療計画ファイルを読み、患者の設定を head-first-supine (仰臥位) から head-first-prone (腹臥位) に変更し、そして新しいファイルにセーブします。
import pydicom
from pydicom.data import get_testdata_file
filename = get_testdata_file("rtplan.dcm")
ds = pydicom.dcmread(filename) # plan dataset
ds.PatientName
ds.dir("setup") # get a list of tags with "setup" somewhere in the name
ds.PatientSetupSequence[0]
ds.PatientSetupSequence[0].PatientPosition = "HFP"
ds.save_as("rtplan2.dcm")
'Last^First^mid^pre' ['PatientSetupSequence'] (0018, 5100) Patient Position CS: 'HFS' (300a, 0182) Patient Setup Number IS: '1' (300a, 01b2) Setup Technique Description ST: '' ds.PatientSetupSequence[0].PatientPosition = "HFP"
pydicom は DICOM サーバではなく (代わりに pynetdicom 参照)、主として画像を表示するためのものでもありません。Python コードで DICOM ファイルのデータ要素を操作させるために設計されています。
pydicom はインストールと使用が簡単で、 純粋な Python パッケージですから、Python が動作するところではどこでも動作するはずです。
一つの制限は圧縮された pixel データ (e.g. JPEG) は最初にそれを解凍する場合にのみ知的な方法で変更できることです。ひとたび解凍されれば、最初に解凍されたデータと同じ方法で変更できて DICOM ファイルに書き戻すことができます。
以上