当前位置: 首页 > news >正文

开源PACS(dcm4che-arc-light)部署教程,源码方式

在这里插入图片描述

目录

  • 文件清单
  • 下载地址
  • 安装概述
    • OpenLDAP、Apache Directory Studio
    • Wildfly
    • dcm4che
  • 安装部署
    • MySQL
    • 源码编译
      • dcm4chee
      • dcm4chee-arc-light
    • OpenLDAP安装
    • ApacheDirectoryStudio安装
    • 配置WildFly服务器
  • 部署完成

文件清单

在这里插入图片描述

下载地址

  • Apache directory studio - link
  • OpenLDAP - link
  • dcm4chee - link
  • JDK - link
  • MySQL - link
  • keycloak-oidc-wildfly-adapter-15.0.0.zi - link
  • widfly - link

安装概述

由于dcm4chee使用到的一些环境和配置在日常开发或者流行框架里都是很少见的所以我会大致讲解一下每个工具在这个环节中充当的作用,当然由于个人水平有限部分内容可能不能很好的或者正确的讲述,如果错误欢迎指正。
首先安装包中部分内容的讲解,

OpenLDAP、Apache Directory Studio

  • OpenLDAP 则是一个开源的LDAP服务器软件实现,它允许你运行自己的LDAP服务。
  • Apache Directory Studio 是一个基于 Eclipse 的 LDAP 目录管理工具。它提供了丰富的图形用户界面,使得管理和操作 LDAP 服务器变得更为简单直观。
    何为LDAP服务?轻量级目录访问协议,是一种开放的、跨平台的协议,用于访问和维护分布式目录信息服务。LDAP服务主要用于存储和检索关于用户、设备、权限以及其他资源的信息,并支持快速查询这些信息的能力。它被广泛应用于需要集中管理用户身份验证和授权的应用程序和服务中。非常适合于那些需要快速查找的静态数据集,在dcm4chee中保存了写配置信息,类似于Nacos的配置中心,不过是静态的 ~ ~

Wildfly

WildFly 是一个开源的、基于 Java EE(现已更名为 Jakarta EE)的应用服务器,由 Red Hat 开发和维护。它以前被称为 JBoss AS 或者是 JBoss EAP(Enterprise Application Platform)。WildFly 提供了一个运行企业级Java应用程序的强大平台,并支持最新的Java EE标准以及一系列丰富的功能。
看定义像不像Tomcat?我们放一下Tomcat的:
Tomcat 是一个专注于 Servlet 和 JSP 规范的轻量级开源Web服务器和Servlet容器。它主要用于部署基于Servlet和JSP技术的Java Web应用程序。
当然两个的侧重不一样,WildFly 提供了一个完整的 Jakarta EE 实现,而 Tomcat 更加专注于Servlet和JSP的支持,在此处不过多深入,暂时对比着看看。

dcm4che

重头戏!!!
dcm4che 是一个开源的Java库和一系列应用程序,主要用于医疗影像信息学领域,特别是处理DICOM(医学数字成像和通信)标准的数据。它为开发人员提供了工具和库来构建、存储、查询和检索医学影像及相关信息的应用程序。

题外话:基于C++的DCMTK、基于Java的dcm4che以及基于python的pydicom,都是非常优秀的解释DICOM标准的第三方库,通过在工程中引入它们可以避免软件开发人员去进行底层的解析工作,可为项目开发提高效率。

包的获取主要分两种方式源码方式和编译好的包,如果是简单的使用可以考虑编译好的包,自己想看细节的话肯定是要源码的

源码地址:https://github.com/dcm4che
编译包的地址:https://sourceforge.net/projects/dcm4che/

总结一下,dcm4chee就是在搭建好WildFly和OpenLDAP后将war包放到WilFly中运行起来。

安装部署

JDK环境

在这里插入图片描述
在这里插入图片描述

MySQL

安装步骤,略
创建表结构
在这里插入图片描述
在这里插入图片描述

