dicom文件tag详解

Dicom全称是医学数字图像与通讯,这里讲diocm格式文件的tag标记做详细解读。
dicom中文协议文档:http://download.csdn.net/download/wenzhi20102321/9897014

dicom文件结构:

dicom文件,整体结构先是128字节所谓的导言部分,跳过就是了,然后是dataElement元素依次排列的方式, 就是一个dataElement接一个dataElement的方式排到文件结尾.我们要读取dicom里面的各种数据就是在各个数据元素中。通俗的讲dataElement就是指tag,就是破Dicom标准里定义的数据字典,每个dataElement中的tag决定自身或整个文件的某些数据类型或自身dataElement内容类别。

标记tag(2字节UInt16分组号和2字节UInt16元素号);

tag是4个字节表示的 前两字节是组号后两字节是元素号 比如0008(组号) 0018(元素号)。
我们获取dicom里面的数据,就是根据tag,来知道这个dataElement里面是否是我们需要的数据,然后读取该dataElement里面的数据。

一般我们获取dataElement中的数据的主要组号

0002组描述设备通讯,0008组描述特征参数,0010组描述患者信息,0028组描述图像信息参数
根据这些组号,我们大概就知道这个组的tag里面存放什么数据了吧!
还是有很多其他组号的,但是里面的数据不常用到,tag总共大约有2000个,但是我们常用的数据就那么几个!

dicom文件数据中所有dataElement从前到后按tag又可简单分段:文件元tag,普通tag,像素tag。

1.文件元tag(组号+0000):不受传输语法影响,总是以显示VR方式表示,因为它里面就定义了传输语法;文件元tag的dataElement,并没有多大的意义,它的VF数值是整个组所有dataElement的字节长度,一个dicom中可以只有一个文件元tag,也可以有多个文件元tag。

2.普通tag:除了文件元tag和像素tag,其余的都是普tag数据。包括:图像宽,高,数据传输格式,病人姓名,病人生日,病历医院,病历科室,病情的描述等等数据;

3.像素tag(7fe0,0010):表示dataElement存储的是病历的图像数据。

上面这段话,信息量其实是很多的,比如什么是显示VR、隐式VR,传输语法又是怎么回事?

最关键的两个tag:

1.tag:0002,0010,决定普通tag的读取方式 little字节序还是big字节序,隐式VR还是显示VR。由它的值决定

2.tag:7fe0,0010,像素数据开始处

使用工具snate DICOM打开dicom文件,查看数据效果:


工具下载地址,下载后直接用:http://download.csdn.net/download/wenzhi20102321/9895616
上面图片每一行数据就是一个dataElement数据,可以看到tag值,VR值,VL值,VF值。
但是一般工具也是看不到图像的tag数据,因为他的VF数据有几万个字节,怎么显示!
上面可以看到tag的组号和元素号,都是按照顺序从小到大的顺序排列的,dicom中dataElement也是这样排列的。
所以dicom文件都是前面先读取到很多数据,最后面再读取图像的字节数据。

下面是一部分重要的tag展示:

Patient Tag

Group(组号) Element(元素号) Tag Description 中文解释 VR
0010 0010 Patient’s Name 患者姓名 PN
0010 0020 P1atient ID患者ID LO
0010 0030 Patient’s Birth Date 患者出生日期 DA
0010 0032 Patient’s Birth Time 患者出生时间 TM
0010 0040 Patient’s Sex 患者性别 CS
0010 1030 Patient’s Weight 患者体重 DS
0010 21C0 Pregnancy Status 怀孕状态 US

Study Tag

Group Elemen Tag Description 中文解释 VR
0008 0050 Accession Number:A RIS generated number that identifies the order for the Study. 检查号:RIS的生成序号,用以标识做检查的次序. SH
0020 0010 Study ID 检查ID. SH
0020 000D Study Instance UID: Unique identifier for the Study. 检查实例号:唯一标记不同检查的号码. UI
0008 0020 Study Date: Date the Study started. 检查日期:检查开始的日期. DA
0008 0030 Study Time:Time the Study started. 检查时间:检查开始的时间. TM
0008 0061 Modalities in Study 一个检查中含有的不同检查类型. CS
0008 0015 Body Part Examined 检查的部位. CS
0008 1030 Study Description 检查的描述. LO
0010 1010 Patient’s Age 做检查时刻的患者年龄,而不是此刻患者的真实年龄. AS

Series Tag

