pydicom

mkdir pydicomdir
cd pydicomdir
git clone "https://github.com/darcymason/pydicom"
cd pydicom
python setup.py install
  • pythonから使う(numpyは入っていたものとする)
python
  • として、pydicomについてくる"CT_small.dcm"ファイル(/pydicom/tests/test_files/CT_small.dcm)を以下のように読み込めば
import numpy
import pydicom
ds = ds=pydicom.read_file("MR_small.dcm")
ds
ds.PixelData
ds.pixel_array
  • のようにpythonのデータオブジェクトになっている
  • pixel_arrayの中身を書き換えれば書き換わる。ただし、それをds.PixelDataというString形式に変えて納めなおしたうえで、別のdcmファイルとして保存する必要がある
>>> for n,val in enumerate(ds.pixel_array.flat): # example: zero anything < 300
...     if val < 300:
...         ds.pixel_array.flat[n]=0
>>> ds.PixelData = ds.pixel_array.tostring()
>>> ds.save_as("newfilename.dcm")
  • ヘッダの書き換えをしようと思ったらのようにすればよい
>>> ds.StudyID
'1CT1'
>>> ds.StudyID = '2ct2'
>>> ds.save_as("new2.dcm")
>>> dsnew3 = pydicom.read_file("new2.dcm")
>>> dsnew3.StudyID
'2ct2'
>>>
  • こちらにやり方
  • numpyアレイから新たにdicomファイルを作るには→こちら