pydicomを用いてDICOM RTを解析するときのツール群です。
以下の方法で変数ct
に3次元Volumeを読み込みます。
from pydicom_tools import CTImage
ct = CTImage()
ct.load(path_to_ct)
以下の方法でDRRを生成します。 DRRの作成にはITKが必要です。事前にpipなどでインストールしてください。
pip install itk
from pydicom_tools import DRR
drr = DRR(ct, beam, size)
ct
はCTImage
クラスのインスタンス、beam
はBeamSequenceのオブジェクト、
size
はDRRのmm単位のサイズです。
以下の方法でRT Structure Setを読み込みます。
from pydicom_toos import RTSS
ss = RTSS('path/to/rtss')
# 輪郭名一覧を表示
print(ss.structures)
# z座標をkeyとする輪郭点座標の辞書へアクセス
points = ss.points['Structure Name']
# z座標をkeyとするmatplotlib.path.Pathクラスのオブジェクトへアクセス
paths = ss.paths['Structure Name']
# 輪郭の体積を計算
volume = ss.calc_volume('Structure Name')
以下の方法でRT Doseを読み込みます。
from pydicom_tools import Dose
dose_data = Dose('path/to/dose')
# 3次元線量分布
dose = dose_data.dose
# z = 0 [mm] の axial断面取り出し
dose_ax = dose_data.get_2d_plane(0, axis='axial')
# (x, y, z) = (0, 0, 0) [mm] の点線量の取り出し
dose_point = dose_data.get_point_dose([0, 0, 0])