dicom worklist、pacs环境搭建
dcmtk的安裝和使用
OFFIS DICOM 工具包 官網:dicom.offis.de - DICOM Software made by OFFIS - DCMTK - DICOM Toolkit
windows版本下載地址:https://dicom.offis.de/download/dcmtk/dcmtk366/bin/dcmtk-3.6.6-win64-dynamic.zip
部分工具包使用方法記錄
wlmscpfs .exe
啟動worklist管理的SCP服務工具🔗
相關命令:
wlmscpfs.exe -d -dfr -dfp wlistdb 104-d 可以查看一些輸出信息 -dfr 表示接受字段不完整的 DICOM 文件作為查詢內容; -dfp wlistdb 表明 wlmscpfs.exe 搜索的文件夾的路徑,可以為絕對路徑; 104 為工作列表程序的端口號; wlistdb 文件夾下的 OFFIS 表示 AETITLE (AETITLE作為文件夾命名,文件夾下存放查詢的wl文件,在該目錄下新建一個lockfile的空文件)。dump2dcm.exe
將ascii dump文件轉換成dicom文件工具🔗
用于測試的dump文件可以拉dcmtk的源碼 :GitHub - DCMTK/dcmtk: Official DCMTK Github Mirror,然后在目錄dcmwlm/data/wlistdb/OFFIS中查看,
?
這里選擇wlist1.dump
對于dump文件,用記事本打開,可以看到一部分信息,其中比較重要的:
(0010,0010)(患者姓名)、(0010,0020)(患者編號)、(0010,0030)(出生日期)、(0010,0040)(性別)、(0020,000d)(檢查號)、(0008,0060)(設備 Modality)、(0040,0001)(AE Title)、(0040,0002)(檢查、預約日期)和 (0040,0003)(檢查、預約時間)。
相關命令:
dump2dcm.exe wlist1.dump wlist1.wl --write-xfer-little.wl 文件就是.dcm文件,但文件中并不包含真實的像素信息,只包含頭部信息。
最終可以將生成的.wl文件放到wlmscpfs所對應的AE(AE_WYJ)目錄下去。
findscu.exe
dicom查詢SCU工具🔗
通過findscu.exe查詢文件需要對應的模板文件,查出來的wl信息會根據模板信息展示,所以前提需要準備一個模板的wl文件。
在dcmtk源碼文件夾dcmwlm/data/wlistqry目錄下,找到對應的模板dump文件,
?
這里選擇wlistqry1.dump
相關命令:
# 將wlistqry1.dump轉換為將wlistqry1.wl dcmp2dcm.exe 將wlistqry0.dump 將wlistqry0.wl --write-xfer-little # 通過findscu查詢wl findscu.exe 10.150.2.78 104 -aec AE_WYJ wlistqry1.wl -aec 被請求或者說被呼叫的應用端的名稱,即命名的AE文件夾AE_WYJ AE_WYJ 查詢的AE wlistqry1.wl 模板文件wl?
storescu.exe
dicom存儲SCU(c-store)工具🔗
storescu.exe -aec DCM4CHEE 10.150.1.98 11112 -v 1.dcm -aec 即pacs的AE DCM4CHEEdcmdump.exe
轉儲 DICOM 文件和數據集,可以查看.dcm等文件🔗
相關命令:
dcmdump.exe 1.dcmworklist服務搭建
debain環(huán)境下,dcmtk的使用
安裝dcmtk
apt install dcmtk準備測試數據
數據文件wlist1.dump、查詢文件wlistqry1.dumpdump轉換成wl(本地執(zhí)行)
dcmp2dcm.exe wlist1.dump wlist1.wl --write-xfer-little dcmp2dcm.exe wlistqry1.dump wlistqry1.wl --write-xfer-little服務器目錄結構
/home/dicom --主文件夾 /home/dicom/wlistdb -- worklist數據文件夾,存放所有AE文件夾 /home/dicom/wlistdb/AE_WYJ -- 此處新建一個AE_WYJ文件夾,表示有一個名為AE_WYJ的AE,里面存放所有對應的wl文件 /home/dicom/wlistdb/AE_WYJ/lockfile -- 每個目錄下需要存放一個空的lockfile文件,touch lockfile命令創(chuàng)建 /home/dicom/wlistdb/AE_WYJ/wlist1.wl -- 將步驟3中的wlist1.wl放到此目錄啟動worklist服務
# 啟動端口為104的worklist服務 wlmscpfs -d -dfr -dfp wlistdb 104后臺運行可以用nohup啟動
nohup wlmscpfs -d -dfr -dfp wlistdb 104 &關閉直接殺掉進程
ps -ef|grep wlmscpfs kill -9 進程號pacs服務搭建
采用docker搭建的方式,確保環(huán)境下已經安裝了docker,debain環(huán)境安裝docker方式參見官網:Install Docker Engine on Debian | Docker Documentation
docker pacs的搭建方式主要參考了官網https://github.com/dcm4che/dcm4chee-arc-light/wiki/Run-minimum-set-of-archive-services-on-a-single-host,此處安裝最新版本的dcm4chee-arc-light 5.25.0,記錄關鍵步驟:
創(chuàng)建一個docker的默認橋接
docker network create dcm4chee_network開啟openldap 服務
docker run --network=dcm4chee_network --name ldap \-p 389:389 \-v /var/local/dcm4chee-arc/ldap:/var/lib/openldap/openldap-data \-v /var/local/dcm4chee-arc/slapd.d:/etc/openldap/slapd.d \-d dcm4che/slapd-dcm4chee:2.6.0-25.0開啟PostgreSQL服務
docker run --network=dcm4chee_network --name db \-p 5432:5432 \-e POSTGRES_DB=pacsdb \-e POSTGRES_USER=pacs \-e POSTGRES_PASSWORD=pacs \-v /etc/localtime:/etc/localtime:ro \-v /etc/timezone:/etc/timezone:ro \-v /var/local/dcm4chee-arc/db:/var/lib/postgresql/data \-d dcm4che/postgres-dcm4chee:14.1-25用已部署的 dcm4che Archive 5 應用程序啟動 Wildfly
docker run --network=dcm4chee_network --name arc \-p 8080:8080 \-p 8443:8443 \-p 9990:9990 \-p 9993:9993 \-p 11112:11112 \-p 2762:2762 \-p 2575:2575 \-p 12575:12575 \-e POSTGRES_DB=pacsdb \-e POSTGRES_USER=pacs \-e POSTGRES_PASSWORD=pacs \-e WILDFLY_WAIT_FOR="ldap:389 db:5432" \-v /etc/localtime:/etc/localtime:ro \-v /etc/timezone:/etc/timezone:ro \-v /var/local/dcm4chee-arc/wildfly:/opt/wildfly/standalone \-d dcm4che/dcm4chee-arc-psql:5.25.0相關命令執(zhí)行完畢后,直接打開網頁:
http://10.150.2.78:8080/dcm4chee-arc/ui2/
如果可以成功打開,則說明已經安裝成功了。
?使用本地storescu.exe進行測試
storescu.exe -aec DCM4CHEE 10.150.1.98 11112 -v 1.dcm?可以確定已經上傳成功,上傳成功的dcm可以在series下點擊submit查看
?
? ? ? ? ? ?????????
?
?
總結
以上是生活随笔為你收集整理的dicom worklist、pacs环境搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 扫描java类文件_java递归与非递归
- 下一篇: opentaps mysql_opent