surgのブログ

日々のネタ忘備録。勉強用。R初心者。切ったり縫ったりする人。

DICOMをいじる必要に迫られてのPython

先日、oro.dicomというR packageをinstallしてみたのだが、あんまりうまく運用できなかった。
しかし、タグをいじる必要性がぐいぐい迫ってきたので、
Rを置いといてPythonでやってみることにした。Pydicomを使用。
あんまりPython使ったことないけど、結局必要に迫られないと使わない悲しい性。
私はAnacondaで入れてました。

DICOMについては、下記も参照。

一般社団法人 日本画像医療システム工業会【JIRA】:DICOMの世界

インストールは下記。当方Windows

pip install pydicom

で、DICOMの世界のサイトでも、どこでもいいんですが、
DICOMファイルを(とりあえずシリーズではなく1個)引っ張ってきます。
それで、それをカレントディレクトリに置いておきます。

ここ以降はインタプリタで。

import dicom
dcm = dicom.read_file('test.dcm')
print(dcm.Modality)

とすると、MRと出ます。
ファイルによってCRとかCTとかMGとか色々あるでしょうね。

print(dcm)

としたら、全てのタグ情報が出てきます。

  • Patient's name
  • Institution Name
  • Manufacturer
  • Study date
  • Acquisition date

などなど、いくらでもあります。
これをどういじっていくかはおいおいやってきましょう。

画像の表示には、matplotlibを使うとよい模様。

import matplotlib.pyplot as plt
import pylab
dr = dicom.read_file("test.dcm")
im = dr.pixel_array
plt.imshow(im, cmap=pylab.cm.bone)
plt.show() 

で下記が表示されました。

f:id:surg:20171223142622p:plain

他の、MG(マンモグラフィ)の画像なども同様にして表示できました。
CR画像のほうがdcmファイルとして重いんですね。

f:id:surg:20171223143122p:plain

白黒反転させたければ、

plt.imshow(im, cmap=pylab.cm.binary)

でいけます。