DCMTK的Worklist初探
作為一個非醫學相關專業的程序員,要實現通過DCMTK實現相關通訊還是得兜些圈子。在這里記錄一下比較繞,實際卻很簡單的Worklist吧。
首先我們需要一個查詢的SCP,DCMTK為我們提供了wlmscpfs用于測試:
usage: wlmscpfs [options] port
比較繞的點在于,僅提供ip與port是不夠的的,中間的options需要什么呢,實際可用的如下:
wlmscpfs.exe -dfr -dfp wlistdb/OFFIS 104
-dfr為--disable-file-reject,-dfp代指--data-files-path。問題就在dfp的介紹比較籠統,查閱資料后發現,要實現worklist查詢,SCP和SCU都需要有worklist文件,后綴為.wl。其實這種文件就是dcm文件,只是文件中一般不存儲像素信息,主要用于存取患者信息。SCP和SCU所用的wl文件區別在于,一個有值域,一個沒有。
worklist文件是以二進制形式存儲的,DCMTK為我們提供了工具可將wl文件轉換為dump文件,這是一種可逆向轉換的ASCII文件,我們可使用dcmdump.exe將wl轉換為dump文件后,查看或修改dump文件。然后再將dump文件通過dump2dcm.exe轉換回wl文件。
問題來了,wl文件從哪兒獲取呢?其實DCMTK源碼包中就有。SCP所需的wl文件位置在${dcmtk_dir}\dcmwlm\data\wlistdb\OFFIS下(${dcmtk_dir}表示dcmtk源碼目錄),SCU所需的wl文件位置在${dcmtk_dir}\dcmwlm\data\wlistqry。通過之前提到的工具可將dump文件轉化為wl文件。
光有文件還不行,還得將文件以一定形式組織起來。新建文件夾結構如下,然后將SCP所需文件放入OFFIS下,SCU所需文件放入wlistqry下。同時我們還需要將原OFFIS目錄下的lockfile文件放入新OFFIS目錄下。
Root_Folder
├─wlistdb
│ ?└─OFFIS
└─wlistqry
如此,可以使用上述指令開始SCP服務。
接下來使用
usage: findscu [options] peer port [dcmfile-in...]
findscu -aec . 127.0.0.1 104 wlistqry/wlistqry.wl -k 0010,0020
總結
以上是生活随笔為你收集整理的DCMTK的Worklist初探的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 日期滞后_如何滞后MySQL
- 下一篇: bindresult必须在哪个位置_手机