DCMTK学习之读取DcmDataset对应tag的值
前言
最近一直在用DcmDataset提供的方法进行数据的获取,但是很好奇怎么通过tag获取到value的,所以特地研究了一下
研究内容
我们找一份已经被读取出来的二进制的tag以及value来进行分析
0000 0000 0004 0000 0056 0000 从本字段的结束至下一组开始的偶数字节
0000 0001 0004 0000 01A0 0010 从本字段的结束至报文结束的偶数字节
0000 0010 000C 0000 4341 2D52 454E 414D 3120 302E “ACR-NEMA 1.0” 识别码
0000 0100 0002 0000 0001 0001H 命令字段=C-Store-Request
0000 0110 0002 0000 123A 123A 由成像装置生成的报文识别号
0000 0200 0004 0000 4344 3148 “DCH1” 发送者逻辑地址
0000 0300 0004 0000 4341 3148 “ACH1” 接收者逻辑地址
0000 0800 0002 0000 0000 0000H 数据类型=图像
0008 0000 0004 0000 0080 0000
0008 0001 0004 0000 013E 0100
0008 0010 000C 0000 4341 2D52 454E 414D 3120 302E “ACR-NEMA 1.0” 识别码
0008 0020 000A 0000 3032 3230 312E 2E31 3532 “2002.11.25” 分项检查日期
0008 0030 0008 0000 3231 303A 3A35 “12:05:59” 分项检查时间
0008 0040 0002 0000 0000 0000H 数据集类型=图像
0008 0060 0002 0000 5254 “DR” 成像模式
0008 0070 0004 0000 4241 4443 “ABCD” 制造商
0008 0080 000E 0000 454D 4352 2059 4F48 5053 5449 4C41 “Mercy Hospital” 医院识别号
0008 0090 0000 0000 检查医师未知
0010 0000 0004 0000 0042 0000 组长度
0010 0010 000E 0000 4F4A 454E 2C53 4A20 4D49 4320 202E “JONES, Jim C. “ 患者姓名
0010 0020 0008 0000 3031 2D32 3033 2034 “102-304 “ 患者识别号
0010 0030 000A 0000 3931 3632 312E 2E31 3532 “1926.11.25” 患者出生日期
0010 0040 0002 0000 204D “M “ 患者性别=男
0018 0000 0004 0000 0000 0000 组长度为零—无其它元素传送
0020 0000 0004 0000 0018 0000 组长度
0020 0010 0004 0000 3932 3330 “2903” 分项检查号
0020 0020 0004 0000 5C52 2046 “R/F” 患者取向
0028 0000 0004 0000 002C 0000 组长度
0028 0010 0002 0000 0400 0400H 行数=1024
0028 0011 0002 0000 0400 0400H 列数=1024
0028 0030 0006 0000 2E20 5C33 332E “ .3/.3” 像素的实际尺寸=0.3*0.3像素
0028 0100 0002 0000 0008 008H 每个像素指定的位数=8
7FE0 0000 0004 0010 0008 0010 组长度
7FE0 0010 0000 0000 *******…***** 像素数据(524,288字节)
别的不看,我们看这一行吧!
0028 0010 0002 0000 0400 0400H 行数=1024
0028 0011 0002 0000 0400 0400H 列数=1024
这里说行和列都是1024
通过查tag的二进制,可以看出0028 0010是代表的行数,而0028 0011则是代表的是列数,而且如果我们通过计算会发现0400转换成十进制数正是1024。那么中间的两个数字代表的是什么含义,一个代表长度,一个代表类型。
不积跬步无以至千里,不积小流无以成江河。