Multi-Purpose Particle and Heavy Ion Transport code System

Slides:



Advertisements
Similar presentations
P HI T S 陽子ビームで雪だるまを溶かそう Multi-Purpose Particle and Heavy Ion Transport code System title 年 3 月改訂.
Advertisements

EGS5 の導入 KEK 波戸芳仁 Last modified on 例題1 ベータ線を物質に打ち込 む ベータ線は物質で止まってしまうか?通 り抜けるか? 物質の内部でどのような反応が起こる か? ベータ線.
ユーザーコードの導入 2010 年 7 月 20 日 KEK 波戸. 例題1 ベータ線を物質に打ち込 む ベータ線 ベータ線は物質で止まってしまうか?通り抜けるか? 物質の内部でどのような反応が起こるか?
P HI T S α 線, β 線, γ 線,中性子線を止めるに は? Multi-Purpose Particle and Heavy Ion Transport code System title 年 5 月改訂.
P HI T S PSFC4PHITS の使い方 Multi-Purpose Particle and Heavy Ion Transport code System Title 年 2 月改訂.
P HI T S スクリプト言語を用いた PHITS の連続 実行 Multi-Purpose Particle and Heavy Ion Transport code System title 年 2 月改訂.
計算効率を上げるためのvariance reduction(粒子のウェイト)の利用
実習1:コマンドシェルの使い方.
ボクセルファントムを用いた X線治療のシミュレーション
PHITS 講習会 基礎実習(III): 計算条件の設定
Multi-Purpose Particle and Heavy Ion Transport code System
Multi-Purpose Particle and Heavy Ion Transport code System
Macユーザーの方:データ転送 ターミナル使用.
PHITS講習会 基礎実習(I): 体系及び線源の定義
PHITS講習会 基礎実習(II): Tally(タリー)の定義
Fortran と有限差分法の 入門の入門の…
強度変調回転放射線治療(VMAT)の シミュレーション
Multi-Purpose Particle and Heavy Ion Transport code System
Multi-Purpose Particle and Heavy Ion Transport code System
プログラミング入門 電卓番外編 ~エクセルで関数表示~.
DICOM医療画像を使用したPHITSシミュレーション
実習問題の解き方 JIS3-2の場合.
Multi-Purpose Particle and Heavy Ion Transport code System
Multi-Purpose Particle and Heavy Ion Transport code System
Multi-Purpose Particle and Heavy Ion Transport code System
放射能計算の基礎と DCHAIN-SPの応用実習
Multi-Purpose Particle and Heavy Ion Transport code System
PHITSによるX線治療シミュレーション 基本操作復習編
ParaViewを用いたPHITS 計算結果の3次元表示
EGSに対応した粒子軌跡と 計算体系の3次元表示ソフト - CGVIEW -
基礎プログラミング (第五回) 担当者: 伊藤誠 (量子多体物理研究室) 内容: 1. 先週のおさらいと続き (実習)
軌跡とジオメトリー表示プログラム CGVIEW(Ver2.2)の改良
数値計算及び実習 第7回 プログラミングの基礎(5).
Irradiated Polarized Target
スクリプト言語を用いたPHITSの連続実行
PHITS 講習会 基礎実習(III): 計算条件の設定
Multi-Purpose Particle and Heavy Ion Transport code System
誘導放射能の評価方法: PHITSとDCHAIN-SPの接続計算
α線,β線,γ線,中性子線を止めるには?
計算効率を上げるためのvariance reduction(粒子のウェイト)の利用 A
平山 英夫、波戸 芳仁 KEK, 高エネルギー加速器研究機構
X線CTにおけるファントム中の エネルギー変化についての検討
Multi-Purpose Particle and Heavy Ion Transport code System
前立腺腫瘍のVmatにおけるGafchromic film EBT3を 用いた線量検証
応用実習用資料 Environmental radioactivity
計算効率を上げるためのvariance reduction(粒子のウェイト)の利用 A
KEK 平山、波戸 SSL 杉田 テキスト:naicgv.pdfおよびphantomcgv.pdfの1-3ページ
PHITS 講習会 基礎実習(III): 計算条件の設定
応用実習用資料 Neutron target
IAEA phase space fileを用いた X線治療シミュレーション
実習問題の解き方 JIS3-3の場合.
原子核物理学 第2講 原子核の電荷密度分布.
Multi-Purpose Particle and Heavy Ion Transport code System
Multi-Purpose Particle and Heavy Ion Transport code System
Multi-Purpose Particle and Heavy Ion Transport code System
EGSに対応した粒子軌跡と 計算体系の3次元表示ソフト - CGVIEW -
UNIX演習 情報ネットワーク特論.
Multi-Purpose Particle and Heavy Ion Transport code System
Multi-Purpose Particle and Heavy Ion Transport code System
ユーザーコードに記述する事項の概要 2009年7月30日 KEK 波戸芳仁.
Multi-Purpose Particle and Heavy Ion Transport code System
C言語 はじめに 2016年 吉田研究室.
KEK 平山、波戸 テキスト:naicgv.pdfおよびphantomcgv.pdfの1-3ページ
「鳥を呼ぶ窓」 簡易操作マニュアル start 設置&起動(2p参照) A:サイズ+1 S:サイズ+10 D:サイズ-1 F:サイズ-10
α線,β線,γ線,中性子線を止めるには?
Multi-Purpose Particle and Heavy Ion Transport code System
平山 英夫、波戸 芳仁 KEK, 高エネルギー加速器研究機構
Simulation study for drift region
計算効率を上げるためのvariance reduction(粒子のウェイト)の利用 B
第3回Bashゼミ for文処理について 発表者 直江 宗紀.
Presentation transcript:

