DICOM:开源DICOM服务框架DCM4CHE 安装

背景:

dcm4chee是dcm4che开源项目中的一部分,是一款符合IHE规定的影像管理/归档应用。dcm4chee遵循DICOM、HL7标准,实现了图像存储、图像提取、及健康领域的工作流程管理。dcm4chee作为一款应用程序需要预打包,然后部署到JBoss应用服务器中。借助于JBoss应用服务器的服务特性,诸如JMS、EJB、Servlet引擎、远程控制、安全性、事务管理、持久性、消息传递、资源库、并发控制、命名和目录服务以及部署等等,dcm4chee提供了多种鲁棒性强且可扩展服务,主要包括:

此外,dcm4che项目的另一部分是一个实现了DICOM协议的工具包,以dcm4che-1.x或dcm4che-2.x命名,在SourceForge官方下载文件中已经出现了dcm4che3.x的版本。dcm4chee中需要借助于dcm4che-X.X来操作医学图像,使用DICOM服务,目前本教程中使用的dcm4chee-2.18.0版本依赖于dcm4che1.4版本。

DCM4CHEE使用(Install dcm4chee):

预备知识中所描述,对于只希望使用开源项目服务的用户,可直接下载官方二进制安装包,参照官方安装说明操作即可,下文简单介绍一下安装说明目的是为了方便大家对dcm4chee所提供的服务有一个直观的认识,也为后续自己本机构建、部署和调试dcm4chee预热一下。

1)MySQL:版本要求在5.5+之后,下载链接http://dev.mysql.com/downloads/windows/installer/

2)JBoss应用服务软件,版本为JBoss 4.2.3 GA:如果使用JDK6,需要下载jboss-4.2.3.GA-jdk6。下载链接为:http://jbossas.jboss.org/downloads

http://sourceforge.net/projects/jboss/files/JBoss/JBoss-4.2.3.GA/

安装准备:

dcm4chee基于Java语言开发,另外JBoss AS应用服务器也需要利用Java可执行环境(JRE)或开发工具包(JDK)编译JSP,因此在开始安装之前要先确保本地电脑已安装Java开发环境,目前dcm4chee支持JDK5或JDK6两个版本,这里我选择安装JDK6。安装完成后需要配置JAVA_HOME环境变量,使得Java被本地应用可访问。以Windows中的JAVA_HOME环境变量设置为例,

2.1)右键“计算机”,选择“属性”,弹出如下图所示:

2.2)单击上图“高级系统设置”,弹出“系统属性”,如下图:

2.3)单击上图“环境变量”,弹出设置窗口。

2.4)在“系统变量”区域中,单击“新建”按钮。注:系统变量可看做是全局变量。

例如,我本机Java SDK6的安装地址是:c:\Program Files\Java\jdk1.6.0_45。输入完毕后单击“确定”,JAVA_HOME环境变量设置完成。

PS:关于其他系统如何设置JAVA_HOME,请参阅官方说明

安装步骤:

第一步,下载dcm4chee二进制安装包,本篇说明文档中选择是的2.18.0版本中的mysql数据库配置的安装包,即dcm4chee-2.18.0-mysql.zip。

第二步,下载JBoss 4.2.3 GA,解压到本地目录。例如我设置本地目录为C:\DCM4CHEE\ThirdLibrary\jboss-4.2.3.GA,之所以建立了DCM4CHEE\ThirdLibrary两级目录的目的是为了方便归档各个安装包,你可自行设置自己本机目录,最简单的就是C:\jboss-4.2.3.GA。

【备注】:JBoss AS(JBoss应用服务器)的优势在于无论使用安装程序,还是通过二进制版本安装,JBoss AS都不会在任何用户不知道的地方出现一些隐藏文件或设置——例如Windows系统中的注册表,Windows应用安装时大多需要操作注册表。JBoss AS和他的所有配置文件全部都放在解压后的单独的目录结构里。如果想卸载JBoss AS,只要删除顶层目录即可。如果需要把安装程序移动到其他地方,只需要复制整个目录过去。

第三步,dcm4chee是依托于JBoss AS应用服务器的一款应用,因此需要将JBoss中的运行时文件拷贝到dcm4chee指定目录下,为了确保拷贝顺利在dcm4chee安装包的bin目录下有一个自动脚本,Windows下运行install_jboss.bat,Unix下运行install_jboss.sh。我本机是Win7 64位旗舰版,Win+R开启cmd命令行后,输入如下指令:

cd c:\dcm4chee-2.18.0-mysql\bin

install_jboss.bat %JBOSS_HOME%

(%JBOSS_HOME%,在命令提示行的含义就是读取类似刚才设置的系统环境变量,当然这里我们也可直接输入路径C:\DCM4CHEE\ThirdLibrary\jboss-4.2.3.GA)

运行完成后,会弹出众多文件拷贝的提示信息,如下图所示:

