pydicomでDICOM headerからSOP classを判定

SOP class UIDはDICOM画像を生成してくれた機器の種類を表す値。

具体的にはこんな具合の数字の羅列。

# CT
1.2.840.10008.5.1.4.1.1.2

# MRI
1.2.840.10008.5.1.4.1.1.4

詳しくはNEMAのサイトに一覧があるので参照されたい。

dicom.nema.org

pydicomで簡単にSOP class UIDを扱う

pydicomではSOP class UIDを扱うための関数とクラスが用意されている。これを利用すればより意図が明確なコードが書ける。

import pydicom

dcm_file_path = ''
dcm = pydicom.read_file(dcm_file_path)

uid = pydicom.uid.UID(dcm.SOPClassUID)
# -> '1.2.840.10008.5.1.4.1.1.7'

class_name = uid.name
# -> 'Secondary Capture Image Storage'

公式ドキュメントも参照ください。

pydicom.github.io