Group Element Tag Description 中文解释 VR
0020 0011 Series Number:A number that identifies this Series. 序列号:识别不同检查的号. IS
0020 000E Series Instance UID:Unique identifier for the Series. 序列实例号:唯一标记不同序列的号码. UI
0008 0060 Modality 检查模态(MRI/CT/CR/DR) CS
0008 103E Series Description 检查描述和说明 LO
0008 0021 Series Date 检查日期 DA
0008 0031 Series Time 检查时间 TM
0020 0032 Image Position (Patient):The x, y and z coordinates of the upper left hand corner of the image, in mm. 图像位置:图像的左上角在空间坐标系中的x,y,z坐标,单位是毫米.如果在检查中,则指该序列中第一张影像左上角的坐标. DS
0020 0037 Image Orientation (Patient):The direction cosines of the first row and the first column with respect to the patient. 图像方位 DS
0018 0050 Slice Thickness:Nominal slice thickness, in mm. 层厚. DS
0018 0088 Spacing Between Slices 层与层之间的间距,单位为mm DS
0020 1041 Slice Location:Relative position of exposure expressed in mm. 实际的相对位置,单位为mm. DS
0018 0023 MR Acquisition 收购者 CS
0018 0015 Body Part Examined 身体部位. CS

Image Tag

Group Element Tag Description 中文解释 VR
0008 0008 Image Type:Image identification characteristics. CS
0008 0018 SOP Instance UID SOP实例 UID.
0008 0023 Content Date:The date the image pixel data creation started. 影像拍摄的日期. DA
0008 0033 Content Time 影像拍摄的时间. TM
0020 0013 Image/Instance Number:A number that identifies this image. 图像码:辨识图像的号码. IS
0028 0002 Samples Per Pixel:Number of samples (planes) in this image. 图像上的采样率. US
0028 0004 Photometric Interpretation:Specifies the intended interpretation of the pixel data. 光度计的解释,对于CT图像,用两个枚举值MONOCHROME1,MONOCHROME2.用来判断图像是否是彩色的,MONOCHROME1/2是灰度图, RGB则是真彩色图,还有其他. CS
0028 0010 Rows: Number of rows in the image. 图像的总行数,行分辨率. US
0028 0011 Columns: Number of columns in the image. 图像的总列数,列分辨率. US
0028 0030 Pixel Spacing:Physical distance in the patient between the center of each pixel. 像素间距.像素中心之间的物理间距. DS
0028 0100 Bits Allocated:Number of bits allocated for each pixel sample. Each sample shall have the same number of bits allocated. 分配的位数:存储每一个像素值时分配的位数,每一个样本应该拥有相同的这个值. US
0028 0101 Bits Stored:Number of bits stored for each pixel sample. Each sample shall have the same number of bits stored 存储的位数:有12到16列举值.存储每一个像素用的位数.每一个样本应该有相同值. US
0028 0102 High Bit:Most significant bit for pixel sample data. Each sample shall have the same high bit. 高位. US
0028 0103 Pixel Representation:Data representation of the pixel samples. Each sample shall have the same pixel representation.Enum: 0000H=unsigned integer,0001H=2’s omplement. 像素数据的表现类型:这是一个枚举值,分别为十六进制数0000和0001.0000H = 无符号整数,0001H = 2的补码. US
0028 1050 Window Center 窗位. DS
0028 1051 Window Width 窗宽. DS
0028 1052 Rescale Intercept:The value b in relationship between stored values (SV) and the output units.Output units = m*SV + b.Required if Modality LUT Sequence (0028, 0030) is not present. 截距:如果表明不同模态的LUT颜色对应表不存在时,则使用方程Units = m*SV + b,计算真实的像素值到呈现像素值。其中这个值为表达式中的b。 DS
0028 1053 Rescale Slope:m in the equation specified by Rescale Intercept (0028,1052).Required if Rescale Intercept is present. 斜率.这个值为表达式中的m。 DS
0028 1054 Rescale Type:Specifies the output units of Rescale Slope (0028,1053) and Rescale Intercept (0028,1052).Enum: US=Unspecified Requried if Photometric Interpretation is MONOCHROME2, and Bits Stored is greater than 1.This specifies an identity Modality LUT transformation. 输出值的单位.这是一个枚举值, LO

所有dicom的tag列表(英文版):http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/DICOM.html
看了这些tag,应该对dicom文件有了更多了了解吧。
关于VR的详细知识,可以看我详细介绍VR的博客页面。
其实这些数据用得并不多,一般就用到病人的姓名,病人ID,医院,科室,还有设置图像要用到图形的窗位和窗宽。

dicom传输的相关知识也只能介绍到这里,很多知识还没有理解透彻,只是把这些知识罗列出来,给大家参考一下!

dicom文件解析知识的其他地址:

1.dicom文件详解

http://blog.csdn.net/wenzhi20102321/article/details/75127362

2.dicom文件的值类型VR详解

http://blog.csdn.net/wenzhi20102321/article/details/75127140

3.dicom文件tag详解

http://blog.csdn.net/wenzhi20102321/article/details/75127101

4.android 解析并显示dicom文件的数据和图像

http://blog.csdn.net/wenzhi20102321/article/details/75040225

5.java代码使用ImageJ解析dicom文件成图片

http://blog.csdn.net/wenzhi20102321/article/details/74995084

前面5个是我自己写的,后面是一些我自己看过的相关资料:

6.Dicom文件解析

http://blog.csdn.net/leaf6094189/article/details/8510325

