使用DCMTK实现DICOM文件浏览器dicom explorer

本文介绍了如何使用DCMTK 3.6.3的DCMData包和QT来创建一个简单的DICOM文件浏览器。在Linux和Windows下,通过处理不同平台的DCMTK配置文件,实现了跨平台支持。文章详细阐述了读取和解析DICOM文件的过程,包括像素模块的相关标签、图像像素信息的读取以及Modality LUT和VOI LUT的转换。代码已开源在GitHub上,供开发者参考学习。
摘要由CSDN通过智能技术生成

之前一直使用别人的免费浏览工具来浏览DCM图像,或多或少都存在小的问题,要么完全免费但是功能不全不好用,要么就是收费需要定期下载版本申请试用,折腾来折腾去很是费心,决定最近自己写个简单的,不求功能强大只求自己用起来得心应手。

底层文件的读取使用DCMTK3.6.3的DCMData包;考虑支持跨平台,上层显示使用QT来做。

 在Linux和windows两个平台下编译DCMTK生成的Config文件夹中的头文件内容是不同的,为了更好地组织两个平台的头文件和库文件,在dcmtk文件夹分别新建linux和win文件夹,将ubuntu下编译后的include文件夹拷贝到linux下,将win7下编译后的include文件夹拷贝到win下。读取文件主要使用DCMTK的DcmData库,该库依赖了ofstd,oflog库,为了支持RLE压缩和JPEG压缩,还需要dcmjpeg库。以linux为例,将编译后的config文件夹下的include目录和源码中的ofstd,oflog,dcmjpeg,dcmdata文件夹中的include文件夹拷贝到dcmtk/linux/include目录下,并在工程文件.pro中将这些目录添加到INCLUDEPATH中;

win32: INCLUDEPATH += $$PWD/dcmtk/win/include/
else:unix: INCLUDEPATH += $$PWD/dcmtk/linux/include/

win32: INCLUDEPATH += $$PWD/dcmtk/win/include/dcmtk/config
else:unix: INCLUDEPATH += $$PWD/dcmtk/linux/include/dcmtk/config

win32: INCLUDEPATH += $$PWD/dcmtk/win/include/dcmtk/ofstd
else:unix: INCLUDEPATH += $$PWD/dcmtk/linux/include/dcmtk/ofstd

win32: INCLUDEPATH += $$PWD/dcmtk/win/include/dcmtk/ofstd/diag
else:unix: INCLUDEPATH += $$PWD/dcmtk/linux/include/dcmtk/ofstd/diag

win32: INCLUDEPATH += $$PWD/dcmtk/win/include/dcmtk/ofstd/variadic
else:unix:  INCLUDEPATH += $$PWD/dcmtk/linux/include/dcmtk/ofstd/variadic

win32: INCLUDEPATH += $$PWD/dcmtk/win/include/dcmtk/oflog
else:unix:  INCLUDEPATH += $$PWD/dcmtk/linux/include/dcmtk/oflog

win32: INCLUDEPATH += $$PWD/dcmtk/win/include/dcmtk/oflog/config
else:unix: INCLUDEPATH += $$PWD/dcmtk/linux/include/dcmtk/oflog/config

win32: INCLUDEPATH += $$PWD/dcmtk/win/include/dcmtk/oflog/helpers
else:unix: INCLUDEPATH += $$PWD/dcmtk/linux/include/dcmtk/oflog/helpers

win32: INCLUDEPATH += $$PWD/dcmtk/win/include/dcmtk/oflog/internal
else:unix:  INCLUDEPATH += $$PWD/dcmtk/linux/include/dcmtk/oflog/internal

win32: INCLUDEPATH += $$PWD/dcmtk/win/include/dcmtk/oflog/thread
else:unix:  INCLUDEPATH += $$PWD/dcmtk/linux/include/dcmtk/oflog/thread

win32: INCLUDEPATH += $$PWD/dcmtk/win/include/dcmtk/oflog/spi
else:unix:  INCLUDEPATH += $$PWD/dcmtk/linux/include/dcmtk/oflog/spi

win32: INCLUDEPATH += $$PWD/dcmtk/win/include/dcmtk/dcmjpeg
◎ 完全符合dicom3 0标准 具备良好的dicom兼容性 ◎ 定位线可以在相关影像上显示 用来定位和识别这个影像与定位图的切片位置关系 在浏览ct或磁共振序列时参考影像上可以显示定位线 ◎可以自由布局浏览图像 同时支持病人的多次检查 多序列比较 ◎ 被选择的检查可以通过缩略图显示 这些缩略图包含序列 影像或者一个序列的子集 ◎ 具有基本影像处理功能:zoom pan inverse fit rotate reverse flip 缩放 放大镜等功能 ◎ 用户可以通过鼠标自由调节影像的窗宽窗位 也可以选择默认值 ◎ 用户可以通过键盘 鼠标和鼠标的滚轮在序列和影像中自由浏览 ◎ 可以以电影回放方式浏览影像 ◎支持mpr 图像空间定位 方便医生诊断 ◎ 支持同一检查的不同序列图像等比例显示 支持不同序列图像联动 ◎支持多针图像浏览 ◎ 工作站具有图像标记功能 可以一次选取单幅和多幅图像 可以一次选取也可以多次选取 用简单的步骤选取图像 ◎ 可以在影像上增加注释 这些注释包括箭头 线条 矩形 任意文字 遮照 可以在同一影像上显示多个注释 ◎ 用户可以在一个影像中测量对象:长度 圆形面积 矩形面积 曲线 心胸比 ◎ 可以测量ct影像上的ct值 ◎ 用户可以用 dcm jpg bmp png gif和tiff 格式文件保存影像 ◎ 支持dicom打印机打印影像 ◎ 具有dicom对象的导入 import 和导出 export 的功能 ◎ 具有读取标准dicom dir影像文件功能 具有刻录cd dvd的功能 可直接连接dvd ±rw driver 将本机或服务器上影像数据直接备份至媒体中 ◎ 支持dicom queryretrieve c s【tor】e suc scp c echo ◎ 支持内存管理 磁盘空间管理 大数据加载 ◎ 支持菜单编辑 自定义快捷键 调整工具栏位置 ◎工作站基于插件开发模式 支持动态组合诊断工作站的功能 不影响工作站的运行 ">◎ 完全符合dicom3 0标准 具备良好的dicom兼容性 ◎ 定位线可以在相关影像上显示 用来定位和识别这个影像与定位图的切片位置关系 在浏览ct或磁共振序列时参考影像上可以显示定位线
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值