DCMTK 目录结构
经过编译后的DCMTK包含许多文件,在使用的时候我们需要将这些文件包含到对应的项目中,源码编译得到的文件如下:
如果你还没有成功编译,可以参考
dcmtk编译失败后的解决思路(附带编译后文件下载)_曦泽周的博客-CSDN博客
也可以直接使用visual studio2017编译完成的包
dcmtk-debug: 使用visual studio2017 对dcmtk-3.6.7进行编译后得到的类库文件,可以直接使用 (gitee.com)
本文主要介绍经过编译后的文件结构。
dcmtk包含六个文件夹,分别为bin, cmake, etc, include, lib, share,项目的网站参考
OFFIS DCMTK and DICOM Projects
1. bin
bin文件为DCMTK项目的输出文件,其中包含了经过生成得到的所有应用程序工具以及所依赖的动态链接库。
每个.exe文件都是一个工具,我们可以使用cmd命令行使用这些工具,命令行的指令可以在网站DCMTK: Main Page中找到,以下为几个常用的应用程序。
dcmodify: dcmodify 是一种工具,允许修改、插入和删除 DICOM 文件中的标签和项目。
dcm2json:实用程序将 DICOM 文件的内容(文件格式或原始数据集)转换为 JSON。
dcm2xml:实用程序将 DICOM 文件(文件格式或原始数据集)的内容转换为 XML。
img2dcm:工具用作从 JPEG 或 BMP 等标准图像格式到 DICOM 的转换工具。
dcmqrscp:一个简易的PACS,可以作为中央测试节点测试传输
echoscu\findscu\getscu\movescu\storescu:dicom传输协议对应的客户端
除了.exe文件,bin中还包含了dcmtk的环境,在使用C++搭建自己的项目实现上述程序功能的时候需要包含这些动态链接库。
2. cmake
用来使用cmake的功能文件。
3. etc
包含使用工具所需要使用的配置文件,需要在对应配置文件里修改IP、端口等信息才能实现dicom数据的传输与验证。
4. include
include文件夹中包含了dcmtk的所有头文件,通过将头文件添加至项目的include文件路径就可以实现对dcmtk数据结构的操作。
dcmtk 包含了若干个子包,对应有22个include文件夹,分别为:
- config: DCMTK编译配置模块
- ofstd:通用库,包括字符串类等。
- oflog:基于 log4cplus 的日志库
- dcmdata:用于读取、修改和写入 DICOM 数据结构的模块
- dcmimgle:用于处理 DICOM 图像(灰度)的模块
- dcmimage:用于处理DICOM图像(彩色)的模块
- dcmnet:DICOM 网络协议模块
- dcmqrdb:提供简单测试 PACS 的模块
- dcmsr:实现 DICOM 结构化报告 (SR) 的模块
- dcmwlm:实现 DICOM 工作列表服务器的模块
- dcmjpeg:实现 DICOM JPEG 编解码器的模块
- dcmjpls:实现 DICOM JPEG-LS 编解码器的模块
- dcmpstat:实现 DICOM 表示状态的模块
- dcmsign:实现 DICOM 签名等的模块。
- dcmtls:为 DICOM 实现安全网络的模块
- docs:包含一些关于 DCMTK 的一般文档的模块
- doxygen:使用 doxygen 生成 API 文档的模块
各个模块之间的依赖关系如下
5. lib
lib文件夹存放有所有动态连接库静态加载所需lib文件,每一个模块对应一个lib,需要在project的附加依赖项中添加对应的lib文件名。
6. share
share文件夹中存放有与dcmtk相关的介绍文档,但都是英文的,需要啃一下。