7.使用dcm4che3获取Dicom的bmp格式缩略图

http://blog.csdn.net/Kerrigeng/article/details/60866656

8.使用dcm4che3解析DICOM中,中文乱码问题

http://blog.csdn.net/Kerrigeng/article/details/53942846

9.使用dcm4che3对jpeg压缩的dcm文件进行解压

http://blog.csdn.net/Kerrigeng/article/details/62215647

10.DICOM的常用Tag分类和说明

http://www.cnblogs.com/stephen2014/p/4579443.html

11.dicom的大牛zssure的博客,几十篇文章

http://blog.csdn.net/zssureqh/article/category/1389985

12.dicom协议中文文档下载

http://download.csdn.net/detail/wenzhi20102321/9897014

13.Sante DICOM Editor 4,查看dicom文件的工具,直接打开用

http://download.csdn.net/detail/wenzhi20102321/9895616

共勉:其实我们都可以认为,世界都是“我”的!

dicom文件tag详解相关推荐

  1. Pom.xml文件教程详解

    原创整理不易,转载请注明出处:史上最全的maven pom.xml文件教程详解 代码下载地址:http://www.zuidaima.com/share/1781583829978112.htm   ...

  2. ADPCM文件解码详解

    本文转自:http://hi.baidu.com/sunsee/item/68d61e451921e30ec016134a ADPCM文件解码详解 一.搞了几天终于搞定这个ADPCM解码了,之前找了很 ...

  3. 基于php下载文件的详解

    基于php下载文件的详解 本篇文章是对php下载文件进行了详细的分析介绍,需要的朋友参考下 php下载文件,比如txt文件. 出现的效果就是,弹出浏览器自带的下载框,出现另存为操作.有时候会出现内存溢 ...

  4. linux文件权限详解

    linux文件权限详解 一.文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限: ...

  5. VMware虚拟机文件夹中各文件作用详解

    VMware虚拟机文件夹中各文件作用详解 虚拟机的文件管理由VMware Workstation来执行. 一个虚拟机一般以一系列文件的形式储存在宿主机中, 这些文件一般在由workstation为虚拟 ...

  6. 每天一个linux命令(2):文件权限详解

    Linux文件权限详解 文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允 ...

  7. java读取本地文件_java 读取本地文件实例详解

    java 读取本地文件实例详解 用javax.xml.w3c解析 实例代码: package cn.com.xinli.monitor.utils; import org.w3c.dom.Docume ...

  8. python生成表格文件_python 读取excel文件生成sql文件实例详解

    python 读取excel文件生成sql文件实例详解 学了python这么久,总算是在工作中用到一次.这次是为了从excel文件中读取数据然后写入到数据库中.这个逻辑用java来写的话就太重了,所以 ...

  9. [转]文件IO详解(二)---文件描述符(fd)和inode号的关系

    原文:https://www.cnblogs.com/frank-yxs/p/5925563.html 文件IO详解(二)---文件描述符(fd)和inode号的关系 ---------------- ...

最新文章

  1. 蛋白质折叠的霰弹枪方法
  2. 深度学习核心技术精讲100篇(十)-机器学习模型融合之Kaggle如何通过Stacking提升模型性能
  3. 2016第七届蓝桥杯省赛C/C++ B组试题解析整理
  4. 抽象类中不能有private的成员_【java基础】-- java接口和抽象类的异同分析
  5. leetcode python3 简单题110. Balanced Binary Tree
  6. kindeditor 文件上传在 spring mvc下的使用
  7. 全国首个NB-IoT规模化商用 - BC95模块
  8. 手把手教你在 SpringBoot 自定义参数解析器
  9. sqlite并发访问
  10. 交换机上网显示本地未连接服务器,本地连接提示受限制或无连接,处理思路?...
  11. Latex论文复杂组合图片设计
  12. python语言设计二级教程答案2019_全国计算机等级考试二级教程2019年版——Python语言程序设计参考答案...
  13. Maya XGen 毛发制作3 - 创建发块
  14. 信息平台课件服务器,《CDN平台介绍v》PPT课件.ppt
  15. ARM芯片tops的计算方法
  16. 微信推出图片“大爆炸”功能:长按图片可快速提取文字!
  17. 第一次来大姨妈,好酸爽!1
  18. [Vue warn]: Failed to resolve component:XXX
  19. 专业名词解析(待更新)
  20. [LINUX] 搭建日志服务器

热门文章

  1. python api文档管理工具_开源的api文档管理系统
  2. 【weex】h5weex-example
  3. 神经网络的可解释性综述【A Survey on Neural Network Interpretability】
  4. 输入一段字符,统计一段字符串中大小写字母的个数
  5. 偶然获得京东内推,四面之后成功拿下offer
  6. 南方cass使用体会
  7. 不仅仅是一把瑞士军刀 —— Apifox的野望和不足
  8. 微信公众号项目开发笔记 一
  9. hbs模块 mysql_让koa-hbs模块支持koa2
  10. DB2 error 289