Multi-Purpose Particle and Heavy Ion Transport code System PHITS Multi-Purpose Particle and Heavy Ion Transport code System 強度変調放射線治療のシミュレーション 2017年1月改訂 title 1

本実習の目標 時間変化を考慮した複数回のPHITSを連続実行することにより、強度変調放射線治療(IMRT; intensity-modulated radiotherapy)のシミュレーションができるようになる。 時間変化するマルチリーフコリメーターを通して 水ファントムにX線を照射した場合の吸収線量分布 Purpose 2

実習内容 体系の確認 コリメーターのモデリング 線源の設定 吸収線量の空間分布の評価 Sumtallyによるタリー結果の足しあわせ スクリプト言語を用いたPHITSの連続実行 強度変調放射線治療シミュレーションにおける線量分布 Table of contents 3

IMRT.inp 初期設定の体系 Input file 4 Water phantom Photon 8 MeV 半径5cm幅の 一様なビーム (上流部分を簡略化) 30 cm Collimator 10 cm 20 cm 5 cm Input file 4

体系の確認 はじめに、このインプットファイルで構築している3次元体系を描画機能を用いて把握しましょう。 Icntl=8としてPHITSを実行すると2つの[t-track]から2次元平面図がそれぞれ出力され、 icntl=11として実行すると[t-3dshow]の結果が出力されます。 [ T - T r a c k ] title = Track in xyz mesh ・ ・ ・ ・ ・ ・ axis = xz file = track_xz.out axis = yz file = track_yz.out [ T - 3Dshow ] title = Geometry check using [T-3dshow] file = 3dshow.out ・ ・ ・ ・ ・ ・ Geometry 5

体系の確認 水ファントム track_xz.eps コリメーター 3dshow.eps Geometry 6

実習内容 体系の確認 コリメーターのモデリング 線源の設定 吸収線量の空間分布の評価 Sumtallyによるタリー結果の足しあわせ スクリプト言語を用いたPHITSの連続実行 強度変調放射線治療シミュレーションにおける線量分布 Table of contents 7

課題1 サイズを変えたドーナツ型のコリメーターをz=-78~-70cmの位置に追加してみましょう。 Geometry 8 IMRT.inp [ C e l l ] ・ ・ ・ ・ ・ ・ 11 3 -11.34 11 -12 13 -14 [ S u r f a c e ] 11 pz -85.0 12 pz -80.0 13 cz 5.0 14 cz 10.0 8 cm コピーしてコリメーターを追加 *円柱の厚さや内半径、外半径がどの数字と対応するのかを考える track_xz.eps Geometry 8

課題1の答え合わせ サイズを変えたドーナツ型のコリメーターをz=-78~-70cmの位置に追加してみましょう。 Geometry 9 IMRT.inp 10 cm 30 cm [ C e l l ] ・ ・ ・ ・ ・ ・ 11 3 -11.34 11 -12 13 -14 12 3 -11.34 15 -16 17 -18 [ S u r f a c e ] 11 pz -85.0 12 pz -80.0 13 cz 5.0 14 cz 10.0 15 pz -78.0 16 pz -70.0 17 cz 5.0 18 cz 15.0 track_xz.eps Geometry 9

