以下链接是本系列文章,不足之处,可在评论区讨论:
系列文章
1.1 DICOM协议简介及应用
1.2 DICOM成像协议剖析
1.3 DICOM成像协议实现思路
1.4 DICOM图像CT值计算
1.5 DICOM图像CT值转RGB
1.6 DICOM图像的基本操作
1.7 DICOM层级关系
1.8 序列图像排序
1.9 DICOM带有overlay覆盖层图像显示(一层覆盖层)
1.10 DICOM带有overlay覆盖层图像显示(多层覆盖层)
1.11 DICOM带有overlay覆盖层图像显示(原始数据)
1.12 DICOM彩色图像
本人有近十年医疗行业技术开发经验,尤其在医学影像处理方面有一定的技术积累,开发过基于传统算法处理的三维重建系统和人工智能处理的辅助诊断系统。
在刚开始接触DICOM图像时,由于历史原因使用了一个远古的框架,这个框架早就停止更新了,因此底层存在不少bug,对部分DICOM图像兼容性不好。当时公司内没有了解DICOM协议的,只能自己硬着头皮一边查资料看DICOM英文协议,一边看框架源码,对照协议修改框架源码。
远古框架只有32位版本,没有64位版本,三维重建操作容易内存不足。随着对DICOM协议越来越熟悉,便想手动编码实现DICOM协议。DICOM协议分为成像和传输两部分,成像协议是传输协议的基础,因此先用C++语言把DICOM协议中的对象和面向对象编程方式结合,封装DICOM协议中的group,element,vr,length,value等对象,实现了DICOM成像协议部分。后来用C++语言实现了DICOM协议中的传输部分,实现了CEcho,CFind,Cmove,CStore等功能。
后来做过基于Windows系统的桌面系统和基于Linux系统的后端服务,接触了多个DICOM框架,包括C++语言的DCMTK,C#语言的DicomObject,Python语言的pydicom,java语言的Dcm4Chee,javascript语言的Cornerstone.js。
基于DICOM引擎实现部分上层应用,包括简单的测量、窗宽窗位调整等,也包括手撸代码实现MPR功能,基于VTK实现了部分三维重建功能。
后续会陆续分享一些技术文章,欢迎大家讨论。
有合作意向可私信沟通。