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 DCM4CHEE

dcmdump.exe

转储 DICOM 文件和数据集,可以查看.dcm等文件🔗

相关命令:

dcmdump.exe 1.dcm

worklist服务搭建

debain环境下,dcmtk的使用

  1. 安装dcmtk

    apt install dcmtk
  2. 准备测试数据

    数据文件wlist1.dump、查询文件wlistqry1.dump
  3. dump转换成wl(本地执行)

    dcmp2dcm.exe wlist1.dump wlist1.wl --write-xfer-little
    dcmp2dcm.exe wlistqry1.dump wlistqry1.wl --write-xfer-little
  4. 服务器目录结构

    /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命令创建
    /home/dicom/wlistdb/AE_WYJ/wlist1.wl -- 将步骤3中的wlist1.wl放到此目录
  5. 启动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搭建的方式,确保环境下已经安装了docker,debain环境安装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,记录关键步骤:

  1. 创建一个docker的默认桥接

    docker network create dcm4chee_network
  2. 开启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
  3. 开启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
  4. 用已部署的 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

    相关命令执行完毕后,直接打开网页:

    http://10.150.2.78:8080/dcm4chee-arc/ui2/

    如果可以成功打开,则说明已经安装成功了。

  5.  使用本地storescu.exe进行测试

    storescu.exe -aec DCM4CHEE 10.150.1.98 11112 -v 1.dcm

     可以确定已经上传成功,上传成功的dcm可以在series下点击submit查看

 

                   

 

 

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值