所信表明
VISブログ担当の小林です。私の専門は医用画像情報です。
医用画像情報を扱う際に、DICOMデータの取り扱いは避けて通れません。
しかし、DICOMについて調べると、リソースが無くて困ることが多いです。
そこで、個人的に好きなツールである、dcm4cheを使ったDICOMのハウツーを備忘録としてこの技術ブログに残していくことにしました。
これまでにいろいろなオープンソースのDICOMツールを使ってきました。
DCMTK、GDCM、pixelmed.jarやpydicomなどです。
このブログではdcm4cheを使います。dcm4cheはこれらのツールに匹敵する強力なツールです。そして特筆すべき点として、堅牢なDICOMサーバ(dcm4chee)もこのツールを使ってオープンソースで提供されています。
dcm4che
2000年頃、Gunter Zeilinger氏は、商用のJava DICOM Toolkit(JDT)を使ってJDicomユーティリティを作成しました。この後、彼は自身のDICOMツールキットを書くべきであると決めたそうです。
そして、dcm4che(d-c-m-for-chayと発音)が生まれました。
Gunter氏は、オープンソースの革命的な側面にインスパイアされて、有名な革命家にちなんで、ツールキットに名前を付けることにしたそうです。
当時、このツールキットのオリジナル版は、JavaベースのDICOM API用のJSR(Java Specification Request)としてSun(現在はOracle)に提出することを目的として設計されました。
そのことを念頭に置いて、ツールキットはインターフェース層と実装層に分けられました。
JSRには至りませんでしたが、プロジェクトはJava DICOM開発コミュニティの間で人気が高まり始めました。
そして、dcm4cheをDICOMバックエンドにしたdcm4jbossアーカイブが誕生したそうです。
このDICOMサーバアプリケーションを開発するサブプロジェクトは、IHE Image ManagerとImage Archiveアクターを実装しました。
dcm4jbossは、医用画像の研究および画像診断レポートを管理するための堅牢で安定したプラットフォームに進化しました。
その道は決して楽ではありませんでしたが、何度もIHE Connectathonに参加して、そして、多くの施設で利用されるようになります。
近年では、このアーカイブはdcm4chee(d-c-m-for-cheeと発音)と呼ばれています。
このcheeは、「che」+「e」で、最後の「e」は商用での使用を表す「e」です。
その後、2006年頃、Gunter氏はDICOMツールキットを再設計する必要性を感じられたそうで、パフォーマンス、メモリ使用量、柔軟性、およびシンプルさ(JSRに基づくインターフェース層の削除)を追求したツールが現在も開発され続けています。
このツールキットの新しいバージョンは、dcm4chex(最後のxはバージョンナンバーです。2019/6/25現在はdcm4che5)と名づけられています。
Table Of Contents
DICOMユーティリティ編(予定)
- dcm2dcm: 指定された転送構文に従ってDICOMファイルをトランスコードする
- dcm2jpg: DICOM画像をJPEGまたは他の画像形式に変換する
- dcm2str: dicomファイルまたはコマンドラインパラメータにAttribute形式パターンを適用する
- dcm2xml: DICOMファイルをXMLに変換する
- dcmdir: DICOMDIRのダンプ、作成、更新をする
- dcmdump: DICOMファイルをテキストにダンプする
- dcmldap: LDAPサーバへ/からのネットワークAEの設定エントリの挿入/削除
- dcmqrscp: Simple DICOM archive (簡易DICOMサーバ)
- dcmvalidate: 指定された情報オブジェクト定義に従ってDICOMオブジェクトを検証する
- emf2sf: DICOM Enhanced Multi-frame画像を従来のDICOMシングルフレーム画像に変換
- findscu: DICOM C-FIND Query Requestの実行
- getscu: DICOM C-GET Retrieve Requestの実行
- hl72xml: HL7 v2.x messageをXMLへ変換
- hl7pix: HL7 v2.x PIX Managerへ問い合わせる(クエリ)
- hl7rcv: HL7 v2.x Receiver
- hl7snd: HL7 v2.x messageの送信
- ianscp: DICOMインスタンス可用性通知の受信
- ianscu: DICOMインスタンス可用性通知の送信
- jpg2dcm: JPEGまたはMPEGをDICOMファイルへ変換
- mkkos: DICOM Key Object Selection Documentを作成
- modality: DICOM Modalityシミュレータ
- movescu: DICOM C-MOVE Retrieve requestの実行
- mppsscp: DICOM Modality Performed Procedure Step Receiver
- mppsscu: DICOM Modality Performed Procedure Stepの送信
- pdf2dcm: PDFをDICOMファイルへ変換
- stgcmtscu: DICOM Storage Commitment Requestの実行
- storescp: DICOM Composite Object Receiver(アーカイブ機能)
- storescu: DICOM Composite Objectsの送信
- stowrs: Web上でDICOM Composite Objectまたはバルクデータファイルを送信する
- wadors: Wado RS Client Simulator
- wadows: Wado WS Client Simulator
- xml2dcm: XMLからDICOMファイルを更新/作成する
- xml2hl7: XMLからHL7 v2.x messageを作成する
- xml2prefs: Java Preferencesのインポート
プログラミング編(予定)
可能な限りユーティリティのコードをそのまま使う。
- 既存のDICOMデータの読み込みと書き込み
- DICOMデータのメタデータ確認
- DICOMデータのピクセルの読み込みと書き込み
- 8bit-grayscale画像のDICOMデータを作成する
- 16bit-grayscale画像のDICOMデータを作成する
- 32bit-grayscale画像のDICOMデータを作成する
- 32bit-RGB画像のDICOMデータを作成する
- MPEGのDICOMデータを作成する
- セカンダリキャプチャ画像(DICOMPDF)を作成する
- dcmqrscpサーバーをコードから起動する
- dcmqrscpにエコーを送ってみる
- dcmqrscpにdcmsndを使ってDICOMデータを送信してみる
- dcmqrscpにC-Findしてみる
- dcmqrscpにQRしてみる
- DICOMDIRを作成する
- プリンターへDICOMプリントしてみる(Weasis参照)
自分へ
ボチボチ。でもやるからにはしっかりやろう。趣味で。ブログ開設:2019/6/25
更新 2019/11/5
DICOMを制す者が医用画像情報を制す
"The player who controls the DICOM, controls the Medical Imaging Informatics."
by Tatsuaki Kobayashi
コメント
コメントを投稿