2016年5月18日水曜日

第14回 OsiriXBridge(OsiriX MeVisLab bridge)の紹介!

今回は、OsiriXのプラグインの一つであるOsiriXBridgeを紹介します。

OsiriXは医用画像処理アプリケーションですが、その機能の一部であるサーバー機能を使って、外部の画像処理アプリケーションと併用されることもあります。OsiriXを便利な画像ファイルマネージャとして使えると、OsiriX以外の画像処理ワークステーションやDICOMビューワとシームレスにデータのやり取りができます。

今回は、OsiriXをファイルマネージャとして使った例として、MeVisLabのOsiriXプラグインであるOsiriXBridgeをご紹介いたします。

MeVisLab?


MeVisLabは、医用画像処理と可視化のための迅速なプロトタイピングおよび開発プラットフォームです。執筆時点では、ドイツのMeVis Medical Solutions AGが開発しています。

詳しくはこちらをご参照ください。(http://www.mevislab.de/
ダウンロードはこちらから。(http://www.mevislab.de/download/

その画像処理ライブラリは次の要件を満たします:

  • 6次元画像処理(x, y, z, color, time, user-defined)
  • 急速に発展する研究領域のための完全なモジュール式のC ++インターフェイスで、既存のものを改善/変更したり、新しいアルゴリズムを開発する簡単な方法を提供
  • アルゴリズムからアルゴリズムを組み合わせるパイプラインやネットワーク簡単な方法を提供
  • DICOMなど、標準インタフェースに対応する臨床環境への迅速かつ容易な統合
  • 画像処理における、ページベース、デマンドドリブンアプローチのための臨床ルーチンを考慮した公正なパフォーマンス
主な機能は以下の通りです。

  • Basic image processing algorithms and advanced medical imaging modules
  • Flexible and dynamic 2D/3D visualization and interaction tools
  • Graphical programming of complex, hierarchical module networks
  • High performance for large datasets
  • Modular, extensible C++ image processing library
  • Easy-to-use parallelization options using multi-threading or background processes
  • Object-oriented GUI design and scripting
  • Powerful scripting functionality using Python and JavaScript
  • Integrated text editor with advanced auto-completion and debugger
  • DICOM support and PACS integration
  • Built-in profiler and unit test framework
  • Generic integration of the Insight Toolkit (ITK) and the Visualization Toolkit (VTK)
  • Cross-platform support for 64-bit Windows, Linux, and MacOS X


一般的な画像処理アルゴリズムと可視化ツールのほか、MeVisLabは、セグメンテーション、レジストレーション、容積測定および定量的形態解析および機能解析のための高度な医療イメージングモジュールが含まれています。

これまで、MeVisLabからニューロイメージング、動態解析、手術計画および血管解析のためのソフトウェアアシスタントを含め、多くの臨床プロトタイプが開発されてきました。

開発に出資している会社には、大手の製薬企業や医療機器ベンダーもいます。実際に医療現場で使われている高機能な医用画像処理ワークステーションの機能もMeVisLabで開発されたものを含んでいます。例えば、Syngoなどもその一例です。

MeVisLabは、よく知られているサードパーティのライブラリやテクノロジーを使用しており、最も重要なものは、アプリケーションフレームワークのQt、可視化・相互作用ツールキットOpen Inventor、スクリプト言語のPythonやNumPyおよびグラフィックス標準のOpenGLです。加えて、インサイトツールキット(ITK)と可視化ツールキット(VTK)に基づくモジュールも用意されています。

MeVisLabの医用画像処理例


ここから、MeVisLabでどんなことができるのか、MeVisLabのScreenshotsページのキャプチャ画像を紹介させていただきます。

(血流の流体解析)

心臓の冠動脈解析

冠動脈のOCT画像解析

心臓と冠動脈の3D画像表示

この他にも、頭部の術中支援機能の開発や、トラクトグラフィーの3D画像など、いろいろな機能が考案されています。

これらの機能は、MeVisLabを使えばすぐに誰にでも簡単に作れる!といいたいところですが、MeVisLabの使い方、プログラムコーディングスキルや数学や画像処理に関する知識がなければ、これらのようなプログラムは開発できません。

しかし、勉強さえすれば、こういったアプリケーションが開発できます。時間をかけて徐々にMeVisLabを使えるようになれば、本当に貴重な人材になれるかもしれません。

OsiriXBridge


前置きが長くなってしまいましたが、ここまでで、MeVisLabに興味を持たれた方は多いと思います。そして、このブログを読んでいただいている方は、OsiriXユーザが多いと思います。

OsiriXには、OsiriXBridgeというOsiriXプラグインが用意されています。

正確には、OsiriXをMeVisLabの画像サーバーとして利用できるようにします。

このOsiriXBridgeは、MeVisLabが臨床ユーザーの多いOsiriXと共存できるようにする素晴らしいプラグインです。

以降、その使い方を紹介していきます。

もし、以降の操作をお試しいただく場合は、OsiriXとMeVisLab(2013年のバージョン)のダウンロードとインストールをお願いします。(2016年のバージョンではOsiriXBridgeがデフォルトからなくなっている?ように見えます。私の目で確認しただけなので、間違っているかもしれません)

使ってみよう!

OsiriXBridgeをインストール


OsiriXBridgeのインストールは、MeVisLabを使いながら行います。

同一のPCで、以下の準備をしておきます。

  1. MeVisLab(2013)を起動する。
  2. OsiriX(バージョン3.4以上)を起動する

ここまで準備できたら、次は、MeVisLabにネットワークを作ってみます。
ネットワークとは、MeVisLab上で画像処理を行うためのアルゴリズムを図に示したものです。

このネットワークを作成するために、まず、MeVisLabのメニューのModuleから、File>DICOM>OsiriXBridgeを選択します。



すると、自動的にキャンバス上(ワークスペース上)にOsiriXBridgeというノードが表示されます。

ここから、2つのプラグインインストール方法のいずれかを選択できます。

注意:GRAPHY/OsiriX-KANAGAWAユーザの方は、2016/5/17時点では、インストール方法2の手順でインストールしてください。

インストール方法1)

このパネル上のOsiriXBridgeノードをダブルクリックして、Panel OsiriXBridgeウィンドウを表示します。このパネルの一番左のタブ"OsiriX Setup"で、"Install OsiriX PlugIn"ボタンを押してください。


インストール方法2)

