ConquestDicomサーバをDHCPのK-Pacsかアクセスする検討 †更新日2022-07-01 (金) 16:59:47
作成日:2022年6月30日
ConquestとDicom通信するPacsビューワはビューワのAET、IPアドレス、ポートをConquestに登録しておく必要がある。 Conquestの登録にAETやIPアドレスにワイルドカードが使用できそうなので実験してみた。 Conquest側の設定 †Conquestに以下のように登録するとクライアントのIPアドレスは指定する必要がない。
S* * 104 un クライアント(K-pacs)のAETにはアクセスするIPアドレスの行頭に「S」を追加すれば良いようだ。 K-PACSの設定 †K-PACS(このPCのIP 192.168.0.214)がこの場合K-PACSのAETを以下のようにする AET: S192.168.0.214 AETの行頭の文字(この例は「S」)はConquestと同じであればなんでもよさそう ポート番号は「104」指定する。 Conquestのポート番号の指定個所に「*」を指定すればK-pacsのポートもなんでOKかもしれない。(未確認) K-PACS AETの設定 †K-pacsのPCはIPアドレスはDHCPで取得るため、起動ごとにIPアドレスが変わる可能性がある。 ScriptとK-pacs起動バッチ †作成準備 †
> netsh interface ipv4 show address インターフェイスの構成 "ローカル エリア接続* 1" DHCP 有効: はい インターフェイス メトリック: 25 インターフェイスの構成 "ローカル エリア接続* 2" DHCP 有効: はい インターフェイス メトリック: 25 インターフェイスの構成 "Wi-Fi" DHCP 有効: はい IP アドレス: 192.168.0.214 ←ここ サブネット プレフィックス: 192.168.0.0/24 (マスク 255.255.255.0) デフォルト ゲートウェイ: 192.168.0.175 ゲートウェイ メトリック: 0 インターフェイス メトリック: 55 インターフェイスの構成 "Loopback Pseudo-Interface 1" DHCP 有効: いいえ IP アドレス: 127.0.0.1 サブネット プレフィックス: 127.0.0.0/8 (マスク 255.0.0.0) インターフェイス メトリック: 75
>netsh interface ipv4 show address "Wi-Fi" | find "IP アドレス" IP アドレス: 192.168.0.214 K-PacsサーバのIP指定は以下のファイルに記載があるので、取得したIPアドレスにAETを書き換える C:\KPacs\K-Pacs-Server\KPServer.txt gawkを使用して「KPServer.txt」のIPを書き換えるScriptを作成して、Script実行後 K-pacs起動するバッチを作成する。 IP書換えgawkScript †
フォルダ「\KPacs」に保存する ファイルの文字コードはANSIにすること BEGIN{ # コマンドでIPを表示する行を取得して、変数varに代入する "netsh interface ipv4 show address \"Wi-Fi\" | find \"IP アドレス\"" | getline var; # print var ; # IPアドレスは「:」以降に表示しているの、「:」以降を取り出す ip = substr(var ,index(var, ":") + 1); # 余分なスペースの削除 (正規表現 スペースをn文字削除) sub(/^[ ]*/, "", ip); #行頭 sub(/[ ]*$/, "", ip); #行末 # print ip; } { if(substr($0, 1, 4) == "-aet"){ printf("-aet = X%s\n", ip); }else{ print $0;} }
フォルダ「\KPacs」に保存する @echo off rem K-Pacsのパス set spath=C:\KPacs\ rem gawkのパス set awkpath=C:\Usr\gawk-mbcs-win32-20051223\ copy %spath%K-Pacs-Server\KPServer.txt %spath%K-Pacs-Server\KPServer.old %awkpath%gawk -f %spath%a.awk %spath%K-Pacs-Server\KPServer.old > %spath%K-Pacs -Server\KPServer.txt del %spath%K-Pacs-Server\KPServer.old rem 非同期実行 start %spath%k-pacs.exe 基本動作確認はできた。エラー処理は別途検討する。 K-Pacsとファイアウォール †K-pacsをインストールして初めて起動するときは、ファイアウォールの許可を聞かれる。 ファイアウォールはポートではなくK-pacs-serverの実行形式をしてする ファイアウォールの画面の左ペインの「Windows Defenderファイアウォールを介したアプリまたは機能を許可」をクリックする 「別のアプリの許可」をクリック パスで以下の2つ、または一つを追加する
どちらを追加した記憶にないの次回チャンスがあれば確認する。 |