1 专栏介绍

本专栏详细介绍了使用C++实现DICOM协议解析引擎的过程,旨在通过造轮子帮助读者深入理解DICOM协议底层原理。内容包括读取DICOM文件、解析文件头、处理元数据组、解压像素数据以及将CT值转换为BMP图像。代码结构清晰,已通过多种格式和压缩算法的DICOM图像验证,适用于处理非标准DICOM图像。提供完整代码下载,适合学习和参考。
摘要由CSDN通过智能技术生成

  本专栏为DICOM协议-成像协议相关的代码实现,主要以本人自己写的DICOM解析引擎来讲解,后续也会加入一些开源框架的源码分析。
  DICOM协议相关原理部分在专栏从零讲解DICOM协议-成像协议中,本专栏为相应的代码实现。

本节最后部分有完整代码下载链接

  有人可能疑惑已经有了不少开源框架,为什么还要造轮子呢?
  确实基于开源框架可以解决大部分问题,但可能就是因为不了解DICOM底层实现,导致对小部分问题无从下手。经济基础决定上层建筑,底层原理决定上层应用。
  个人认为造轮子有如下好处:

  1. 了解协议底层原理后,再看上层应用,知其所以然
  2. 国内厂家对DICOM协议实现程度不同,部分系统和图像没有严格按照DICOM协议标准实现,导致时能遇到不标准DICOM图像,部分不稳定的开源框架无法解析,而开源框架往往实现复杂,难以定位排查问题,更不知如何修复bug

本专栏按照如下思路讲解DICOM解析引擎的实现思路和整体代码框架:

  1. 读取DICOM文件至内存中
  2. 读取文件头到文件头对象中
  3. 按照元数据组特性读取元数据组中的各个DataElement
  4. 按照数据组特性读取数据组中的各个DataElement
  5. 如果PixelData是压缩格式,则用相应的解压算法解压
  6. CT值转BMP,保存BMP图像

此部分代码的开发工具:
  操作系统win10
  开发语言 C++
  开发工具vs2013

  代码为本人多年前独自完成,代码精简,结构清晰,适合以代码结构和实现去理解DICOM协议,且经过大量DICOM图像验证,有一定的适应性。
适配过的格式:
1. CT,MR,MG,DX,RF
2. 隐式小端,显式大端,显式小端
3. jpeglossless,jpeg2000
4. 多帧图像
核心代码:
在这里插入图片描述

在这里插入图片描述

以下链接中的代码是完整的且可运行的,链接如下,可按需下载:
dicom成像程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DICOM医学影像

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值