【转】DICOM入门(一)——语法

转自:https://www.jianshu.com/p/5db8933a25a4

作者:我住的城市没有福合埕

1.什么是DICOM

DICOM(Digital Imaging and Communications in Medicine)即医学数字成像和传输协议,是用医疗影像(CT 核磁共振 DR CR 超声等)数据传输,存储,查询和显示的协议总和。

2.数据内容

DICOM数据由图像和病人、影像设备等相关数据组成的,比如病人姓名、年龄、生日性别等等。

3.VR

一个DICOM文件类似一个类,会有很多属性,属性可能是一个字段,数组或者包含了另外一个类。编程语言会定义基础数据类型,类似的DICOM定义很多基础类型叫做VR(Value Representations)值表现。

 

文本.jpeg

 

设备 人 实例 日期和时间.jpeg

 

文本格式 二进制格式.jpeg

PN 病人姓名

DICOM 规定了如下的姓名顺序:
姓^教名^中名^名前缀^名后缀

UIDs 唯一标识

UID是像“1.2.840.10008.1.2”那样由数字组成并由逗号分隔的字符串;UID字符串具有全球唯一性,能够保证在多 个国家、地点、厂商和设备间区分病人。

SQ 序列化数据集

SQ VR是对数据集序列的编码,每个数据集可能包含多个数据属性。用面向对象语言的说法,这个属性是一个类。

4.数据字典

DICOM的数据字典代表DICOM的属性名称,数据字典 由四个字节组成,前面两个字节表示项目组 后两个表示元素。

 

DICOM 数据字典中的一些行.jpeg

栗子

用DICOM语法记录一条信息
病人 Tom Smith,男性,生日 2000 年 8 月 8 日
(0010,0010)Smith^Tom (0010,0030)20000808 (0010,0040)M

5.简单的二进制编码

DICOM文件存储都是采用二进制的形式,所以上面栗子。在用DICOM编码如下:

 

二进制结构.jpeg

 

二进制值.jpeg

6.SQ编码

 

一个复杂的DICOM对象.jpeg

  1. 在 SQ 序列中的 DICOM 对象是以序列项目的形式进行编码的。
  2. 每个在 SQ 序列中的对象项目(object-item)前面都会有个(FFFE, E000)的标签(作为项
    目分隔符项)。这个项目后面还会跟着以下之一:
    a) DICOM 项目的显式长度(比如,表 11 的例子 1 中的第一个和第二个项目)。这个
    长度是用来定义为了获得后面的对象所要读取的字节数。
    b) 隐式(未定义)长度,设置为十六进制数字 FFFFFFFF(表 11 的例子 3 中的第二个
    项目)。那么,我们需要用项目分隔符项(FFFE,E00D)来标记 DICOM 对象项目的结尾。 这个分隔符项是零长度的,因为他只是用来标记 DICOM 对象的结尾并且自己不含 有任何数据。
  3. 与项目相似,整个 SQ 序列能够显式长度或未定义长度:
    a) 如果使用显式长度(例子 2,长度 00000A00),那么这个长度等于所有编码的 DICOM
    对象序列(后面马上跟上长度标签)的总长度。在例子 2(见表 11)中,我们读取
    00000A00 字节并且根据(FFFE,E000)标签将他们分割成 DICOM 对象。
    b) 我们也可以使用隐式(未定义)长度,在 DICOM 中会标记为 FFFFFFFF。因为长度 是未知的,所以我们不得不用零长度的序列分隔符项(FFFE,E0DD)来标记 SQ 序列的
    结尾。

 

1.jpeg

 

2.jpeg

 

3.jpeg

以上粗略的介绍了一下DICOM的语法,下一次将讲讲DICOM图像相关内容



作者:我住的城市没有福合埕
链接:https://www.jianshu.com/p/5db8933a25a4
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/436399.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1000并发 MySQL数据库_再送一波干货,测试2000线程并发下同时查询1000万条数据库表及索引优化...

继上篇文章《绝对干货,教你4分钟插入1000万条数据到mysql数据库表,快快进来》发布后在博客园首页展示得到了挺多的阅读量,我这篇文章就是对上篇文章的千万级数据库表在高并发访问下如何进行测试访问这篇文章的知识点如下:1.如何自写几十行代码…

从高中一次半夜不冲厕所的经历谈程序

我高中的时候,是住校生。寝室到了10点半就会熄灯,早上6点40左右就要起来跑早操。 一天半夜大概两三点,起床放了个大号。想要充厕所的时候发现没有水,很尴尬,也没有其他的办法。半夜还冷的很。就上床睡觉了&#xff0…

Oracle:ORA-28000异常(帐户已被锁定),修改账号登录失败次数

问题描述 最近系统更换了数据库服务器,IP地址也变了,于是就把应用服务器中配置数据库连接的位置做了修改,但是修改后应用起不来了。 经过半天也没发现问题,后来想试试连数据库看看,结果PL/SQL提示“ORA-28000错误”&…

【转】VTK修炼之道1_初识VTK

1.VTK是什么? Visualization ToolKit 3D计算机图形学、图象处理及可视化工具包 VTK使用C、面向对象技术开发;基于OpenGL,封装了OpenGL中的功能,屏蔽细节、便于交互、易于使用提供多种语言接口C++ 、Java 、…

一道解决的非常漂亮的算法题

