2
1

More than 1 year has passed since last update.

【DICOM】DICOM画像を.jpg/.pngファイルとして書き出し、保存する

Last updated at Posted at 2022-04-08

1. Pillowをインストールする

$ pip install Pillow

2. ファイルに書き出し、保存する

png形式で保存したい場合は、拡張子を .png にしてください。

sample.py
import pydicom
from PIL import Image

# dicomファイルを読み込む
file = pydicom.dcmread('ファイルパス')
# 画像処理
img = file.pixel_array
pil_img = Image.fromarray(img)
# 保存したい場所、ファイル名を引数に設定
pil_img.save('ファイルパス/original_dcm.jpg')

3. 補足

■ TypeError: Cannot handle this data type

ndarrayのデータ型がdtypeやfloatの場合はエラーになることがあります。この場合、unit8に変換すると解決します。

sample.py
import numpy as np 

pil_img = Image.fromarray(img[0].astype(np.uint8))
pil_img.save('ファイルパス/original_dcm.jpg')

■ DICOMファイルにRGBが欠けている場合

sample.py
pil_img = Image.fromarray(img)
new_pil_img = pil_img.convert('RGB')
new_pil_img.save('ファイルパス/original_dcm.jpg')

■ DICOMファイルにNumberOfFramesタグが欠けている場合

pixel_arrayを取り出す前に以下を実行します。

sample.py
file = pydicom.dcmread('filepath')
file.NumberOfFrames = '31'
file.PixelData = file.PixelData * 31
img = file.pixel_array

pil_img = Image.fromarray(img)
pil_img.save('ファイルパス/original_dcm.jpg')
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1