同じ画面右側の"Show OsiriX PlugIn"ボタンを押して、MeVisLabのパッケージの内容に含まれているOsiriXBridge.osirixpluginファイルをコピーし、起動しているOsiriX.appのcontentsフォルダ(ctrl+左クリックで、パッケージの内容を表示で開く)に含まれているpluginフォルダにペーストしてください。その後、OsiriXを再起動してください。

OsiriX-KANAGAWAのユーザの方へ


  • インストール方法2の手順のOsiriX.appをOsiriX-KANAGAWA.appに読み替えてください。
  • Info.plistファイルを以下のように編集してください。編集しない場合、バージョンが読み取られず、OsiriXBridgeプラグインを起動できません。

(OsiriX-KANAGAWA.appのパッケージの内容を表示してInfo.plistをXcodeで開く)

(Information Property Listのプラスボタンを押し、
Bundle versionを追加)
(Bundle versionを追加)
(Bundle versionを4649以上の数字に変更してください)

これで、インストールは完了です。
OsiriXのメニューバーカスタマイズ(メニューバー上で右クリックしてカスタマイズメニュー)から、機能一覧シートを表示し、その中にあるOsiriXBridgeをメニューバーにドラッグ&ドロップしてください。

(シート(右下)にOsiriXBridgeが現れるので、メニューバーに表示させます)

(これです。)

ここまでの操作で、OsiriXとMeVisLabはプラグインを通して画像データをやり取りできるようになりました。ここから、少しだけ使い方を見ていきましょう。

ターゲットネームの設定