该步骤就相当于我们手动拷贝JBoss运行时文件到dcm4chee对应目录下,至于具体的拷贝对应路径有兴趣的可以查阅install_jboss.bat批处理文档。

【注】:有些情况下,运行install_jboss.bat会出现“无法确定目标路径”的错误提示,该部分原因是由于dcm4chee安装包目录下相关文件夹缺失或被移动所致(这种情况在后续自己构建dcm4chee中会经常发生),解决方案就是修改install_jboss.bat批处理文档,找到关于路径设置的相关行添加目录查找判定,如果找不到目标文件夹,手动创建,以设置JBOSS_CONF和DCM4CHEE_CONF为例进行讲解。install_jboss.bat原本的代码是:

set JBOSS_CONF=%JBOSS_SERV%\conf

set DCM4CHEE_CONF=%DCM4CHEE_SERV%\conf

修改后如下:(由于JBoss是下载的完整安装包,所以关于JBoss的拷贝源路径不需要判断)

set JBOSS_CONF=%JBOSS_SERV%\conf

if exist “%DCM4CHEE_SERV%\conf” goto skip_md

md “%DCM4CHEE_SERV%\conf”

:skip_md

set DCM4CHEE_CONF=%DCM4CHEE_SERV%\conf

如是修改可以顺利完成拷贝工作。

第四步,创建PACS数据库(如果配置了审计系统Audit Record Repository,即ARR,需要同时创建arr数据库)。

本说明中的第一步下载了dcm4chee-2.18.0-mysql.zip安装包,是与mysql版本相匹配的,因此需要利用提前安装的MySQL软件进行创建数据库操作。具体的操作DCM4CHEE官方文档中说的很详细,这里在本机演示一下:

(1),进入dcm4chee-2.18.0-mysql\sql目录下

(2),开启mysql命令行工具,输入指令:mysql -uroot -pdcm4chee ,运行结果如下:

【备注】:root为MySQLWorkBench默认用户,dcm4chee是我设定的root用户密码。此外为了使得mysql工具行命令在任何目录下可以使用,同样需要安装上文提到的添加环境变量的方式将mysql.exe的路径添加到系统变量Path中,我本地MySQLWorkBench默认安装路径是:C:\Program Files\MySQL\MySQL Server 5.6\bin\,将该内容添加到系统环境变量Path后即可。

(3),开始创建PACS数据库,在命令提示行中(经过第二步后此时命令提示行提示为:mysql>_)输入:create database pacsdb; 运行结果如下,

(4),创建dcm4chee所需的数据表,即pacs数据库中的各种table。不用担心dcm4chee-2.18.0-mysql.zip压缩包中已经给我们写好了创建各种表的SQL语句,我本机的路径为C:\dcm4chee-2.18.0-mysql\sql,其中create.mysql就是创建各种表的SQL指令集合,用Notepad++等文本编辑器打开即可看到SQL语句。

要想启动create.mysql语句,需要在命令提示行中输入:

mysql -upacs -ppacs pacsdb < create.mysql,运行结果如下,

由上图可以,我们已顺利完成pacs数据库创建工作。

【备注】:官方说明在调用create.mysql创建table之间,调用了grant来设置数据库权限,其整个运行如下图所示,

此外,除了查看create.mysql文件了解pacsdb整个数据库关系之外,在官网中也给出了详细的数据库设计关系表,具体可参考dcm4chee database schema

第五步,测试安装的dcm4chee。

进入c:\dcm4chee-2.18.0-mysql\bin\目录下,输入run.bat(Windows平台输入run.bat、Unix平台输入run.sh)即可启动dcm4chee应用。由之前的介绍可知,dcm4chee是托管在JBoss应用服务器的医学图像归档和管理应用,因此run.bat启动脚本就是从jboss-4.2.3.GA中拷贝过来的JBoss应用服务启动脚本,输入后大致的启动状况如下:

最终出现Started in XXX.XXX.XXXs说明JBoss应用服务器顺利启动,且由于我们已经将dcm4chee部署到了JBoss应用服务器中,因此不出意外dcm4chee应用已经被开启。

【备注】:在启动JBoss应用服务器时,可能会出现部分模块安装部署失败的情况,这种大多是应用部署错误所致,例如我上图中红色标记的地方就有一处错误提示。有兴趣的话可以进入到C:\dcm4chee-2.18.0-mysql\server\default\deploy目录下排查一下原因。

此时在浏览器中输入http://localhost:8080/dcm4chee-web3/,会出现登陆界面,默认用户名admin,密码admin,如下图所示:

单击“Sign in”登陆后,即可打开dcm4chee界面,如下所示:

至此,对于DCM4CHEE的使用(Install dcm4chee)的介绍已经完成了,想必通过上述介绍已经大致了解了dcm4chee这一应用的功能和依赖环境,总结一句话就是:dcm4chee是一个用Java编写的应用于医学图像归档和管理领域的JBoss托管应用。上述整个安装过程可以看做是安装部署应用到JBoss AS应用服务器。了解到此程度,为我们后续自己动手构建、部署、调试DCM4CHEE打下了坚实的基础。梳理一下思绪,准备再接再厉!!!

