dicom文件tag详解
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详解相关推荐
- Pom.xml文件教程详解
原创整理不易,转载请注明出处:史上最全的maven pom.xml文件教程详解 代码下载地址:http://www.zuidaima.com/share/1781583829978112.htm ...
- ADPCM文件解码详解
本文转自:http://hi.baidu.com/sunsee/item/68d61e451921e30ec016134a ADPCM文件解码详解 一.搞了几天终于搞定这个ADPCM解码了,之前找了很 ...
- 基于php下载文件的详解
基于php下载文件的详解 本篇文章是对php下载文件进行了详细的分析介绍,需要的朋友参考下 php下载文件,比如txt文件. 出现的效果就是,弹出浏览器自带的下载框,出现另存为操作.有时候会出现内存溢 ...
- linux文件权限详解
linux文件权限详解 一.文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限: ...
- VMware虚拟机文件夹中各文件作用详解
VMware虚拟机文件夹中各文件作用详解 虚拟机的文件管理由VMware Workstation来执行. 一个虚拟机一般以一系列文件的形式储存在宿主机中, 这些文件一般在由workstation为虚拟 ...
- 每天一个linux命令(2):文件权限详解
Linux文件权限详解 文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允 ...
- java读取本地文件_java 读取本地文件实例详解
java 读取本地文件实例详解 用javax.xml.w3c解析 实例代码: package cn.com.xinli.monitor.utils; import org.w3c.dom.Docume ...
- python生成表格文件_python 读取excel文件生成sql文件实例详解
python 读取excel文件生成sql文件实例详解 学了python这么久,总算是在工作中用到一次.这次是为了从excel文件中读取数据然后写入到数据库中.这个逻辑用java来写的话就太重了,所以 ...
- [转]文件IO详解(二)---文件描述符(fd)和inode号的关系
原文:https://www.cnblogs.com/frank-yxs/p/5925563.html 文件IO详解(二)---文件描述符(fd)和inode号的关系 ---------------- ...
最新文章
- 蛋白质折叠的霰弹枪方法
- 深度学习核心技术精讲100篇(十)-机器学习模型融合之Kaggle如何通过Stacking提升模型性能
- 2016第七届蓝桥杯省赛C/C++ B组试题解析整理
- 抽象类中不能有private的成员_【java基础】-- java接口和抽象类的异同分析
- leetcode python3 简单题110. Balanced Binary Tree
- kindeditor 文件上传在 spring mvc下的使用
- 全国首个NB-IoT规模化商用 - BC95模块
- 手把手教你在 SpringBoot 自定义参数解析器
- sqlite并发访问
- 交换机上网显示本地未连接服务器,本地连接提示受限制或无连接,处理思路?...
- Latex论文复杂组合图片设计
- python语言设计二级教程答案2019_全国计算机等级考试二级教程2019年版——Python语言程序设计参考答案...
- Maya XGen 毛发制作3 - 创建发块
- 信息平台课件服务器,《CDN平台介绍v》PPT课件.ppt
- ARM芯片tops的计算方法
- 微信推出图片“大爆炸”功能:长按图片可快速提取文字!
- 第一次来大姨妈,好酸爽!1
- [Vue warn]: Failed to resolve component:XXX
- 专业名词解析(待更新)
- [LINUX] 搭建日志服务器