OsiriX Setupパネルに、"Alternative target name"というテキストフィールドがあります。これは、OsiriXからDICOMデータをMeVisLabに渡す(ブリッジする)際の指定先になります。デフォルト(ブランクの状態)ではOsiriXBridgeという名前になっています。

OsiriXからデータをMeVisLabにブリッジしたいときに、複数の画像シリーズをいくつかのOsiriXBridgeノードなどで取り扱いたい場合に用います。

例えば、このテキストフィールドに、「MoveToMeVisLab」とすれば、OsiriXのOsiriXBridgeアイコンをクリックすると、ポップアップで「MoveToMeVisLab」を選択できるようになります。ノードが複数ある場合は、このリストが増えます。



さて、次は、いよいよ画像データを使います。

やってみよう!


今回は、一番簡単な方法として、OsiriXBridgeノードに用意されているExampleネットワークを使ってみます。

MeVisLabワークスペース上のOsiriXBridgeノードを右クリックして、そのリストからShow Example Networkを選択してください。


そうすると、次のようなワークスペースの状態になります。


自動で表示されるReadMeメモにも表記がありますが、このネットワークを使うと、OsiriXから読み込まれたデータをこのネットワークの設定に沿って処理し、再度、自動的にOsiriXデータベースに戻す処理が走ります。

この例では、まず、読み込まれたデータを平均化処理し、さらに膨張処理をかけ、膨張処理あり画像となし画像(平均化処理画像)とを差分して、入力されたデータと同じマトリクスサイズで出力するというアルゴリズムが起動します。

手順は次のようになります。

  1. OsiriXのデータベーステーブルで、任意のシリーズを選択(今回は、OsiriXサンプルデータのBrainixのFLAIRで試しています。)
  2. OsiriX上のOsiriXBridgeプラグインを起動し、設定したターゲットネーム(今回はMoveToMeVisLab)を選択
  3. OsiriXデータベースが更新され、帰ってきた処理済みデータを確認

(処理前のFLAIR)
(処理後のエッジ強調画像)

注意:データベースで選択されたデータがしっかりとしたDICOMデータでなければ、読み込みに失敗することがあります。(例えば、患者名がブランクなど。結構シビアです。)

ここまでできた方、お疲れ様でした!

"Advanced Conversion Setup"パネル(補足)


処理のログはMeVisLabのPanel OsiriXBridgeウィンドウの"Advanced Conversion Setup"パネルで確認できます。

もし、エラーがあれば、OsiriXデータベースは更新されず、何も起きません。そのときは、このログを参照してください。

(処理が成功したログ)

このパネルでは、DICOMファイルのインポートのオプションも指定できます。このパネル上のHelpボタンからコマンドが参照可能です。

(DICOM import コマンド「Help」ウィンドウ)

プラグインのソースコード


このプラグインのソースコードはダウンロード可能なSDKフォルダに同梱され、公開されています。秀逸なプラグインで、コードもしっかり書かれています。

以下の場所に格納されています。

MeVisLabSDK_x.x/MeVisLab.app/Contents/Packages/FMEwork/ReleaseMeVis/Projects/MLOsiriXBridge/Sources 

このプラグインソースファイルの場所はバージョンの変更に伴い変更される可能性がありますが、/FMEwork/ReleaseMeVis/のあたりにあると思われます。

GitHubでも公開されています。
https://github.com/MeVisLab/communitymodules/tree/master/Community/General/Projects/OsiriXMeVisLabBridge

終わりに


以上、今回はOsiriXBridgeプラグインをご紹介いたしました。
MeVisLabだけだとちょっと手間、OsiriXだけだとちょっと不満という方にぴったりな画像解析環境ではないでしょうか。どんどん使っていきたいですね。

Visionary Imaging Services, Inc.は、イメージング技術サポートを通じて、創薬研究や医療機器開発など、臨床試験や臨床研究サポートサービスを展開しています。
医療機関や教育機関向けのOsiriXサポートも行っております。
よろしくお願いいたします!



0 件のコメント:

コメントを投稿