DICOM数据信息解析及Pydicom简单处理

本文介绍了DICOM医学图像标准及其包含的Patient、Study、Series和Image四类信息。通过Pydicom库,我们可以解析DICOM文件,理解Data Element的组成部分,并利用其API处理和分析DICOM数据。同时,文章还提及了DICOM TAG和VR(Value Representation)的概念。
部署运行你感兴趣的模型镜像

1、DICOM简介

DICOM(Digital Imaging and Communications in Medicine):医学影像成像和通讯标准。

所有患者的医学图像都以DICOM文件格式存储。这个格式包含关于患者的PHI(Protected Health Information)信息,例如患者姓名,患者性别以及一些医学上的信息。

1、基于DICOM3.0标准,每一张图都携带大量的信息,可以细分为以下四类:
  • Patient
  • Study
  • Series
  • Image

每一项信息都可以用DICOM TAG来标识,DICOM TAG由两个十六进制数组成,即(Group,Element)(之后详细说明)

2、每一项信息被包装成最基本的单元:Data Element(数据元素)。每个Data Element 由四部分组成:
  • DICOM TAG :存储该项信息的标识
  • VR(Value Representation):存储描述该项信息的数据类型
  • value length :存储描述该项信息的数据长度
  • value:存储描述该项信息的数据值

2、Pydicom库处理DICOM数据信息

1、pydicom的API参考
data_element(个人,姓名) 			 #返回与元素关键字name对应的DataElement
dir(自身,\*过滤器)		 	#返回数据集中的DataElement关键字的字符顺序列表
value(自)			     	#返回DICOM标签值以模拟dict

以上只列出了下文会用到的部分,详情请查看Pydicom官网

2、pydicom具体代码(画图需要额外导入库)
import pydicom					#导入所需要的库
import pylab

#读取该dcm文件,两者都可以,亲测有效
ds = pydicom.read_file("dicom/image/000001.dcm") 			
ds = pydicom.dcmread("dicom/image/000001.dcm")   

#查看有哪些属性
print(ds.dir()) 				#查看全部的属性
print(ds.dir("pat"))            #查看带关键字pat的属性

#查看属性对应的具体值
print(ds.PatientName)		#查看PatientName属性对应的具体值,想查看哪个可以直接·出来

#打印完整的数据元素,包括(Group,Element),VR,Value,两种方式都可以
data_element = ds.data_element("PatientID")
print(data_element.tag,data_element.VR,data_element.value)
print(ds.data_element('PatientID'))			

#原始二进制文件
pixel_bytes =ds.PixelData

#像素值矩阵
pix = ds.pixel_array

#打印矩阵维度
print(pix.shape)

#打印dicom图片
pylab.imshow(pix,cmap=pylab.cm.bone)			#cmap 表示 colormap
pylab.show()

将运行的结果和第三部分的分类相结合,可以更好的理解DICOM数据信息!


3、DICOM TAG与VR分类

1、DICOM TAG
  • Patient
    在这里插入图片描述

  • Study
    在这里插入图片描述

  • Series
    在这里插入图片描述

  • Image
    在这里插入图片描述

    2、VR

在这里插入图片描述

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值