Re - ImageJで学ぶ!: 第29回 連続画像処理 ImageJオープンソースネットワーク環境を用いた複数画像処理で学ぶ!

2015年9月30日水曜日

第29回 連続画像処理 ImageJオープンソースネットワーク環境を用いた複数画像処理で学ぶ!

近年の急速な医用デジタル診断および治療システムの普及により、臨床現場で発生する医用画像は膨大な量となっており、病院や診療施設の運営上でも重要な課題として論議されています。このような中で、医用画像処理やバイオイメージングによる解析も、いまや、単一の医用画像を単一のコンピュータで処理していた時代ではなくなり、膨大なデータを高速に処理するためのシステムアーキテクチャに基づいて運用されつつあります。クラウドなどの外部保存もその一つです。
このような背景で、医用画像を保管・データベース管理・送受信するPACS(picture archiving and communication system)の需要は必然のものとして認識されつつあり、すでに、その普及率は、中規模病院では7割を超える勢いの導入率が報告され、新規設立クリニックでは、ほぼ100%、PACSが導入されています。
このような普及が進むにつれて、次なる課題は、ベンダーニュートラルアーカイブとも言われています。
話を戻して、このPACSは、DICOM規格によるネットワーク通信用のソフトウエアを組み合わせたソフトウェア群から構成されることが多いのですが、これらのソフトウェアは、オープンソース(無償提供かつソースコードが公開されているもの)でも品質は高くなり、動作も安定化してきました。

今回は、lmageJプラグインであるオープンソースのPACSライブラリを用いたDICOM画像通信および処理について解説を行います。

オープンソースDICOMツールキットについて


DICOM画像をネットワーク上で効率的に運用するためにDICOM規格というものが決められています。その機能はサービスクラスという名称で特徴づけられています。
ImageJでの操作上、この中で特に必要とされるサービスクラスの機能として以下のようなものが挙げらます。

①CR/DR、CT、MRI、US、PET、SPECTおよびDR、放射線治療装置などの装置からダイレクトにImageJに送信し、その画像をImageJで表示/処理する。
②lmageJで処理した画像(DICOMフォーマット)を別の端末に送信し、その画像を他のDICOMビューワのデータベースに自動登録し、表示/処理する。
③DICOMサーバや別の端末のDICOMビューワにストアされている患者データベース情報を、ImageJ端末から参照(クエリ)し、その中から必要なデータを受け取って(リトリーブ)、 ImageJでその画像および画像群を表示/処理する(QR機能)。
④病院や診療所で配布しているDICOMビューワ機能付きのCDやDVDの中にあるDICOMDIR(患者検査情報・撮像プロトコール・画像などをディレクトリ構造にしたDICOM規格によって定められたファイル)を参照して、データベース化し、ImageJでダイレクトに取り込む機能
⑤匿名化したいDICOMタグを選び、自動で希望する変更名で送受信する機能(匿名化送受信機能)

上記の機能が、基本的なDICOM通信およびデータベース機能です。


有名なサンプルコード


1994年にワシントン大学のマリンクロット放射線学研究所(Electronic Radiology Laboratory)で開発された中央試験ノード(Central Test Node:CTN)用コードというものがあります。

このレジェンドなソフトウェアは、DICOM装置の相互接続デモ用に開発され、パブリックドメイン(無償公開ソフト)として配布されたのをきっかけに、その改良版が世界中に普及しました。

しかし、ImageJとの相性を考えてみると、このCTNはC言語で開発されていることから、Java言語で開発されているImageJに実装することは容易ではありません。このような機能を提供するJava言語のライブラリとして、「dcm4che」があります。

今回は、このdcm4cheで開発されたオープンソースであるTudor DICOM toolsを使って、DICOM通信をテストしていきます。


ImageJ Tudor DICOM Plugins


Tudor DICOM PIugin(http://www.santec.lu/project/dicom/download)を実装するに当たり、インストール方法に沿って、zipファイルをダウンロードして、plugins/TudorDICOMLibsおよびplugins/TudorDICOM_Plugin.jarの配置でコピーする必要があります。

追記(2015/12/22);すでにImageJにFigureJというプラグインがインストールされている場合、"loci_tools.jar"が含まれているので、重複エラーが出て、TudorDICOMLibs内の同jarファイルが削除されて、プラグインを起動できなくなるので、あらかじめ、FigureJが入っている場合には、これを除いてから、インストールしてください。

プラグインを適切に設定すれば次のようにDICOM Managerプラグインメニューが表示されます。


(プラグインリスト)
(DICOM Managerを起動)

次に、DICOM通信の設定(Settings)方法を示します。プラグインの“DICOM Manager”を起動して、この中のスパナの絵のアイコンを選択し、DICOM通信の設定を上から順番に入力していくことができます。


(Settings画面)

一番上は、Tudorが使うためのDICOM画像ローカル保存フォルダの指定
次は、メディアの画像を読み込むための、DICOM DIRの指定
次は、任意のDICOM DIRまでのパスの指定
次は、ImageJ端末の通信時保存先、ImageJのAEタイトルとTCP/IPポートを設定
次は、ImageJと通信する他のDICOMクライアントやPACSクライアントの設定、AEタイトルとTCP/IPポートを指定
Image Selectorは、説明書きがないため詳細は不明です。(どなたか教えてください。)
DICOM SEND(SCU)は、ImageJ端末と接続端末とのリストです。
複数の端末とimageJを接続する場合には、このリストの中のSCUを切り替えてQRを実行します。
一番下のDICOMタグ設定は、リトリーブ対象の画像にイメージプレビューを使用した時に表示させるタグ設定です。

この設定は当たり前ですが、ImageJ端末側の設定で、通信する相手先(例えば、OsiriXやImageJ、dcm4cheeなど)も同様の入力項目があるはずなので、相手先の端末にもImageJ端末のIPアドレスやポートを設定しておくことが必要です。

こちらのサイトに、ImageJとdcm4chee通信例(設定、QR、画像表示まで)が記載されています。

https://sites.google.com/site/makenewlyownworld2013/my-current-study/dicomno-ji-chu/dicomcommunication

画像の通信の後は、通常のImageJの操作と何ら変わりはありません。保存されたDICOM画像を参照して、解析が可能です。

このようにして、ImageJではネットワーク上にある画像データベースを参照し、オンラインで複数画像をダイレクトに表示してリトリーブすることが可能です。また、DICOMヘッダの匿名化転送や、特定のヘッダーデータの値の検証も可能であり、研究や教育目的での画像解析が効率化できます。


(DICOMヘッダー評価機能起動画面)
※特定のタグを指定して、その中の値を検証できる。

本稿では、ImageJプラグイン「Tudor DICOM tools」によるDICOM通信および患者データベースブラウザの紹介とそれの操作方法を説明しました。ImageJの3Dビューワプラグイン、ImageJ-PET-CTフュージョンプラグイン、ImageJ-ディフュージョンテンソルプラグインなど、これまでに紹介したさまざまな最先端の医用画像処理および解析法が、ImageJ-PACSを介してさらに加速化され、医用画像処理研究に従事されている方々のお役に立てれば幸いです。

Amazon Web Serviceの無料利用枠を使って、ImageJクラウド解析環境を作るのも、面白そうですね。もう、なんでもできる・使える時代です。使えるものは使って、効率化していきましょう。
ベンダーとユーザーの本当の協力関係は、お互いWin-Winな、切磋琢磨のスパイラルの中にあるように思います。

話を戻して、次回も続けて複数画像処理の応用について述べます!

Reference
  • 山本修司:ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(22・6) 2007, p95-97」

0 件のコメント:

コメントを投稿