题记:

DICOM医学图像处理专栏撰写已有两个年头,积累了近百篇文章。起初只是用于记录自己科研、工作中遇到的疑难问题,专注于图像处理(主要是医学图像,这也正是专栏名称最初的由来);后来逐渐延伸到了DICOM数据传输方向,专注于医院内影像数据的传输和管理,遂将博文标题按照【DICOM医学图像处理:XXX】和【DICOM:XXX】划分,分别介绍图像处理和数据传输;到最后又添加了开源工具分析部分,诸如DICOM开源实现库(dcmtk、dcm4che、fo-dicom)、开源PACS系统(Orthanc、dcm4chee、ClearCanvas)。

背景:

近期多次收到网友邮件或私信希望给出一个简单的说明,方便由简到难的来逐步浏览和阅读专栏中的博文。自己按照上述的主线来写,一直以为逻辑还算清晰,但自己回想起来,对于初学者甚至外行来说,专栏整体还不够清晰,一时很难找到切入点进行学习。因此近期一直在考虑写一篇关于“DICOM学习路线图”的博文,构思许久仍感充满纰漏,如何能够让初学者快速掌握DICOM相关知识?如何能够学习知识点的同时展开实际编程训练?还有许许多多的问题没有想好、想明白……
今天暂时整理初稿,大致对专栏文章进行一个简单分类,以便初学者快速归类定位相关博文,后续会持续更新完善,希望达到自己当初“深入浅出,引领DICOM学习”的设想。

DICOM整体思维导图:

DICOM协议属于开放式系统互联OSI七层模型中的应用层,与我们日常最常用的HTTP协议(HTTP,几乎等同于互联网的代名词,当然由于其安全性问题正在逐渐被HTTPS取代)类似。两者有着诸多相似的地方,想必大家对HTTP协议都有所了解,因此决定通过类比DICOM与HTTP来介绍DICOM协议,让大家快速对DICOM协议有一个宏观的把握。

对比 HTTP DICOM
OSI层 应用层 应用层
数据 HTML文件 .DCM文件
服务 GET、POST、HEAD、PUT
PUT、DELETE、TRACE、CONNECT、OPTIONS
C-ECHO、C-FIND、C-STORE、C-MOVE、C-GET
N-GET、N-SET、N-ACTION、N-CREATE、N-DELETE、N-EVENT-REPORT
应用 互联网B/S模式,
也可以用于C/S模式
C/S模式,
也可以用于WADO(B/S模式)

简而言之:将DICOM协议当做是专属于医疗领域的“HTTP”传输协议,常见的HTTP协议是通过上表中的各种服务来实现浏览器服务器之间HTML格式数据的传输;DICOM协议是通过上表中的各种服务实现了医疗设备数据中心之间DCM格式数据的传输。

虽然在互联网中经常会混淆HTTP与HTML两个概念(详情可以参考HTTP vs HTML),但从缩写上来看还是比较好区分:一个是网络传输协议(HTTP),一个是数据格式标记语言(HTML),在HTTP协议中发送的正是HTML格式的数据。进入到DICOM领域可能更容易混淆,因为在DICOM领域传输使用的协议和协议上传输的数据都叫做DICOM,一个称之为DICOM协议,一个称之为DICOM图像(即.dcm后缀的文件)。之前HTTP与HTML同属于互联网但是由不同的组织机构制定和发布,而DICOM协议和DICOM数据同时包含在DICOM标准中(最新的标准是DICOM3.0)。

如是,为了更好的学习DICOM标准,按照类似HTTP(协议)和HTML(数据)的方式将DICOM标准进行一个划分。整体的思维导图如下:

DICOM专栏博文分类:

按照以上思维导图的划分方法,将DICOM医学图像处理专栏中的博文对应进行一个简单的分类。大致如下:

DICOM标准介绍篇:

