dcm4chee 是一款优秀的开源PACS软件,支持DICOM,HL7,采用JAVA语言编写,在jboss应用服务器上运行。本文给出了笔者安装和测试dcm4chee的一些心得体会,其官方网站为http://www.dcm4che.org/,该网站也提供开源的开发库。
Dcm4chee安装包下载地址:
http://sourceforge.net/projects/dcm4che/files/dcm4chee/2.14.5/dcm4chee-mysql-2.14.5.zip/download
下面我简单介绍下dcm4chee的安装步骤和测试方法:
环境和工具如下:
OS: winxp sp3
JRE: 1.6.0_07 http://www.java.com/en/download/manual.jsp
jboss-4.2.3.GA http://www.jboss.com/
jdicom 1.7.35 http://members.chello.at/petra.kirchdorfer/jdicom/
mysql v4.1+ http://dev.mysql.com/downloads/
安装步骤
1. 将dcm4chee-mysql-2.14.5.zip安装包解压到本地目录(注:目录名不建议包含空格)
2. 将jboss-4.2.3.GA.zip解压到其他目录
3. 命令行模式,进入dcm4chee-mysql-2.14.5/bin目录
输入install_jboss.bat [jboss安装目录]
4. 安装MySQL (启用TCP/IP socket选项)
5. 初始化数据库
(a)首先要启动MySQL服务(命令行方式启动或后台服务方式启动,具体操作参见MySQL帮助文档)
(b)命令行方式输入 (当前目录为dcm4chee-mysql-2.14.5的父目录)
> mysql -uroot
mysql> create database pacsdb;
mysql> grant all on pacsdb.* to 'pacs'@'localhost' identified by 'pacs';
mysql> /q
> mysql -upacs -ppacs pacsdb < dcm4chee-mysql-2.14.5/sql/create.mysql
6. 添加环境变量JAVA_HOME 为JDK安装目录
7. 启动jboss,双击dcm4chee-xxx-2.14.5/bin目录下的run.bat
8. 打开浏览器访问http://localhost:8080/dcm4chee-web/
输入帐号admin 密码admin 即可进入管理界面。
9.访问http://localhost:8080/jmx-console/ 使用帐号'admin',密码 'admin'.
点击"dcm4chee.archive"下的链接”group=ONLINE_STORAGE,service=FileSystemMgt"
点击addRWFileSystem()的函数下的Invoke按钮,dirPath参数设上要存放Store SCP接受文件后存放的目录。 (如果不设置,则系统默认采用dcm4chee-xxx-2.14.5/server/default/archive作为存储目录)
10. [可选]改变AET
点击"dcm4chee.archive"下的链接"service=AE"
调用"updateAETitle()"
11. [可选] 设置存储压缩算法,默认是无压缩
service=StoreScp à CompressionRules
测试Store SCP功能
1. 运行jdicom->StorageSCU,设置参数如下
Host:localhost
Port:11112
CalledTitle:DCM4CHEE
(注:查看DCM4CHEE的参数可以通过登录管理界面http://localhost:8080/dcm4chee-web/,点击AE Management )
2.点击StorageSCU上的Connect按钮
正常出现以下提示:
jdicom: #1:DCM4CHEE << A-ASSOCIATE-RQ PDU
jdicom: #1:DCM4CHEE >> A-ASSOCIATE-AC PDU
3.点击Send,选择某一个DICOM文件
正常出现以下提示:
jdicom: #1:DCM4CHEE << C-STORE-RQ Secondary Capture Image Storage SOP Class
jdicom: #1:DCM4CHEE << Dataset
jdicom: #1:DCM4CHEE >> C-STORE-RSP Secondary Capture Image Storage SOP Class, status #0000H[Success]
(注:点击DCM4CHEE管理页面的FOLDER按钮,可看到病人列表出现了发送过来的DICOM文件,
测试Query/Retrieve功能
1. 运行jdicom->QueryRetrieveSCU,设置参数如下
Host:localhost
Port:11112
CalledTitle:DCM4CHEE
MoveDestination:ImageServer
2. 运行jdicom->ImageServerGUI,其默认参数为
Port:5104
CalledTitles:ImageServer
点击ImageServerGUI的Start按钮,应出现以下提示:
Waiting for invocations from clients...
3. 访问管理页面http://localhost:8080/dcm4chee-web/,点击AE Management,点击右上角+NEW AET
添加ImageServerGUI的AE参数 (见步骤2,Retrieve时DCM4CHEE必须知道目的AE对应的IP和端口)。
4. 点击QueryRetriveSCU->Open按钮,正常提示如下:
jdicom: #1:DCM4CHEE << A-ASSOCIATE-RQ PDU
jdicom: #1:DCM4CHEE >> A-ASSOCIATE-AC PDU
5. 点击Query,此时Result窗口会出现返回的查询结果,正常提示如下:
jdicom: #1:DCM4CHEE >> C-FIND-RSP Study Root Query/Retrieve Information Model - FIND SOP Class, status #ff00H[StatusEntry.PENDING]
jdicom: #1:DCM4CHEE >> Dataset
jdicom: #1:DCM4CHEE >> C-FIND-RSP Study Root Query/Retrieve Information Model - FIND SOP Class, status #0000H[Success]
6. 选择查询的Study(即文件夹图标),点击Retrieve,正常提示如下:
jdicom: #1:DCM4CHEE << C-MOVE-RQ Study Root Query/Retrieve Information Model - MOVE SOP Class
jdicom: #1:DCM4CHEE << Dataset
jdicom: #1:DCM4CHEE >> C-MOVE-RSP Study Root Query/Retrieve Information Model - MOVE SOP Class, status #ff00H[StatusEntry.PENDING]
jdicom: #1:DCM4CHEE >> C-MOVE-RSP Study Root Query/Retrieve Information Model - MOVE SOP Class, status #0000H[Success]
同时:ImageServerGUI和DCM4CHEE的窗口都应当会出现相应的提示。
整个过程可以这样理解:
a.QueryRetriveSCU向DCM4CHEE发出查询请求,DCM4CHEE返回查询的结果(病人列表)
b.QueryRetriveSCU选择指定的病人向DCM4CHEE发出获取请求,并告知目的AE即ImageServerGUI,DCM4CHEE将指定病人的图像存储到ImageServerGUI.
总结: Dcm4chee是一款优秀的开源PACS软件,通过它我们可以很方便的搭建学习PACS的环境,理解DICOM标准所定义的功能和服务。存储和Query/Retrieve是PACS软件最基本的服务,理解它们才能更加深入的理解其他方面的内容。
参考: http://www.dcm4che.org