dcm4che/dcm4che: DICOM Implementation in JAVA (github.com)
Open Source Clinical Image and Object Management (dcm4che.org)
dcm4che 的历史和发展
cm4che是一个开源的DICOM(数字成像和通信医疗)实现工具包,提供了一个完整的解决方案,用于管理和处理DICOM数据。dcm4che项目的历史可以追溯到2000年,最初是由一个名为dcm4chee的项目开始的,该项目旨在创建一个基于J2EE(Java 2 Platform, Enterprise Edition)的DICOM服务器。后来,dcm4che项目发展为一个包含多个工具和库的综合性DICOM解决方案,用于支持DICOM文件的读取、解析、存储、传输、检索和管理等方面的需求。目前,dcm4che已成为DICOM领域的一个主要开源工具包之一,广泛应用于医疗影像领域。
dcm4che的发展历程主要可以分为以下几个阶段:
- dcm4chee项目:2000年,dcm4chee项目开始,旨在创建一个基于J2EE的DICOM服务器,用于支持DICOM文件的存储、检索和管理等方面的需求。这个项目后来演变成了dcm4che项目。
- dcm4che1.x系列:2002年,dcm4che1.x版本发布,它是一个Java类库,提供了基本的DICOM文件读取、解析和生成功能。该版本支持基于TCP/IP的DICOM通信,并且可以将DICOM文件存储到文件系统或数据库中。
- dcm4che2.x系列:2005年,dcm4che2.x版本发布,它是一个重构的版本,基于Spring框架和Hibernate ORM库。该版本支持更多的DICOM服务和功能,包括DICOM服务器、DICOM工具、DICOM路由器和DICOM浏览器等。
- dcm4che3.x系列:2011年,dcm4che3.x版本发布,它是一个新的重构版本,基于OSGi框架和Apache Camel集成框架。该版本提供了更多的DICOM功能和服务,并且可以轻松地部署到不同的运行环境中。
目前,dcm4che仍在不断发展和更新,最新的版本是dcm4che-5,它是一个基于Java的DICOM工具包,提供了完整的DICOM服务和功能。此外,dcm4che还与其他开源DICOM项目合作,如dcmjs、Orthanc等,共同推动DICOM的发展和进步。
dcm4che的功能和应用场景
dcm4che是一个功能丰富的DICOM(数字成像和通信医疗)工具包,提供了多种DICOM服务和功能,可以用于处理、管理、存储、传输和检索DICOM数据。下面是dcm4che主要的功能和应用场景:
- DICOM文件读取和解析:dcm4che可以读取和解析DICOM文件,支持常见的DICOM对象和属性,如图像、序列、文本和数字等。
- DICOM文件生成和保存:dcm4che可以生成和保存DICOM文件,支持常见的DICOM对象和属性,如图像、序列、文本和数字等。
- DICOM服务器:dcm4che可以作为DICOM服务器,支持基于TCP/IP的DICOM通信协议,包括C-STORE、C-FIND、C-GET和C-MOVE等服务。
- DICOM路由器:dcm4che可以作为DICOM路由器,支持DICOM数据的转发和路由,可以将DICOM数据从一个地方传输到另一个地方。
- DICOM检索:dcm4che可以进行DICOM数据的检索,包括基于属性的检索和基于内容的检索。
- DICOM存储:dcm4che可以将DICOM数据存储到文件系统或数据库中,支持多种存储方式和格式。
- DICOM工具:dcm4che提供了多种DICOM工具,包括DICOM图像查看器、DICOM编辑器、DICOM转换器和DICOM格式校验器等。
- 应用场景:dcm4che可以广泛应用于医疗影像领域,如医院、诊所、影像中心、医疗设备制造商等。它可以用于处理、管理、存储、传输和检索DICOM数据,帮助医疗专业人士进行影像诊断、治疗和管理等工作。
dcm4che 的架构和组件
dcm4che是一个开源的DICOM(数字成像和通信医疗)工具包,采用Java语言编写,具有高度的可扩展性和可定制性。其架构主要由三个层次组成:应用层、服务层和基础设施层。下面是dcm4che的架构和组件:
- 应用层:应用层是dcm4che的最上层,提供了基于DICOM的应用和工具,如DICOM图像查看器、DICOM编辑器、DICOM转换器等。DCM4CHEE-ARC、DCM4CHEE-WEB和DCM4CHEE-WEBSERVICES等,这些应用程序基于dcm4che的API和工具构建,可以用于DICOM数据的存储、检索、传输、显示等。
- 服务层:服务层是dcm4che的中间层,提供了DICOM服务和处理功能。服务层主要包括DICOM服务、数据存储、路由和检索等模块。服务层是面向应用的服务接口,提供了各种服务和功能的API接口。DICOM存储模块支持多种不同的存储方式,包括基于文件系统的存储、基于数据库的存储,还支持DICOM的长期归档和数据迁移。DICOM检索模块提供了灵活的查询功能,支持基于DICOM标准的查询和基于Lucene的全文检索。DICOM路由模块提供了路由规则的配置,可以自动地将DICOM数据发送到目标系统。
- 基础设施层:基础设施层是dcm4che的底层,提供了网络和数据处理的基础设施。基础设施层主要包括TCP/IP通信、HTTP通信、XML处理、数据编码和解码等模块。基础设施层是面向服务的底层接口,提供了网络通信和数据处理的底层支持。
dcm4che的组件包括:
- dcm4che-core:dcm4che的核心模块,包括DICOM数据模型、编码和解码器、工具类等。
- dcm4che-net:dcm4che的网络模块,提供了DICOM通信的基础设施,包括TCP/IP通信、HTTP通信、TLS/SSL加密等。
- dcm4che-tool: dcm4che的工具模块,提供了各种DICOM工具,如图像查看器、编辑器、转换器等。
- dcm4che-archive:dcm4che的存储模块,提供了DICOM数据的存储和检索功能,包括数据库存储和文件系统存储等。
- dcm4che-webservices: dcm4che的Web服务模块,提供了基于SOAP和REST的DICOM服务,可以与其他Web应用集成。
- dcm4chee-arc:dcm4che的企业级存档和检索系统,是dcm4che的一个扩展,提供了更强大的DICOM存储和检索功能。
- dcm4che-iod: dcm4che-iod是dcm4che的一个独立模块,用于处理DICOM信息对象定义(IOD)。IOD是DICOM中定义的一种结构化数据,描述了DICOM中各种信息对象的属性和关系。dcm4che-iod提供了一组工具类和API,用于构建、解析和处理DICOM IOD。