该部分从整体上对DICOM标准进行介绍,此外还会涉及到其他医疗领域的信息化标准,诸如HL7、IHE等,使得读者对DICOM标准有一个整体宏观上的把握。
1. DICOM医学图像处理:全面分析DICOM3.0标准中的通讯服务模块 
2. DICOM医学图像处理:浅析SWF、WML、SPS、MPPS 
3. DICOM医学图像处理:DICOM网络传输 
4. DICOM:DICOM3.0网络通信协议(续)

DICOM数据篇:

该部分主要以.dcm后缀的文件为目标,即通常所说的医学影像(当然DICOM标准不单单存储二维影像,还可以存储一维的心电数据、动态影像、四维超声/CT等等),介绍文件的常规操作(解析、写入、格式转换)和高级处理(常见的图像处理算法,诸如去噪、增强、分割、融合等等)。
1. DCMTK开源库类继承结构与DICOM3.0标准元素定义的对应关系图 
2. DCMTK开源库的学习笔记1:将DCM文件保存成BMP文件或数据流(即数组) 
3. DCMTK 开源库的学习笔记2:直接操作dcm文件中像素数据的尝试 
4. DCMTK开源库的学习笔记3:dcmtk文件中数据元的修改 
5. DCMTK开源库类继承结构与DICOM3.0标准元素定义的对应关系图 
6. DICOM医学图像处理:Dcmtk与fo-dicom保存文件的不同设计模式之“同步VS异步”+“单线程VS多线程” 
7. DICOM医学图像处理:DICOM存储操作之“多幅BMP图像数据存入DCM文件” 
8. DICOM医学图像处理:DICOM存储操作之 “多幅JPG图像数据存入DCM文件” 
9. DICOM:基于fo-dicom的简易DICOM Viewer 
10. DICOM:Transfer Syntax传输语义之奇葩GE Private TS 
11. DICOM:DICOM三大开源库对比分析之“数据加载”

DICOM协议篇:

该部分以医学设备与数据中心的实际交互为目标,介绍设备与PACS(当然也会涉及到RIS、HIS等系统)之间数据的具体传输,例如常见的Q/R(查询/提取)操作、数据存储操作等等。
1. DICOM:基于DCMTK实现C-FIND SCU 
2. DICOM医学图像处理:基于DCMTK工具包学习和分析worklist 
3. DICOM医学图像处理:利用fo-dicom发送C-Find查询Worklist 
4. DICOM医学图像处理:storescp.exe与storescu.exe源码剖析,学习C-STORE请求 
5. DICOM医学图形处理:storescp.exe与storescu.exe源码剖析,学习C-STORE请求(续) 
6. DICOM医学图像处理:AETitle在C-FIND和C-MOVE请求中的设置问题 
7. DICOM医学图像处理:fo-dicom网络传输之 C-Echo and C-Store 
8. DICOM医学图像处理:fo-dicom网络传输之C-FIND and C-MOVE 
9. DICOM医学图像处理:DIMSE消息发送与接收“大同小异”之DCMTK fo-dicom mDCM 
10. DICOM:dcmqrscp.exe与storescu.exe中C-STORE服务的差别 
11. DICOM:fo-dicom之C-STORE再分析‘解决System.ObjectDisposedException异常’ 
12. DICOM:DICOM Print服务中PresentationContext协商之 MetaSOPClass与SOPClass对比分析 
13. DICOM:DICOM Print 服务详细介绍 
14. DICOM:参考dcm4che2扩展fo-dicom(mDCM)中的UserIdentity字段

DICOM应用篇:

