python 读取DICOM头文件的实例


本文摘自php中文网,作者不言,侵删。

这篇文章主要介绍了关于python 读取DICOM头文件的实例,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

用dicompyler软件打开dicom图像,头文件如图所示:

当然也可以直接读取:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

ds = dicom.read_file('H:\Data\data\\21662\\2.16.840.1.113662.2.0.105002416.1489146183.701\CT\\CT#0#21662#E7AB693D.dcm')

print ds

>>

(0008, 0008) Image Type       CS: ['ORIGINAL', 'SECONDARY', 'AXIAL']

(0008, 0016) SOP Class UID      UI: CT Image Storage

(0008, 0018) SOP Instance UID     UI: 2.16.840.1.113662.2.0.105002416.1489146183.501.0

(0008, 0020) Study Date       DA: '20170310'

(0008, 0021) Series Date       DA: '20170310'

(0008, 0023) Content Date      DA: '20060505'

(0008, 0030) Study Time       TM: '1942'

(0008, 0031) Series Time       TM: '1942'

(0008, 0033) Content Time      TM: ''

(0008, 0050) Accession Number     SH: '63071'

(0008, 0060) Modality       CS: 'CT'

(0008, 0070) Manufacturer      LO: 'NOMOS'

(0008, 0090) Referring Physician's Name   PN: ''

(0008, 1010) Station Name      SH: ''

(0008, 1090) Manufacturer's Model Name   LO: 'CORVUS 6.4'

(0010, 0010) Patient's Name      PN: '*M32-2^CHENJUN^^^'

(0010, 0020) Patient ID       LO: '21662'

(0010, 0030) Patient's Birth Date    DA: ''

(0010, 0040) Patient's Sex      CS: ''

(0018, 0050) Slice Thickness      DS: '4.75'

(0018, 0060) KVP         DS: '0'

(0018, 1020) Software Version(s)     LO: 'CORVUS 6.4'

(0018, 5100) Patient Position     CS: 'HFS'

(0020, 000d) Study Instance UID     UI: 2.16.840.1.113662.2.0.105002416.1489146183.701

(0020, 000e) Series Instance UID     UI: 2.16.840.1.113662.2.0.105002416.1489146183.501

(0020, 0010) Study ID       SH: '63071'

(0020, 0011) Series Number      IS: '0'

(0020, 0012) Acquisition Number     IS: '0'

(0020, 0013) Instance Number      IS: '0'

(0020, 0020) Patient Orientation     CS: ['L', 'P']

(0020, 0032) Image Position (Patient)   DS: ['0.73437356948853', '0', '3.25']

(0020, 0037) Image Orientation (Patient)   DS: ['1', '0', '0', '0', '1', '0']

(0020, 0052) Frame of Reference UID    UI: 2.16.840.1.113662.2.0.105002416.1489146183.601

(0020, 0060) Laterality       CS: ''

(0020, 1040) Position Reference Indicator  LO: ''

(0020, 1041) Slice Location      DS: '3.25'

(0028, 0002) Samples per Pixel     US: 1

(0028, 0004) Photometric Interpretation   CS: 'MONOCHROME2'

(0028, 0010) Rows        US: 330

(0028, 0011) Columns        US: 339

(0028, 0030) Pixel Spacing      DS: ['0.734375', '0.734375']

(0028, 0100) Bits Allocated      US: 16

(0028, 0101) Bits Stored       US: 12

(0028, 0102) High Bit       US: 11

(0028, 0103) Pixel Representation    US: 0

(0028, 1052) Rescale Intercept     DS: '-1024'

(0028, 1053) Rescale Slope      DS: '1'

(7fe0, 0010) Pixel Data

发现一套图的第一张和最后一张的Slice Thickness往往和中间层的值是不同的。

1

2

3

Path = 'H:\Data\data\\21662\\2.16.840.1.113662.2.0.105002416.1489146183.701\CT\\a.dcm'

slices = dicom.read_file(path)

spacing = slices.PixelSpacing

读取头文件信息方法:

Slices.上图头文件中的name列。

这时要注意的是,name大小写不变,去掉空格,去掉符号,比如括号。

举例:

1

2

3

origin = slices.SoftwareVersions

print origin

>>CORVUS 6.4

1

2

3

spacing = slices[1].PixelSpacing

print spacing

>>['0.734375', '0.734375']

相关推荐:

python读取文件名称生成list的方法

以上就是python 读取DICOM头文件的实例的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python实现按当前日期(年、月、日)创建多级目录的方法

Python是面向对象的语言吗

深入分析Python的多重继承

通过游戏闯关来测试自己的Python掌握能力

如何用Python实现微信消息防撤回

Python学来干什么

如何搭建Python环境

Python怎么读?

Python内置的pickle库的对象序列化与反序列化

Python中类的创建与使用的实现代码详解

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...