DICOM:DICOM Print 服务详细介绍
来源:互联网 发布:一个程序员眼中的fenng 编辑:程序博客网 时间:2024/05/23 01:17
背景:
昨天专栏中发表了一篇关于DICOM Print的博文 DICOM:DICOM Print服务中PresentationContext协商之 MetaSOPClass与SOPClass对比分析,文章从部署中遇到的实际情况出发,对DICOM Print中的连接协商(Association Negotiation)进行了剖析,本文可看做是上一篇博文的补充,重新浏览和整理了DICOM3.0标准中对DICOM Print 服务的介绍,加深对DICOM打印的理解。
DICOM Print服务数据流:
DICOM标准中关于PRINT的详细描述在第4部分附录H中。其中主要有以下几个概念:
Film:在DICOM协议中使用Film来统称不同的Hard Copy,例如photographic film和paper。
DICOM Print的数据流由Print Session、Print Job、Print(hard copy)组成,具体示意图如下:
DICOM Print服务各部分关系
DICOM Print中各对象(这里的对象代表的是DICOM打印操作过程中的某个具体事务,要与面向对象编程中的对象区别开来)之间的包含关系图如下所示,
将上述关系图中的各部分进行打印称之为Print Job。但是在将各部分传送到DICOM Printer打印机之前需要对数据进行变换,主要流程如下:
在Modality and User Sepecific Transformations中包括三种变换:
**1. Modality LUT transformation
2. Mask Subtraction
3. VOI LUT transformation**
Modalit LUT变换是将设备相关的像素数据转换成设备无关数据;
VOI LUT变换是最常用的,也是最长被熟知的,在实际应用过程中最常被用到。类似于DICOM图像处理中的窗宽窗位调节,其作用是打印感兴趣区域到Film中,例如CT中设置软组织或骨骼的窗来进行分别打印,以方便医生观察指定组织。
Polarity变换,用于设置最小像素值对应于黑或白(即0,或255)。该字段(2020,0020)与Photometric Interpretation配合使用。
Presentation LUT,这就是之前提到的在图像显示中常用到的窗宽窗位调节。在图像显示中,Presentation LUT将像素数据转换成设备特定的、人眼可识别的显示数据(Presentation Value,即P-Value)——soft copy;在DICOM打印中年,Presentation LUT将光密度(optical density)用于打印机打印——hard copy。
DICOM Print服务具体实现
通过构造上述各部分以及各种变换,可以实现DICOM打印,其整体流程大致如下,
此外关于具体的实现流程在DICOM3.0第17部分中也已经给出,但是由于17部分中对于Association Negotiation部分介绍不够详细才导致遇到了上一篇博文中的问题。因此下面我会按照DICOM3.0第4部分中对DICOM Print各部分的详细介绍来描述DICOM打印流程,示意图如下:
该图与之前的“DICOM Print中各种对象之间的包含关系图”一一对应,一个是抽象概念之间的关系,一个是DICOM打印具体应用中各部分的关系。这里需要注意的有以下几点:
1) Basic Film Session SOP Instance实例对象是SCU端通过发送N-CREATE指令,由SCP服务端创建的;
2) Basic Film Box SOP Instance实例对象是SCU端在成功创建了Basic Film Session SOP Instance后,再次发送N-CREATE指令,由SCP服务端创建的;
3) SCP端在创建完成Basic Film Box SOP Instance后,会将Basic Film Box SOP Instance关联到其父类Basic Film Session SOP Instance实例对象上,于此同时根据2)中的N-CREATE请求中的Image Display Format参数为每一幅图像创建对应的Image Box SOP Instance。因此上图中Image Box SOP Instance中并未出现N-CREATE操作,因为在创建Basic Film Box SOP Instance时一同创建了。【具体参见DICOM3.0第4部分H4.2.2.1.3】
4) SCU客户端可以通过N-SET指令来设置3)中创建的各个Image Box SOP Instance对象。
5)当1)-4)操作基本完成后,Basic Film Session SOP Instance实例对象通过N-ACTION操作创建出Print Job SOP Instance实例对象,触发具体打印操作,待打印操作完成(或失败)后删除。打印过程中通过N-EVENT-REPORT操作向SCU端反馈具体打印状态。
6) Print Job SOP Class可以看做是一次打印操作,而PRINTER SOP Instance就是该次打印的具体的hard copy。
作者:zssure@163.com
时间:2015-04-19
- DICOM:DICOM Print 服务详细介绍
- DICOM介绍
- DICOM
- DICOM
- DICOM
- DICOM
- DICOM:DICOM Print服务中PresentationContext协商之 MetaSOPClass与SOPClass对比分析
- DICOM:开源DICOM服务框架DCM4CHE 安装
- DICOM:开源DICOM服务框架DCM4CHE 构建
- DICOM:docker实现DICOM服务虚拟化
- dicom文件详细解析
- DICOM:C-GET服务
- DICOM基础介绍
- DICOM 模块介绍
- DICOM协议新手入门资料-DICOM协议详细解释
- DICOM:开源DICOM服务框架DCM4CHE构建的准备
- DICOM:docker实现DICOM服务虚拟化之“数据卷”
- 用fo-dicom实现print scu的注意事项
- 你可能不知道的一些JavaScript 奇技淫巧
- 第六周项目6-2:复数模版类
- Kakuro Extension (hdu 3338 最大流 建图难)
- 时间复杂度和空间复杂度 2
- vim 配置
- DICOM:DICOM Print 服务详细介绍
- 第四单元老师学生类(zuoye)
- 动态规划:从新手到专家
- 2015/4/19
- 欢迎使用CSDN-markdown编辑器
- (二十七)unity4.6学习Ugui中文文档-------Unity3D UI (uGUI)窗口扩展
- PHP计划任务:如何使用Linux的Crontab执行PHP脚本
- 2015年3-4月 同事面试题目汇总
- 存储过程的优缺点