该部分是对DICOM数据篇和DICOM应用篇的实际操作,以DICOM标准为主线,着重介绍各种DICOM开源实现库(包括dcmtk、fo-dicom(mDCM)、dcm4che),以及常见的开源信息系统,诸如Orthanc、ClearCanvas、dcm4chee。
1. DCMTK开源库的学习笔记4:利用ini配置文件对dcm影像进行归档 
2. Web版PACS开发纪要一:关闭动态库中创建的线程 
3. Web版PACS开发纪要二:解决文件传输数据“丢失”问题
4. DICOM医学图像处理:DCMTK在VS2012中的配置 
5. DICOM医学图像处理:开源库mDCM与DCMTK的比较分析(一),JPEG无损压缩DCM图像 
6. DICOM医学图像处理:开源库mDCM与DCMTK的比较分析(一),JPEG无损压缩DCM图像(续) 
7. DICOM医学图像处理:DCMTK的wiki资料学习之PACS调试 
8. DICOM医学图像处理:WEB PACS初谈 
9. DICOM医学图像处理:WEB PACS初谈二,图像的传输 
10. DICOM医学图像处理:WEB PACS初谈三,PHP扩展骨架 
11. DICOM医学图像处理:WEB PACS初谈四,PHP DICOM Class 
12. DICOM医学图像处理:Deconstructed PACS之Orthanc 
13. DICOM医学图像处理:Deconstructed PACS之Orthanc,Modification & Anonymization 
14. DICOM医学图像处理:Orthanc Plugin SDK实现WADO服务 
15. DICOM医学图像处理:深入剖析Orthanc的SQLite,了解WADO & RESTful API 
16. DICOM:DCMTK工具包分析之dcmqrscp.exe、dcmqridx.exe、dcmqrti.exe 
17. DICOM:剖析Orthanc中的Web Server, Mongoose 
18. DICOM:剖析Orthanc中的Web Server,Mongoose之“连接请求触发的事件序列”(二) 
19. DICOM:剖析Orthanc中的Web Server,Mongoose之 Flag bit & Event(三) 
20. DICOM:开源DICOM服务框架DCM4CHE构建的准备 
21. DICOM:开源DICOM服务框架DCM4CHE 安装 
22. DICOM:开源DICOM服务框架DCM4CHE 构建 
23. DICOM:再次剖析fo-dicom中DicomService的自定义事件绑定 
24. DICOM:Ubuntu14环境下安装dcm4chee+oviyam2.1 
25. DICOM:dcm4chee奇葩逻辑浅析之UID修改 
26. DICOM:C-GET与C-MOVE对比剖析 
27. DICOM:DICOM万能编辑工具之Sante DICOM Editor 
28. DICOM:dcm4che工具包如何压缩dcm文件探讨(前篇) 
29. DICOM:dcm4che工具包如何压缩dcm文件探讨(续篇) 
30. DICOM:基于JMeter+dcm4che2测试PACS服务器性能的解决方案(前篇) 
31. DICOM:基于JMeter+dcm4che2测试PACS服务器性能的解决方案(续篇)

DICOM翻译篇:

该部分是本人在Github上发起的DICOM3.0标准中文版开源书籍项目,由于目前大多数DICOM相关的资料(如上述思维导图中提到的官方网站、开源论坛)都是英文版,中文资料甚少,因此决定发起该项目,以DICOM标准的中文翻译为基础,介绍并普及医疗领域的信息化技术,关注医疗改革的发展。
1. DICOM:DICOM3.0标准中文版开源书籍之”本地版本管理方案 
2. DICOM:DICOM3.0标准中文版开源书籍之“git版本库合并 
3. DICOM:DICOM3.0标准中文版开源书籍编辑之”github仓库合并“ 
4. DICOM:DICOM3.0标准中文版开源书籍协同编辑之“Github Pull Requests” 
5. DICOM:开源书籍之『DICOM标准中文版』启动计划

PS: 整体博文的分类也可以参考之前总结的一篇DICOM医学图像处理:二零一四▪DICOM专栏一览

备注:

由于DICOM标准复杂,体量很大,因此本博文仅作为DICOM标准学习路线图的初稿,对初学者起到一个简单的引导作用。后续会逐步更新完善,敬请期待!

