如何读取dicom中的数据

如何读取dicom中的数据,第1张

读取dicom中的数据,参考如下:

·info=dicominfo(filename)从指定的DICOM文件中读取元数据信息。

字符串参量filename为DICOM文件名;

·info=dicominfo(filename,'dictionaiy',D)

使用DICOM数据目录文件D从指定的DICOM文件filename中读取元数据信息。

本章将结合开源项目 IMBRA 讲解如何解析一个DCM文件

文件开头会有128字节的导言,这部分数据没有内容。接着是4字节DICOM文件标识,存储这"DICM"。然后紧接着就是dicom数据数据元素了

旧版本的DCM文件会在开头8个字节验证签名,在读完128字节后,读取4个字节验证DICOM标识。

接下来开始读取数据元素了,现读取两个字节的tagId,并且验证大小端。

dicom的数据元素的tagId是从大到小的读取的,而最小的tagId就是从0x0002,当tagId不是0x0002说明已经读取完所以关于0x0002的tagId。从中找出(0002,0010)的tag,这个tag设置当前数据是否大端格式,显示VR编码还是隐式VR编码。 "1.2.840.10008.1.2.2" 表示大端格式, 1.2.840.10008.1.2 表示隐式编码。

显示编码解析 取先获取VR 再获取长度 最后获取值

隐式编码解析

%%%如果你是matlab程序读取 那么就是这样

info=dicominfo('F:\DICOM图像\CT01\0010_000032_1.3.12.2.1107.5.1.1.21118.20110421193041171.4.0.1')img=dicomread(info)

figure,imshow(img,'DisplayRange',[])

但是和DICOM浏览器读取有区别的 区别在于:那些数字就是DICOM的精华所在了,因为一般图像只有图像,而DICOM文件中则包含了图像的相关信息,如病人性别姓名,年龄,医院,图像类型(CT等),仪器制造公司(西门子等),拍片的日期时间等

打字不易,如满意,望采纳。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11412437.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存