这是多年以前做的一道题目,原题来自软件报或者电脑报 ,我记不清了。解决这个题目有一个关键的步骤,就是要求一个整数在一个整数三角阵中的坐标。这篇blog就是讨论这个求坐标的问题,不是讨论那个报纸上的题目。现在将题目描述如下&…

HTTPS原理和对中间件攻击的预防

一、https/tls原理 HTTPS访问的三个阶段 第一阶段 认证站点 客户端向站点发起HTTPS请求,站点返回数字证书。客户端通过数字证书验证所访问的站点是真实的目标站点。 第二阶段 协商密钥 客户端与站点服务器协商此次会话的对称加密密钥,用于下一阶段的加…

【转】医学影像技术(中国普通高等学校本科专业)

医学影像技术专业培养适应我国社会主义现代化建设和医疗卫生事业发展需要的,德、智、体全面发展,具有基础医学、临床医学和现代医学影像必备的基本理论知识和基本技能,从事临床影像检查、诊断与治疗技术工作的高级技术应用性专门人才。 中文…

Windows CE下流驱动的动态加载

Windows CE下流驱动的动态加载 闲话少说,进入正题。查找EVC的帮助,发现函数ActivateDevice()可用来加载驱动程序。而这个函数的使用是相当简单的。我就不多说了,贴上一段帮助最能说明问题。当然,你也可以用…

HTTPS原理全面介绍【备查】

来源:https://www.cnblogs.com/haimishasha/p/11373034.html 目录 应用层协议:HTTPS 1. HTTPS定义 2. 密码学基础  3. HTTP通信问题 4. SSL/TLS协议 5. HTTP 向 HTTPS 演化的过程 5.1 对称加密 5.2 非对称加密 5.3 对称加密非对称加密 5.4 安…

【转】VTK修炼之道2_VTK体系结构1

1.OverView综述 The Visualization Toolkit consists of two basic subsystems: a compiled C class library (一个已经编译好的C类库)and an “interpreted” wrapper layer(一个用于解释的语言层) that lets you manipulate the…

WINCE6.0 DM.EXE 激活驱动失败的原因之一

前些天把WINCE6.0的开发环境建好了,今天定制了一个系统,练习了一下驱动的编写和调试。把DLL文件通过VS2005部署到开发板上,用一位大侠写的DM.EXE工具进行激活,但是发现点击激活按钮式无反应,驱动还是停在“停用”状态&…

Linux:tomcat安装/版本升级

本文适用于安装或更新tomcat版本。 1.进入tomcat目录,查看当前tomcat版本 cd /usr/local/tomcat/bin ./version.sh 2.备份原tomcat 可以拷贝原tomcat,或者直接修改原tomcat的文件夹名称作为备份。 cd /usr/local/ #方法1:创建目录&…

【转】VTK与Qt整合的示例

VTK与Qt整合的示例 VTK附带的程序示例中大多是基于控制台的,作为可视化开发工具包,VTK也可以与很多流行的GUI开发工具整合,比如MFC、Qt(题外话:Qt已经被Digia从诺基亚手中收购了,Qt现在的链接是:http://qt…

WinCE驱动调试助手V2.5

http://www.cnblogs.com/we-hjb/archive/2008/12/15/1280822.html http://blog.chinaunix.net/u1/49088/showart.php?id1279989 工欲善其事,必先利其器。做WinCE驱动的开发已有一段时间了,WinCE驱动调试助手也跟着更新了很多功能。现在只要做驱动&#…

Web应用系统中数据传递的方式汇总

本文转载自sina_blog(siangzhang) 目录 1 Socket方式 2 ftp/文件共享服务器方式 3 数据库共享数据方式 4 message方式 5 案例 随着近年来SOA(面向服务技术架构)的兴起,越来越多的应用系统开始进行分布式的设计和部署。 系统由原来单一…

【转】CT (电子计算机断层扫描)

CT(Computed Tomography),即电子计算机断层扫描,它是利用精确准直的X线束、γ射线、超声波等,与灵敏度极高的探测器一同围绕人体的某一部位作一个接一个的断面扫描,具有扫描速度快,图像清晰等特点,可用于多…

WinCE驱动的动态加载

// //TITLE: // WinCE驱动的动态加载 //AUTHOR: // norains //DATE: // Monday 22- February-2010 //Environment: // WINDOWS CE 5.0 // WinCE驱动的调试,很多人的第一感觉就是:编写好DLL文件,接着在PB中添加相关注册表信息&am…

Linux:chmod命令-修改文件或目录的权限

给新安装的tomcat/bin目录下的所有文件增加执行权限(所有用户、组) chmod -R ax /usr/local/tomcat/bin ------------------------------------------------------------------------------------------------------------------- 关于具体的chmod命令…

获取WinCE已加载驱动的信息

// //TITLE: // WinCE驱动的动态加载 //AUTHOR: // norains //DATE: // Monday 22- February-2010 //Environment: // WINDOWS CE 5.0 // WinCE驱动的调试,很多人的第一感觉就是:编写好DLL文件,接着在PB中添加相关注册表信息&am…

【转】详解冠状面_水平面_矢状面_窗宽_窗位

在接触人工智能医疗方面时,单是学习算法和代码原理还不够,需要一定的医学影像知识储备。 B超、CT、MR等都算是医疗影像,在现实生活中,从医院检查身体后拿到的胶片是处理过后的二维图像。这些医疗影像其实是三维的。 最常见的图片格…