オープンソースのDICOMサーバ ORTHANC

 

オープンソースのDICOMサーバ、ORTHANCを使ってサーバ構築を行ってみました。

今回はWindows版を使用しましたが、ORTHANCはLinux, MacOSX晩も用意されています。

1. ダウンロードとインストトール

ORTHANCホームページからダウンロードします。 → こちら
Orthank for Windows をクリックすると、氏名等の入力フォームが表示されるので必要事項を入力し、送信するとファイルのURLが電子メールで送られてきます。
フォームではVersionのリストボックスで必要なものを選択するようになっていますが、「...by Osimis」となっているものを選択します。
(official installerにはプラグインが入っていません。サーバ本体のみです。) 

念のため、ダウンロードしたファイル(OrthancInstaller-Win32-1.2.0.2546.exe またはOrthancInstaller-Win64-1.2.0.2546.exe)を実行する前に、ファイルのプロパティを開き、ブロックを解除してください。 

2. 動作確認

インストール終了後、Orthanc Explorer を起動します。(スタートメニュー - ORTHANC - Open Orthanc Explorer)
DICOMサーバが動作していると下図のようなサーバ管理画面が表示されます。

この画面が表示されないときは、Windows管理ツール - サービスを開いて、Orthanc Serverを起動してください。

3. 画像の登録

試しに画像を登録してみます。まず、画面右上の「Upload DICOM」ボタンを押します。下図のように表示されますので、ウインドウ下部にDICOM第るをドラッグ&ドロップしてください。

登録する画像のリストが表示されたら、「start image upload」をクリックしてください。

アップロードが終了したら、ウインドウ左上の「Patients」をクリックしてください。登録した画像の患者名が表示されます。(図では匿名さんにしています)

ここをクリックすると、スタディリストが表示されます。さらにスタディをクリックするとシリーズリストが表示されます。

ここで、左側の黄色いボタン「Orthanc Web Viewer」をクリックすると簡易ビューワーが表示されます。

左側のシリーズ・サムネイルを中央にドラッグして表示します。
ちなみに、シリーズをするとイメージリストが表示され、さらにイメージをクリックするとその画像のDICOMタグが表示されます。

このOrthanc Explorerは画像の追加・削除・表示・匿名化・ZIPファイルにして取り出しといった機能だけで、サーバの設定ができるわけではないようです。
サーバの設定はメモ帳などのテキストエディタを使用してファイルを編集する必要があります。
ちなみに、このExplorerの実態はWebブラウザです。お使いのWebブラウザで

http://localhost:8042/

を開くのと同じです。後述の設定を行うことで、サーバ以外のPCからもこの画面を開くことができるようになります。

4. サーバ設定

設定ファイルはインストール先(c:\Program Files\Orthanc\)のConfigurationディレクトリにあります。
この中の「orthanc.json」というファイルをメモ帳などのテキストエディタで編集します。
このファイルのコメントを参考に、値を適宜変更します。 

Orthanc ServerはLuaというスクリプト言語で機能拡張できるようです。その保存先を指定するには、
34行目くらいの  "LuaScripts" : [ "../scripts/" ] ,という具合に設定ファイルの置いてあるディレクトリから相対パスで指定します。

* Configuration of the HTTP server のセクションはHTTPサーバ機能の設定です。このHTTPサーバ機能が有効になっていないと Orthanc Explorer は使用できません。あえて変更する部分があるとすれば、ポート番号
"HttpPort" : 8042, くらいです。(デフォルトは8042)

* Configuration of the DICOM server のセクションはDICOMサーバの設定です。
"DicomAet" : "ORTHANC",  サーバのAEタイトル
"DicomPort" : 4242,      ポート番号
以外はデフォルトで良いと思います。Queryの際にどーしても日本語を使いたいときは、
"DefaultEncoding" : "Latin1", をJapanese にするといいかも。(未確認)
転送構文はJpeg2000やMpeg2もサポートしているなかなかの優れもんです。

* Security-related options for the HTTP server のセクションはせきゅりていに関する設定です。
"RemoteAccessAllowed" : false, を true にすると、サーバ以外のPCからでも Orthanc Explorer を使用することができて便利です。が、ネットワーク上のすべてのPCからアクセスできることになるので、
"RegisteredUsers" : {
   "administrator" : "password"
},  のようにOrthanc Explorer の利用者の設定を行うとよいでしょう。

* Network topology のセクションは接続するモダリティやクライアントの設定を行います
方法は、 "DicomModalities" : <モダリティ、クライアント>… ], のように記述します。
<モダリティ、クライアント>は "ラベル" : [ "AEtitle", "IPアドレス", ポート番号 ] のように記述します。
また、複数のモダリティ、クライアントの登録は、「,(カンマ)」で区切って記述します。
例)
     "DicomModalities" : [
          "ct" : [" "CT_AET", "192.168.1.11", 104 ],   ←「,」をつけること
          "mr" : [ "MR_AET", "192.168.1.21", 4001 ] 
    ],


最後に変更を適用するためにサービスを再起動してください。
管理ツール - サービス のOrthancを一旦停止してから開始してくください。
コマンドラインで実行するには、コマンドプロンプトを管理者モードで起動し
        sc stop orthsnc
        sc start orthanc
とタイプしてください。 
 

5. その他

OrthancはConquestと比較して、大量のデータを扱えることができます。唯一の不安はデータベースがSQLiteという点です。以前、別のDICOMサーバでSQLiteを使用したことがあるのですが、その際、画像データが700Gバイトを超えたあたりから、検索速度が遅くなってきた経験があります。 (まだ試していないので、Orthancも遅くなるかどうかはわかりませんが。PostgreSQLも使えるみたいなので、問題はないと思いますが)
使える転送構文のサポートも多いことや、軽量・高速なLuaスクリプトによる拡張が可能な点等、かなり良さそうです。


2017.5.8 更新