DICOM:DICOM标准学习路线图(初稿)的更多相关文章

  1. SAP ABAP学习路线图--标准教程

    SAP ABAP学习路线图--标准教程 摘自:http://www.cnblogs.com/clsoho/archive/2010/07/05/1771400.html

  2. Hadoop学习路线图

    Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括, ...

  3. Node.JS 学习路线图

    转载自:http://www.admin10000.com/document/4624.html 从零开始nodejs系列文章, 将介绍如何利Javascript做为服务端脚本,通过Nodejs框架w ...

  4. Hive学习路线图(转)

    Hadoophivehqlroadmap学习路线图   1 Comment Hive学习路线图 Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig ...

  5. R语言书籍的学习路线图

    现在对R感兴趣的人越来越多,很多人都想快速的掌握R语言,然而,由于目前大部分高校都没有开设R语言课程,这就导致很多人不知道如何着手学习R语言. 对于初学R语言的人,最常见的方式是:遇到不会的地方,就跑 ...

  6. 转】Mahout学习路线图

    原博文出自于: http://blog.fens.me/hadoop-mahout-roadmap/ 感谢! Mahout学习路线图 Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目 ...

  7. 【转】Hive学习路线图

    原文博客出自于:http://blog.fens.me/hadoop-hive-roadmap/ 感谢! Hive学习路线图 Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Ha ...

  8. Hadoop家族学习路线图--转载

    原文地址:http://blog.fens.me/hadoop-family-roadmap/ Sep 6, 2013 Tags: Hadoophadoop familyroadmap Comment ...

  9. Hadoop家族学习路线图

    主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项 ...

随机推荐

  1. shell中的流程控制

    一.if的使用 判断磁盘使用率,如果超过要求值就直接报警 数据库备份 apache服务器启动检测(nmap工具需要安装) 多重条件判断 二.case的使用 三.for使用 字符串循环,in后面的内容以 ...

  2. DOM(二)使用DOM

    在了解DOM(文本对象模型)的框架和节点后,最重要的是使用这些节点处理html网页 对于一个DOM节点node,都有一系列的属性和方法可以使用.常用的有下表. 完善:http://www.w3scho ...

  3. 图解NodeJS【基于事件、回调的单线程高性能服务器】原理

    刚开始了解Node感觉很吊,各种说高性能,可是一直不理解为什么单线程会比多线程快?为什么异步IO比非阻塞IO快?因此,本篇在阅读相关书籍后,根据自己的理解,整理此文,如有错误,仅代表理论不精,必当修改 ...

  4. “耐撕”团队2016.04.14站立会议

    1. 时间 : 19:20--19:40  共计20分钟 2. 人员 : Z   郑蕊 * 组长 (博客:http://www.cnblogs.com/zhengrui0452/), P 濮成林(博客 ...

  5. 第十四章:Annotation(注释)

    一:注解 1.当成是一种修饰符吧,修饰类及类的所有成员. 代码里的特殊标记,这些标记可以在编译.类加载.运行时被读取. 2.@Override:强制子类覆盖(重写)父类的方法. @Deprecated ...

  6. IntelliJ13+tomcat+jrebel实现热部署(亲测可用)

       网上有很多介绍intellij idea整合jrebel插件实现热部署的文章,但是有的比较复杂,有的不能成功,最后经过各种尝试,实现了整合,亲测可用!步骤说明如下:   一.先下载jrebel安 ...

  7. 【BZOJ 3036】 绿豆蛙的归宿

    求期望的题目(~~~water~~~) 压了下代码,压成15行hhh: 我把代码压成这么丑估计也没有人看吧: 毕竟是zky讲的一个水题,就当给博客除草了:    dfs回溯时求当前节点的f,除以当前节 ...

  8. 【CodeForces 599A】D - 特别水的题4- Patrick and Shopping

    Description  meter long road between his house and the first shop and a d2 meter long road between h ...

  9. BZOJ-1061 志愿者招募 线性规划转最小费用最大流+数学模型 建模

    本来一眼建模,以为傻逼题,然后发现自己傻逼...根本没想到神奇的数学模型..... 1061: [Noi2008]志愿者招募 Time Limit: 20 Sec Memory Limit: 162 ...

  10. Spring+C3P0数据库连接池配置

    一.xml文件读取.properties文件连接数据库 1.xml文件中的配置 <bean id="dataSourceLocal" name="dataSourc ...