未完待续……

作者:[email protected]

时间:2015-03-22

时间: 2024-12-29 11:30:04

DICOM:开源DICOM服务框架DCM4CHE 安装的相关文章

DICOM:开源DICOM服务框架DCM4CHE 构建

背景: 前一篇博文DICOM:开源DICOM服务框架DCM4CHE 安装中介绍了一款开源DICOM服务框架DCM4CHE,对于开源项目学习的流程是先下载二进制可执行包安装,然后使用测试.在熟悉了大致的功能服务后,从官网下载源代码进行本地构建(Build),进而从根本上了解开源项目的底层框架设计,为后续修复.扩展做准备.本博文是继DCM4CHE安装后的续篇,讲解如何在本地构建DCM4CHE开源项目,文中尽量做到全面,但是由于刚开始接触J2EE领域,且多半都是自学,因此博文中还留有部分未解问题,如有

DICOM:开源DICOM服务框架DCM4CHE构建的准备

背景: 最近抽空想了解一下DCM4CHEE开源DICOM框架,怎奈配置了许久也没有成功(Σ( ° △ °|||)︴).可能多半原因是因为首次接触Java开发环境,毕竟跟C系列(C/C++/C#)不同,但这次失败经历,让我愈发感受到自己对大型项目的快速熟悉和把握能力的欠缺,其实这也正是我学习各种开源项目的出发点.加上之前曾有CSDN博友询问关于ClearCanvas配置问题,所以决定趁着周末详细整理一下配置.学习.使用,甚至扩展开源项目的流程,算是对此次配置DCM4CHEE经验的一次总结和延伸.

Idea搭建Apache Dubbo开源分布式服务框架

[一.定义]1.读音:Dubbo [?d?b??]音似double2.Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成.[二.核心]3.Dubbo提供了三大核心能力:A)面向接口的远程方法调用:Remoting(网络通信框架,实现了 sync-over-async 和 request-response 消息机制.)B)智能容错和负载均衡:RPC(一个远程过程调用的抽象)C)以及服务自动注册和发现:Re

当当网开源Dubbox,扩展Dubbo服务框架支持REST风格远程调用

当当网近日开源了Dubbox项目,可为Dubbo服务框架提供多项扩展功能,包括REST风格远程调用.Kryo/FST序列化等等. 当当网架构部和技术委员会架构师沈理向InfoQ中文站介绍了Dubbox项目,开发背景和主要特点描述如下: Dubbo是一个被国内很多互联网公司广泛使用的开源分布式服务框架,即使从国际视野来看应该也是一个非常全面的SOA基础框架.作为一个重要的技术研究课题,在当当网我们根据自身的需求,为Dubbo实现了一些新的功能,并将其命名为Dubbox(即Dubbo eXtensi

分布式服务框架Dubbo使用小结

介绍: Dubbo是一个被国内很多互联网公司广泛使用的开源分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA 服务治理方案,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点. 其核心部分包含: 远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及"请求-响应"模式的信息交换方式. 集群容错: 提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,

一篇文章带你深入了解Dubbo分布式服务框架

一.产生的背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进.下面我们用一个图来具体说明架构和开发框架的演进过程.单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本.此时,用于简化增删改查工作量的数据访问框架(ORM)是关键. 垂直应用架构当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率.此时,用于加速前端

Dubbo分布式服务框架

Dubbo (开源分布式服务框架) 编辑 本词条缺少信息栏,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! Dubbo是 [1]  阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 [2]  Spring框架无缝集成. Dubbo是一款高性能.轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现. 目录 1 主要核心部件 2 工作原理 3 特性 主要核心部件

DICOM:DICOM Print服务中PresentationContext协商之 MetaSOPClass与SOPClass对比分析

背景: 最近项目中遇到的实际问题较多,且大多是较隐蔽的.不易被发现的错误.究其根源来看,还是对DICOM3.0协议中的细节掌握不够仔细,因而导致在实际编码过程中,常常想当然.前一篇中剖析了由于DicomClient中的AddRequest与Send函数调用逻辑错误导致的System.ObjectDisposedException异常,接下来要讲的是关于DICOM胶片打印的问题,由于在Association Negotiation中PresentationContext协商失误导致DICOM Pr

DICOM:DICOM三大开源库对比分析之“数据加载”

背景: 上一篇博文DICOM:DICOM万能编辑工具之Sante DICOM Editor介绍了DICOM万能编辑工具,在日常使用过程中发现,"只要Sante DICOM Editor打不开的数据,基本可以判定此DICOM文件格式错误(准确率达99.9999%^_^)".在感叹Sante DICOM Editor神器牛掰的同时,想了解一下其底层是如何实现的.通过日常使用以及阅读软件帮助手册推断其底层依赖库很可能是dcmtk,就如同本人使用dcmtk.fo-dicom.dcm4che3等