😀
Windows版Orthancを試す
今回はWindows版インストーラでOrthancを入れてみます。
検証環境
OS:Windows 11(Hyper-V開発環境)
今回試した内容
プライベートタグ情報を含むDICOMファイルを受信し、プライベートタグ情報を削除して、PeerのOrthanc Serverへ転送する
インストール
- 公式サイトからWindowsインストーラーをダウンロードする。
https://www.orthanc-server.com/download-windows.php - インストーラを起動し、以下の項目を設定する
- Select Destinataion Location : インストールフォルダを指定
今回の検証ではC:\Orthanc
に設定する - Select Orthanc storage directory : データフォルダ指定
今回の検証ではC:\Orthanc\data
に設定する - Select Components : インストールするコンポーネントを選択
今回の検証ではCompact installation
を選択する - Select Start Menu Folder : デフォルトの「Orthanc by osimis」ままでOK
- 最後に「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
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