課題2 マルチリーフコリメーターをz=-60cmの位置に追加してみましょう。 Geometry 10 /MultiLeafCollimator/フォルダにあるスクリプトPHITS-IMRTを使って、マルチリーフコリメーターに関するファイルを作成する。( [Windows] step.txtをPHITS-IMRT.batドラッグ&ドロップ。[Mac]PHITS-IMRT_mac.commandをダブルクリックし”step.txt”を入力。) 作成されたCell.inp, RemovedCell.inp, Surfacex1.inp, Surfacex9.inpをIMRT.inpのあるフォルダにコピーする。 IMRT.inpにある5つのinflを有効にし、 Cell.inp, RemovedCell.inp, Surfacex1.inp, Surfacey.inp, Surfacez.inpを読み込む。 Geometry 10

Cell.inp, RemovedCell.inp, Surfacex1(y,z).inp: 治療計画装置により得られたある状態にあるマルチリーフコリメーターの情報(step.txt)を基にPHITS形式に変換したデータファイル Surfacex1(y,z).inp Cell.inp 1001 px -3.00*(-1)*c1-c2 2001 px -3.00*(-1)*c1 ・ ・ ・ ・ ・ ・ 1001 3 -11.34 1001 -2001 3000 -3001 4001 -4002 1002 3 -11.34 1002 -2002 3001 -3002 4001 -4002 1003 3 -11.34 1003 -2003 3002 -3003 4001 -4002 ・ ・ ・ ・ ・ ・ 3000 py c3+c4*0 3001 py c3+c4*1 ・ ・ ・ ・ ・ ・ 追加したセルを空気の領域(セル番号998)より取り除くため 4001 pz c6 4002 pz c6+c2 RemovedCell.inp 変数c1~c6 #1001 #1002 #1003 ・ ・ ・ ・ ・ ・ set: c1[50/100] $ Scaling factor set: c2[10] $ width of leaves [cm] set: c4[0.25] $ thickness of leaves [cm] set: c5[120] $ Number of leaves set: c3[-c4*c5/4] $ y-coordinate of the first leaf [cm] set: c6[-65] $ z-coordinate of multi-leaf collimator Geometry 11

課題2の答え合わせ マルチリーフコリメーターをz=-60cmの位置に追加してみましょう。 Geometry 12 IMRT.inp file = IMRT.inp ・ ・ ・ ・ ・ ・ [ C e l l ] 1 1 -1.0 1 -2 3 -4 5 -6 2 -1.20e-3 -999 #1 #11 #12 infl: {RemovedCell.inp} 999 -1 999 11 3 -11.34 11 -12 13 -14 12 3 -11.34 15 -16 17 -18 infl: {cell.inp} [ S u r f a c e ] ・ ・ ・ ・ ・ ・ 17 cz 5.0 18 cz 15.0 set: c1[50/100] $ Scaling factor set: c2[10] $ width of leaves [cm] set: c4[0.25] $ thickness of leaves [cm] set: c5[120] $ Number of leaves set: c3[-c4*c5/4] $ y-coordinate of the first leaf [cm] set: c6[-65] $ z-coordinate of multi-leaf collimator infl: {surfacex1.inp} infl: {surfacey.inp} infl: {surface.zinp} Geometry 12

課題2の答え合わせ マルチリーフコリメーターをz=-60cmの位置に追加してみましょう。 track_xz.eps Geometry 13

課題3 マルチリーフコリメーターの状態をxy断面図で見てみましょう。 axis=xzの[t-track]をコピー&ペーストして、axis=xyの[t-track]を追加する xとyの範囲を-10cmから+10cmとし、nxとnyは100とする zの範囲は-65cmから-60cmとし、nzは1とする ファイル名をtrack_xy-1.outに変更 この位置の断面図 Geometry 14

課題3の答え合わせ マルチリーフコリメーターの状態をxy断面図で見てみましょう。 Geometry 15 IMRT.inp [ T - T r a c k ] title = Track in xyz mesh mesh = xyz x-type = 2 xmin = -10.0 xmax = 10.0 nx = 100 y-type = 2 ymin = -10.0 ymax = 10.0 ny = 100 z-type = 2 zmin = -65.0 zmax = -60.0 nz = 1 ・ ・ ・ ・ ・ ・ axis = xy file = track_xy-1.out track_xy.eps Geometry 15

実習内容 体系の確認 コリメーターのモデリング 線源の設定 吸収線量の空間分布の評価 Sumtallyによるタリー結果の足しあわせ スクリプト言語を用いたPHITSの連続実行 強度変調放射線治療シミュレーションにおける線量分布 Table of contents 16

課題4 エネルギー分布をもつ線源を設定してみましょう。 [source]セクションにおいてs-typeを4に変更 e0の行をコメントアウト e-type = 1とし、ne = 28とする その下の行にinflコマンドを用いてspectrum.inpを読み込む icntl=0として輸送計算を実行 スペクトル(spectrum.inp) Source 17

課題4の答え合わせ エネルギー分布をもつ線源を設定してみましょう。 Source 18 IMRT.inp s-type = 4 proj = photon $ e0 = 8.0 r0 = 5.00 x0 = 0.0 y0 = 0.0 z0 = -100.0 z1 = -100.0 dir = 1.0 e-type = 1 ne = 28 infl:{spectrum.inp} track_xz.eps(2ページ目) Source 18

実習内容 体系の確認 コリメーターのモデリング 線源の設定 吸収線量の空間分布の評価 Sumtallyによるタリー結果の足しあわせ スクリプト言語を用いたPHITSの連続実行 強度変調放射線治療シミュレーションにおける線量分布 Table of contents 19

課題5 [t-deposit]を用いて水ファントムの表面付近における吸収線量を調べてみましょう IMRT.inp axis=xyの[t-track]セクションをコピー&ペーストし、セクション名を[t-deposit]とする。 xとyの範囲はそのままで、nxとnyは60とする。 zの範囲は-15cmから0cmとし、nzは1とする。 e-typeサブセクションはコメントアウト。 fileはdeposit_xy-1.outとする。 partはallに変更する。 [ T - T r a c k ] ・ ・ ・ ・ ・ ・ nx = 100 y-type = 2 ymin = -10.0 ymax = 10.0 ny = 100 z-type = 2 zmin = -65.0 zmax = -60.0 nz = 1 e-type = 1 ne = 1 0.0 1000.0 unit = 1 axis = xy file = track_xy-1.out part = electron ・ ・ ・ この領域を タリーする Dose distribution 20

課題5の答え合わせ [t-deposit]を用いて水ファントムの表面付近における吸収線量を調べてみましょう IMRT.inp [ T - deposit ] ・ ・ ・ ・ ・ ・ nx = 60 y-type = 2 ymin = -10.0 ymax = 10.0 ny = 60 z-type = 2 zmin = -15.0 zmax = 0.0 nz = 1 $ e-type = 1 $ ne = 1 $ 0.0 1000.0 unit = 1 axis = xy file = deposit_xy-1.out part = all コリメーターの隙間と対応している deposit_xy-1.eps Dose distribution 21

課題6 マルチリーフコリメーターが別の状態にある場合の吸収線量を調べてみましょう [surface]セクションでinflしているsurfacex1.inpをsurfacex9.inpに変更 axis=xyとしている[t-track]のfileをtrack_xy-9.outに変更 axis=xyとしている[t-deposit]のfileをdeposit_xy-9.outに変更 まずはicntl=8としてtrack_xy-9.epsを見てマルチリーフコリメーターの形状を確認し、次にicntl=0としてdeposit_xy-9.epsの吸収線量の分布を調べる Dose distribution 22

課題6の答え合わせ マルチリーフコリメーターが別の状態にある場合の吸収線量を調べてみましょう Dose distribution 23 IMRT.inp track_xy-9.eps [ S u r f a c e ] ・ ・ ・ ・ ・ ・ infl: {surfacex9.inp} infl: {surfacey.inp} infl: {surface.zinp} [ T - T r a c k ] axis = xy file = track_xy-9.out [ T - deposit ] file = deposit_xy-9.out part = all deposit_xy-9.eps コリメーターの隙間と対応している Dose distribution 23

実習内容 体系の確認 コリメーターのモデリング 線源の設定 吸収線量の空間分布の評価 Sumtallyによるタリー結果の足しあわせ スクリプト言語を用いたPHITSの連続実行 強度変調放射線治療シミュレーションにおける線量分布 Table of contents 24

課題7 Sumtally機能を使って、2つのマルチリーフコリメーターの結果を足しあわせましょう [t-deposit]の最後でsumtally.inpをinflコマンドを用いることでsumtally subsectionを設定する [parameters]セクションにおいてicntlを13とする Sumtally.inp sumtally start isumtally = 2 nfile = 2 deposit_xy-1.out 3.0 deposit_xy-9.out 1.0 sfile = result.out sumfactor = 1.0 sumtally end 足し合わせるファイル数 Sumtally subsectionの始まりと終わり 足し合わせるファイル名と重み付けの値 足し合わせた結果のファイル名 規格化定数 sumtally 25

課題7の答え合わせ Sumtally機能を使って、2つのマルチリーフコリメーターの結果を足しあわせましょう sumtally 26 IMRT.inp [ P a r a m e t e r s ] icntl = 13 ・ ・ ・ ・ ・ ・ [ T - deposit ] axis = xy file = deposit_xy-9.out part = all gshow = 1 epsout = 1 infl: {sumtally.inp} result.eps Surfacex1.inpとSurfacex9.inpの結果が3:1で足しあわせられている sumtally 26

実習内容 体系の確認 コリメーターのモデリング 線源の設定 吸収線量の空間分布の評価 Sumtallyによるタリー結果の足しあわせ スクリプト言語を用いたPHITSの連続実行 強度変調放射線治療シミュレーションにおける線量分布 Table of contents 27

課題8 スクリプト言語によるプログラムautorun.batを用いて、複数回PHITSを実行しましょう PHITSで計算した結果をコピーするためにoutputという名前のフォルダを作成する [surface]セクションでinflしているsurfacex9.inpをsurfacex.inpに変更 axis=xyとしている[t-deposit]のfileをdeposit_xy.outに変更 icntlを0に戻す autrun.batを実行 (Windowsの場合)autrun.batをダブルクリック (Macの場合) autorun_mac.commandをダブルクリック Auto-run program 28

autrun.bat (autorun_mac.command): フォルダ”MultiLeafCollimator”にあるsurfacex***.inpをコピー その情報を用いてPHITSを実行 PHITSの計算終了後、出力ファイルであるphits.outとdeposit_xy.outをフォルダ”output”に移動 autorun.bat @echo off SET PHITSEXE=“C:\phits\bin\phits274_win.exe" SET OUTDIR="output" copy MultiLeafCollimator\cell.inp . copy MultiLeafCollimator\sumtally.inp . copy MultiLeafCollimator\RemovedCell.inp . for /l %%i in (1, 1, 9) do ( For文の中は→ ) pause exit echo Calculating %%i ... copy MultiLeafCollimator\surfacex%%i.inp surfacex.inp %PHITSEXE% < IMRT.inp move phits.out %OUTDIR%\phits-%%i.out move deposit_xy.out %OUTDIR%\deposit_xy-%%i.out move deposit_xy_err.out %OUTDIR%\deposit_xy-%%i_err.out ① ② ③ 初期値1、変化量1として、9まで変数%%iの数字を変えながら動作する Auto-run program 29

課題8の答え合わせ スクリプト言語によるプログラムautorun.batを用いて、複数回PHITSを実行しましょう Outputフォルダ内 deposit_xy-1.out deposit_xy-1_err.out deposit_xy-2.out deposit_xy-2_err.out deposit_xy-3.out ・ ・ ・ ・ ・ ・ deposit_xy-9_err.out phits-1.out phits-2.out phits-3.out phits-4.out phits-5.out phits-9.out 9個のdeposit_xy.outとdeposit_xy_err.out、phits.outが出力されていればOK もし時間が掛かるようであれば、IMRT.inpのmaxcasを100にして実行してみてください Auto-run program 30

実習内容 体系の確認 コリメーターのモデリング 線源の設定 吸収線量の空間分布の評価 Sumtallyによるタリー結果の足しあわせ スクリプト言語を用いたPHITSの連続実行 強度変調放射線治療シミュレーションにおける線量分布 Table of contents 31

課題9 Sumtally機能を使って、autorun.batにより得られた複数のタリー結果を加重平均により足し合わせましょう [parameters]セクションにおいてicntlを13とする sumtally.inpが更新されているのを確認する Sumtally.inp sumtally start isumtally = 2 nfile = 9 output/deposit_xy-1.out 0.2000-0.0000 output/deposit_xy-2.out 0.3000-0.2000 output/deposit_xy-3.out 0.4000-0.3000 ・ ・ ・ ・ ・ ・ output/deposit_xy-9.out 1.0000-0.9000 sfile = result.out sumfactor = 1.0 sumtally end sumtally 32

課題9の答え合わせ Sumtally機能を使って、autorun.batにより得られた複数のタリー結果を加重平均により足し合わせましょう Sumtally.inp sumtally start isumtally = 2 nfile = 9 output/deposit_xy-1.out 0.2000-0.0000 output/deposit_xy-2.out 0.3000-0.2000 output/deposit_xy-3.out 0.4000-0.3000 ・ ・ ・ ・ ・ ・ output/deposit_xy-9.out 1.0000-0.9000 sfile = result.out sumfactor = 1.0 sumtally end これらの重み付けで 各マルチリーフコリメーターの計算結果が足しあわせられている result.eps sumtally 33

まとめ マルチリーフコリメーターをモデリングし、時間変化により様々な形状をとった場合の計算ができるようになった。 Sumtally機能を用いて複数のタリー結果を足し合わせることにより、強度変調放射線治療を模擬した吸収線量の空間分布を求めた。 スクリプト言語を用いて、複数回のPHITS計算を実行した。 《休憩はさむ》 まとめ Summary 34