Skip to content

pydicomを用いてDICOM RT解析するときのツール

License

Notifications You must be signed in to change notification settings

wkt84/pydicom-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pydicom tools

pydicomを用いてDICOM RTを解析するときのツール群です。

3次元CTデータの構築

以下の方法で変数ctに3次元Volumeを読み込みます。

from pydicom_tools import CTImage
ct = CTImage()
ct.load(path_to_ct)

DRRの生成

以下の方法でDRRを生成します。 DRRの作成にはITKが必要です。事前にpipなどでインストールしてください。

pip install itk
from pydicom_tools import DRR
drr = DRR(ct, beam, size)

ctCTImageクラスのインスタンス、beamはBeamSequenceのオブジェクト、 sizeはDRRのmm単位のサイズです。

RT Structure Setの読み込み

以下の方法で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の読み込み

以下の方法で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])

About

pydicomを用いてDICOM RT解析するときのツール

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages