pyDicom基本使用操作dicom文件

dicom文件前面已经介绍,那么我们需要读和写文件信息,我发现python中有pydicom这个好用的库,可以帮助我们方便的操作,据说比java的会方便很多。

pydicom的网站里面介绍的比较详细 https://pydicom.github.io/,还有其他的模块Pynetdicom和Deid,网络方面的目前没用到不了解。

这里先写一个小的demo,就是读取当前目录的一个rtplan.dcm(其实这是我从dicom库from pydicom.data import get_testdata_files中取出来的),然后打出这个病人的名字,并且修改了病人的名字,将文件另存为newrtplan.dcm。

dfbecdf3f70ac655a27893112f1f92036db.jpg

我们可以看到在debug模式下,看到ds都有哪一些信息,这样我们可以很方便的读取tag信息,可以使用名称的方式,比如上面的PatientName

e230e85fc0d2ef248e0b84ecb198fde89c1.jpg

当然我们还可以使用下面的写法,都是使用编号比如PatientName是0010,0010,我们可以使用以下的两种方式都可以

8326a4f6f4aaa7764e68a069df36a8094df.jpg

当然在处理前要先判断属性是否存在,可以使用如下方式,但是个人还是使用的hasattr(ds,'')的方式

08735ccb5fa2f63a9b90a5ab995eda0e0cc.jpg

当然我们还可以删除某一个tag,可以使用如下的两种方式

f4716b9500e646b2ebfd47662efc4fd8838.jpg

删除了,我还是要把数据加回去的,可以使用ds.add_new

61b0a82144065a203fc25a83ee539106bcd.jpg

这里对数据tag的增删改查已经集齐了,未完待续!

最后从官网截取一张安装方式,如果是使用python语言的应该比较清楚,不像我这种小白,一般使用编译器也会有提示的,

389aafd197e6427c66f4bab10dd5513565a.jpg

 

 

 

转载于:https://my.oschina.net/u/2277632/blog/3092703

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pydicom包中,可以使用`Dataset`类来存储和访问DICOM文件中的数据。该类的实例可以看作是一个字典,其中DICOM文件中的每个元素都有一个唯一的标签号(tag),可以用tag来访问该元素的值。 DICOM文件中包含的患者信息通常存储在以下几个元素中: - `PatientName`:患者姓名 - `PatientID`:患者ID号 - `PatientBirthDate`:患者出生日期 - `PatientSex`:患者性别 - `PatientAge`:患者年龄 - `PatientWeight`:患者体重 - `PatientSize`:患者身高 下面是一个使用pydicom包读取DICOM文件中患者信息的示例代码: ```python import pydicom # 读取DICOM文件 ds = pydicom.dcmread('example.dicom') # 获取患者姓名 patient_name = ds.PatientName # 获取患者ID号 patient_id = ds.PatientID # 获取患者出生日期 patient_birth_date = ds.PatientBirthDate # 获取患者性别 patient_sex = ds.PatientSex # 获取患者年龄 patient_age = ds.PatientAge # 获取患者体重 patient_weight = ds.PatientWeight # 获取患者身高 patient_size = ds.PatientSize # 输出患者信息 print("Patient Name: ", patient_name) print("Patient ID: ", patient_id) print("Patient Birth Date: ", patient_birth_date) print("Patient Sex: ", patient_sex) print("Patient Age: ", patient_age) print("Patient Weight: ", patient_weight) print("Patient Size: ", patient_size) ``` 需要注意的是,以上代码中的变量`ds`是一个`Dataset`类的实例,可以通过tag来访问DICOM文件中的任何元素。如果要访问其他患者信息元素,只需要知道其对应的tag号即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值