源码编译

dcm4chee

从github https://github.com/dcm4che/dcm4che 下载然后install到本地,
在这里插入图片描述

mvn -T 8 install

在这里插入图片描述

建议科学上网,完全下载下来还是挺费时间的,如果中间存在失败的进入文件夹重新安装
在这里插入图片描述

dcm4chee-arc-light

下载dcm4chee-arc-light代码, https://github.com/dcm4che/dcm4chee-arc-light

使用Idea打开
在这里插入图片描述

同样使用maven install成功但是此时默认生成的是plsql的
进入最外层pom中修改
在这里插入图片描述

再次install
在这里插入图片描述

到此代码编译的工作就完成了,稍后我们部署好WildFly后再启动程序
看一下包中的内容,大致这样的结构
在这里插入图片描述

后续都会用到

OpenLDAP安装

双击
在这里插入图片描述

其实安装的过程就是一直下一步就完了,此处借鉴了下网上的截图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ApacheDirectoryStudio安装

当然OpenLDAP的安装还可以通过Docker的方式,例如我mac本上就是通过此方式安装的,参考一下这个
https://blog.csdn.net/weixin_42176112/article/details/123390391
https://blog.csdn.net/weixin_42176112/article/details/123308975?spm=1001.2014.3001.5501
OpenLDAP配置
‪复制”dcm4chee-arc-5.30.0-mysql\ldap\schema“下文件至”OpenLDAP\schema“:
在这里插入图片描述

修改配置 编辑“OpenLDAP\slapd.conf”:
在这里插入图片描述

完整的

MDB Backend configuration file
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
ucdata-path    ./ucdata
include        ./schema/core.schema
include        ./schema/cosine.schema
include        ./schema/nis.schema
include        ./schema/inetorgperson.schema
include        ./schema/openldap.schema
include        ./schema/dyngroup.schema
include         ./schema/dicom.schema
include         ./schema/dcm4che.schema
include         ./schema/dcm4chee-archive.schema
include         ./schema/dcm4chee-archive-ui.schema



pidfile        ./run/slapd.pid
argsfile    ./run/slapd.args


# Enable TLS if port is defined for ldaps


TLSVerifyClient never
TLSCipherSuite ECDHE-RSA-AES256-SHA384:AES256-SHA256:!RC4:HIGH:!MD5:!aNULL:!EDH:!EXP:!SSLV2:!eNULL
TLSProtocolMin 3.3
TLSCertificateFile ./secure/certs/maxcrc.cert.pem
TLSCertificateKeyFile ./secure/certs/maxcrc.key.pem
TLSCACertificateFile ./secure/certs/maxcrc.cert.pem




#######################################################################
# mdb database definitions
#######################################################################


database    mdb
suffix          "dc=dcm4che,dc=org"
rootdn          "cn=admin,dc=dcm4che,dc=org"
rootpw          secret
# Cleartext passwords, especially for the rootdn, should
# be avoid.  See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw    {SSHA}7iVNbPoEZ/wAT+9Lfjs+fe38CZOSrLJo

# The database directory MUST exist prior to running slapd AND
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory ./data
searchstack 20
# Indices to maintain
index mail pres,eq
index objectclass pres
index default eq,sub
index sn eq,sub,subinitial
index telephonenumber
index cn

重启一下
在这里插入图片描述

配置一下
打开 Apache Directory Studio
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配置WildFly服务器

解压,进入 standalone\configuration复制standalone.xml和dcm4chee-arc.xml
在这里插入图片描述

安装dcm4chee的核心模块,复制keycloak-oidc-wildfly-adapter-15.0.0.zip到\dcm4chee-arc-5.33.1-mysql\jboss-modules文件夹
一起解压
在这里插入图片描述

复制到wildfly-34.0.1.Final的文件夹
在这里插入图片描述

此时你有两种修改dcm4chee-arc.xml的选择,第一种,打开dcm4chee-arc.xml,借助gpt或者其他ai工具逐行理解修改
在这里插入图片描述

方式2
通过 wildfly 打开dcm4chee-arc.xml 修改里面的127.0.0.1为0.0.0.0
在这里插入图片描述

进入D:\wildfly-34.0.1.Final\bin中执行

standalone.bat -c dcm4chee-arc.xml

打开D:\dcm4chee\dcm4chee-arc-5.33.1-mysql\cli,调整你的数据库信息
在这里插入图片描述

然后在bin下面再打开一个命令行(Linux系统的自行修改)

jboss-cli.bat -c --file="D:\dcm4chee\dcm4chee-arc-5.33.1-mysql\cli\add-data-source-mysql.cli"
jboss-cli.bat -c --file="D:\dcm4chee\dcm4chee-arc-5.33.1-mysql\cli\adjust-managed-executor.cli"
jboss-cli.bat -c
/system-property=dcm4chee-arc.DeviceName:add(value=dcm4chee-arc)
/subsystem=undertow/server=default-server/http-listener=default:write-attribute(name=max-post-size,value=10000000000)
/subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=max-post-size,value=10000000000) 
:reload

运行代码
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

D:\wildfly-34.0.1.Final\bin\standalone.bat -c dcm4chee-arc.xml

在这里插入图片描述
在这里插入图片描述

成功,如果你恰好有OHIF环境,找到 local_dcm4chee.js修改IP地址和端口
在这里插入图片描述

yarn run dev:dcm4chee

在这里插入图片描述
在这里插入图片描述

OK
在这里插入图片描述

部署完成

完成上述步骤,我们通过源码部署的方式成功搭建了dcm4che环境。这种方式的部署,不仅仅是一个技术上的实践,更为我们深入探索dcm4che的精髓打开了大门。它为我们提供了一个独特的视角来观察和理解这一强大工具集的工作原理,同时极大地促进了我们对DICOM标准的学习与应用。通过这样的过程,我们可以更深刻地认识到dcm4che在医疗影像管理中的重要性及其复杂性,为未来的开发和研究奠定了坚实的基础。

相关文章:

  • Java 设计模式之享元模式(Flyweight Pattern)
  • error:0308010C:digital envelope routines::unsupported
  • 推理大模型的后训练增强技术-Reasoning模型也进化到2.0了,这次居然学会用工具了
  • 基于Springboot+Typst的PDF生成方案,适用于报告打印/标签打印/二维码打印等
  • I2C 总线协议
  • 1.6 极限存在准则
  • python-数据结构汇总,树图、代码讲解(字符串、数组、字典、集合、元组)
  • JavaScript运算符与流程控制详解
  • 【每日学点HarmonyOS Next知识】上下拉列表、停止无限循环动画、页面列表跟随列表滑动、otf字体、日期选择
  • C语言修饰符汇总详解
  • 4.数据结构-树和二叉树
  • VLLM专题(二十六)—使用 Docker
  • 使用HTML+JavaScript生成一个贪吃蛇游戏-demo
  • 案例5_1:单位数码管显示0
  • ERC-6909 最小多代币标准
  • 2000-2023年各地级市二氧化碳排放量数据/地级市CO2排放量
  • 高数1.4 无穷小与无穷大
  • React-state响应式内部数据(类组件Hook两种方式整理)
  • Infura 简介
  • 英文LaTeX中左右引号怎么打
  • 海运港口股掀涨停潮!回应关税下调利好,有货代称美线舱位爆了
  • 夜读|尊重生命的棱角
  • 梅花奖在上海丨陈丽俐“婺剧折戏专场”:文戏武做,武戏文唱
  • 上海团队在医学顶刊连发两文,率先提出“证据污染”循证概念
  • 成都警方通报:8岁男孩落水父母下水施救,父亲遇难
  • 2025年上海科技节5月17日启动,56家重点实验室和大科学设施将向公众开放