😀

Windows版Orthancを試す

2023/08/17に公開

今回はWindows版インストーラでOrthancを入れてみます。

検証環境

OS:Windows 11(Hyper-V開発環境)

今回試した内容

プライベートタグ情報を含むDICOMファイルを受信し、プライベートタグ情報を削除して、PeerのOrthanc Serverへ転送する

インストール

  1. 公式サイトからWindowsインストーラーをダウンロードする。
    https://www.orthanc-server.com/download-windows.php
  2. インストーラを起動し、以下の項目を設定する
  • Select Destinataion Location : インストールフォルダを指定

    今回の検証ではC:\Orthancに設定する
  • Select Orthanc storage directory : データフォルダ指定

    今回の検証ではC:\Orthanc\dataに設定する
  • Select Components : インストールするコンポーネントを選択

    今回の検証ではCompact installationを選択する
  • Select Start Menu Folder : デフォルトの「Orthanc by osimis」ままでOK
  1. 最後に「Install」を押下してインストールする
    Windowsサービスとしてインストールされる
    設定ファイルは、インストールフォルダ以下のConfigurationフォルダ内にある

Orthanc設定

Lua scriptのパス、PeerとなるOrthancサーバ(ここではorthanc-svというホスト名)を設定する

orthanc.json
"LuaScripts" : [
    "C:\\Orthanc\\script\\sendto_peer.lua"
 ],
 (略)
 "OrthancPeers" : {
    "orthanc-sv" : [ "http://orthanc-sv:8042/" ]
  },

接続元を制限する場合は、以下の設定を行う(ローカルのDCMTKから送信のみ許可する場合)

 "DicomAlwaysAllowEcho" : false,
 "DicomAlwaysAllowStore" : false,
 "DicomModalities" : {
    "sample" : [ "DCMTK", "127.0.0.1", 104 ]
 },

Lua script

https://book.orthanc-server.com/users/lua.html#auto-routing-of-dicom-images
公式サイトを参考に以下のLua scriptを作成し、C:\Orthanc\scriptフォルダに配置する

sendto_peer.lua
function OnStoredInstance(instanceId, tags, metadata, origin)
    if (metadata['ModifiedFrom'] == nil and
        metadata['AnonymizedFrom'] == nil) then
        
	-- StationNameタグを書き換え
        local replace = {}
        replace['StationName'] = 'ORTHANC_GW'
    
      -- DICOM加工→Peerへ送信→加工画像削除
        Delete(SendToPeer(ModifyInstance(instanceId, replace, remove, true), 'orthanc-sv'))
	
	-- 元画像削除
        Delete(instanceId)
    end
end

確認

設定が済んだら、Orthancサービスを再起動する。
DCMTK(下記のようなコマンド)でDICOMファイルを送信する

> C:\dcmtk\bin\storescu.exe -v -aet DCMTK -aec ORTHANC_GW -xf ""C:\dcmtk\etc\dcmtk\storescu.cfg"" DEFAULT 127.0.0.1 4242 sample.dcm

転送先orthanc-svに加工後のDICOM画像が保存されていることを確認する

Discussion