DCMTK 目录结构

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相关的介绍文档,但都是英文的,需要啃一下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/198242.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【生物医学信号处理及其MATLAB应用】Chapter 1 生物医学信号概述

Chapter 1 生物医学信号概述 第一章 生物医学信号概述一、信号二、生物医学信号三、生物医学信号处理的内容三、处理生物医学信号的目的 第一章 生物医学信号概述 一、信号 ​ 信号:携带信息的物理量 ​ 来自于真实世界的信号各不相同,但大致可分为四…

【Linux】编译器-gcc/g++与调试器-gdb的使用

👀樊梓慕:个人主页 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》 🌝每一个不曾起舞的日子,都是对生命的辜负 目录 前言 1.gcc/g语法 2.gcc的使用及…

【教程】苹果推送证书的创建和使用流程详解

​ 摘要 本篇博客主要介绍了苹果推送证书的使用流程。首先,在苹果开发者中心创建推送证书,然后在应用程序中使用该证书进行消息推送。文章详细说明了创建推送证书的步骤,并提供了在应用程序中注册推送服务、发送推送消息以及处理推送消息的相…

Databend 开源周报第 122 期

Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。 支持链式函数调…

PWN学习之LLVM入门

一、基本流程 ①找到runOnFunction函数时如何重写的,一般来说runOnFunction都会在函数表最下面,找PASS注册的名称,一般会在README文件中给出,若是没有给出,可通过对__cxa_atexit函数"交叉引用"来定位: ②通…

GEE:Sobel算子卷积和Roberts算子卷积对比

作者:CSDN @ _养乐多_ 本文介绍了Sobel算子卷积和Roberts算子卷积操作的代码,并进行了图像对比,可以观察到两个算子的细微差异。 文章目录 一、Sobel算子和Roberts算子对比二、完整代码三、代码链接一、Sobel算子和Roberts算子对比 详细介绍介绍参考《遥感数字图像处理教程…

MySQL笔记-第03章_基本的SELECT语句

视频链接:【MySQL数据库入门到大牛,mysql安装到优化,百科全书级,全网天花板】 文章目录 第03章_基本的SELECT语句1. SQL概述1.1 SQL背景知识1.2 SQL语言排行榜1.3 SQL 分类 2. SQL语言的规则与规范2.1 基本规则2.2 SQL大小写规范 …

算法-02-排序-冒泡插入选择排序

一般最经典的、最常用的:冒泡排序、插入排序、选择排序、归并排序、快速排序、计数排序、基数排序、桶排序。那么我们如何分析一个"排序算法"呢? 1-分析排序算法要点 时间复杂度:具体是指最好情况、最坏情况、平均情况下的时间复杂…

算法-滑动窗口

一、滑动窗口思想 概念 在数组双指针里,我们介绍过 "对撞型" 和 "快慢型" 两种方式,而滑动窗口思想就是快慢型的特例。 实际使用 计算机网络中有滑动窗口协议(Sliding Window Protocol),该协议…

10、pytest通过assert进行断言

官方实例 # content of test_assert1.pydef f():return 3def test_function():assert f() 4def test_assert_desc():a f()# assert a % 2 0assert a % 2 0, "value was odd, should be even"解读与实操 pytest允许你使用标准python断言来验证测试中的期望和值&…

NodeJS(二):npm包管理工具、yarn、npx、pnpm工具等

目录 (一)npm包管理工具 1.了解npm 2.npm的配置文件 常见的配置属性 scripts属性*** 依赖的版本管理 3.npm安装包的细节 4.package-lock文件 5.npm install原理** 6.npm的其他命令 (二) 其他包管理工具 1.yarn工具 基本指令 2.cnpm工具 3.npx工具 (1)执行本地…

SAP中的新旧事务码

SAP中的新旧事务码 SAP随着新版本的发布,我们知道sap已经更新了很多的程序和TCODE。sap提供了很多新的TCODE来替换旧的TCODE,新TCODE有很多的新特性和新功能。在这个这种情况下,很多旧TCODE就会被废弃。我们如何查找这个替换呢? …

state_dict使用详解

在PyTorch中,state_dict是一个非常重要的概念,它是一个包含模型参数的字典对象。每个模型的state_dict都包含了该模型的所有参数(权重和偏置等),用于在训练和推理过程中重现模型的内部状态. pytorch 中的 state_dict 是…

MySQL-含json字段表和与不含json字段表查询性能对比

含json字段表和与不含json字段表查询性能对比 说明: EP_USER_PICTURE_INFO_2:不含json字段表 20200729json_test:含有json字段表 其中20200729json_test 标准ID、MANAGER_NO、PHONE_NO 为非json字段 data为json字段 2个表中MANAGER_NO、PHONE_NO都创建了各自的索引 测试…

CUDA简介, 配置和运行第一个CUDA程序(Windows和Linux)

CUDA简介 CUDA(Compute Unified Device Architecture)是由NVIDIA开发的一种通用并行计算架构。CUDA允许程序员利用NVIDIA GPU的并行计算能力,加速各种计算密集型应用程序。 CUDA技术基于GPU的并行计算原理。传统的CPU处理器拥有少量的核心&…

js中继承的方法

前言: 本人刚写了一篇原型链的封装继承多态,用家有儿女做的demo。其实我个人感觉封装和多态都容易去理解与实现。关键在于继承,js的才是比较难的,也容易让人混乱,至少我是因为继承头大过\(^o^)/~ js中有很多方法可以实现继承,这篇文章主要对继承的方法进行学习与测试。 这里…

[STM32-1.点灯大师上线】

学习了江协科技的前4课,除了打开套件的第一秒是开心的,后面的时间都是在骂娘。因为51的基础已经几乎忘干净,c语言已经还给谭浩强,模电数电还有点底子,硬着头皮上吧。 本篇主要是讲述学习点灯的过程和疑惑解释。 1.工…

【3】密评-物理和环境安全测评

0x01 依据 GB/T 39786 -2021《信息安全技术 信息系统密码应用基本要求》针对等保三级系统要求: 物理和环境层面: a)宜采用密码技术进行物理访问身份鉴别,保证重要区域进入人员身份的真实性; b)宜采用密码技术保证电子门…

[HTML]Web前端开发技术7(HTML5、CSS3、JavaScript )CSS的定位机制——喵喵画网页

希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,佬佬会看到更多有趣的博客哦!!! 喵喵喵,你对我真的…

电音制作入门软件FL Studio21.2.0最新永久免费版

FL Studio是一款出色的编曲软件,最新版本的FL Studio21新增了四款全新的插件,覆盖了音频设计、延迟、相位器等等。通过软件的不断更新,我们可以享受到更加智能的电子音乐创作工具,目前,FL Studio的正式版已经推出了超过…