RFMCEdu は放射線写真 (Radiography) と透視 (Fluoroscopy) のX線相互作用を、 モンテカルロ法で追跡する教育用ブラウザアプリです。管電圧・濾過・照射野・ 被写体構成 (水槽 / MIRD胸部 / 手ファントム) などのパラメータを対話的に変更しながら、 光子の飛跡・スペクトル・検出器画像・入射表面線量を可視化できます。
物理モデルは Bremsstrahlung + W特性X線 + Al/Cu濾過のスペクトル生成、 Woodcock追跡による輸送、Klein-Nishina (Compton散乱)、 光電吸収、Coherent (Rayleigh) 散乱を扱う簡易実装です。 NIST XCOM 由来の質量減弱係数を対数補間で使用しています。並列計算 (Web Worker) にも対応しています。
画面は左・中・右の3カラム構成です。
右パネルのグラフとESD計算セクションは起動時折り畳み状態です。
タイトル横の ▶ をクリックすると展開されます。
「ファントム種類」ドロップダウンで3種類から選択できます。
30×30 cm 断面 × 厚さ可変 (1〜40 cm) の均質水槽。骨・肺は含まれません。 散乱線とビーム硬化の基礎学習に最適。「ファントム厚さ」で任意の厚さに調整可能。
医学物理で標準的な MIRD 型ファントムを簡略化した胸部モデル:
掌骨 (中手骨) を模した5本の骨を、1 cm 厚の軟部組織 (水) で囲んだ手モデル:
| 項目 | 範囲 | 意味 |
|---|---|---|
| 管電圧 kVp | 40〜150 | X線管の管電圧。最大光子エネルギー (keV) を決定。 |
| 固有濾過 (Al当量, mm) | 0〜10 | X線管の固有濾過 (窓・油など) の Al 当量厚。 |
| 付加Al (mm) | 0〜20 | 追加のAl濾過。低エネルギー成分の除去。 |
| 付加Cu (mm) | 0〜2 | 追加のCu濾過。ビーム硬化に強い効果。 |
| 項目 | 範囲 | 意味 |
|---|---|---|
| ファントム種類 | 3種 | water / mird / hand から選択。 |
| 照射野サイズ (検出器面, cm四方) | 2〜40 | 検出面 (z=厚さ+5cm) における正方形コリメーション。 |
| ファントム厚さ (cm) | 1〜40 | ファントムの z 方向厚さ。手ファントム選択時は固定 1 cm。 |
| 鉛板 厚さ (mm) | 0〜5, 0.1刻み | ファントム手前 (z=0直前) に配置する鉛板。x=0〜15 cm の右半分にのみ配置。0でなし。 |
| ビーム入射角度 (度) | -45〜+45 | ビームの傾き。線源が x-z 平面で SID=100 cm 円弧上に回転。0=真下。 |
| 項目 | 範囲 | 意味 |
|---|---|---|
| 1回の入射光子数 | 10〜10,000,000 | Startで生成する光子数。多いほど統計精度が上がるが時間もかかる。 |
| 飛跡 最大描画数 | 0〜5000 | 3D画面に描画する飛跡の最大数。0で描画なし (高速集計のみ)。 |
| 使用コア数 NEW | 1〜64 | Web Worker による並列計算のワーカー数。1でシングル。初期値はブラウザが報告する論理コア数。 |
| ボタン | 動作 |
|---|---|
| Start | 統計をリセットして新規シミュレーション開始。 |
| Add | 現在の統計に追加でシミュレーション。光子数を継ぎ足せる。 |
| Stop | 計算途中で中断。中断時点までの結果は保持。 |
| Reset | 統計と画面をゼロクリア。 |
臨床的な線量指標を X線管出力係数 (K/mAs) と後方散乱係数 (BSF) から解析的に計算する セクションです。モンテカルロシミュレーションとは独立に動作します。
| 項目 | 意味 |
|---|---|
| 管電流 (mA) | 1〜1000 mA |
| 照射時間 (ms) | 1〜10,000 ms → mAs = mA × 秒 |
| FSD 焦点-表面間 (cm) | Focal-Skin Distance。20〜300 cm |
| ターゲット角 (度) | X線管のアノード角。5〜22° |
| 整流方式 | 単相全波 / 三相6P / 三相12P / インバータ (μGy/mAs 係数が異なる) |
| 項目 | 意味 |
|---|---|
| mAs | 電流時間積 |
| HVL₁ | 第1半価層 (mm Al)。スペクトルから計算 |
| 実効エネルギー | HVL に対応するエネルギー (keV) |
| BSF | 後方散乱係数 (Backscatter Factor)。照射野・kVp・HVL から補間 |
| 入射空気カーマ Ka,i | 被写体がない状態でのFSDにおける空気カーマ |
| 入射表面空気カーマ Ka,e | = Ka,i × BSF (被写体表面の入射線量) |
| 面積空気カーマ積 PKA | Ka,i × 照射野面積 |
| 操作 | 効果 |
|---|---|
| 左ドラッグ | 視点を回転 (yaw / pitch) |
| 右ドラッグ | 画面平行移動 (パン) |
| ホイール | 拡大 / 縮小 |
視点ボタン横の「飛跡太さ」入力 (0.2〜5 px) で線幅を調整できます。多数の光子を 表示するときは細く、少数を強調するときは太くすると見やすくなります。
タイトル横 ▶/▼ で開閉します。
X線管から出て Al/Cu 濾過を通ったあと、ファントムに入る直前のスペクトル。 kVp・濾過を変えるとリアルタイム更新。低エネルギー成分の Al 除去と、W の K線 (59.3, 67.2 keV) が可視化されます。
検出面 z = (ファントム下面 + 5 cm) に到達したX線光子のエネルギーフルエンス分布。
検出面での x 方向 (2 cm ビン) の光子数プロファイル。一次線 (青) と散乱線 (黄) のスタック棒グラフ。
光子が起こした相互作用の累積カウント (Compton / 光電吸収 / Coherent)。
実際に追跡した光子のエネルギー分布 (5 keV ビン)。理論スペクトルとの一致確認。
| 項目 | 意味 |
|---|---|
| 累積入射光子 | これまでに生成した光子の総数 |
| 透過 (相互作用なし) | ファントムを1回も相互作用せずに通り抜けた光子 |
| 後方散乱 | 散乱後に線源側 (dz<0) にファントムを出た光子 |
| 検出面到達 | 検出面 (z = 厚さ+5) に到達した光子 |
| 光電吸収 | 光電吸収の総発生回数 |
| コンプトン散乱 | Compton (Incoherent) 散乱の総発生回数 |
| レイリー散乱 | Coherent (Rayleigh) 散乱の総発生回数 |
| 実効エネルギー NEW | 検出面到達光子の平均エネルギー |
| 計算時間 NEW | シミュレーションの経過時間 (秒) |
連続 X 線 (Bremsstrahlung) は Kramers 則 N(E) ∝ Z × (E_max - E) で近似 (Z=74 タングステン)。 kVp > 70 keV では W の K 特性線 (59.3, 67.2 keV) をガウシアンで加算。 Al と Cu の質量減弱係数で濾過による指数減衰を適用。
異種材料 (水/骨/皮質骨/肺/鉛) が混在するため、各領域で μ_max ≥ 全材料 の
Woodcock (delta) 追跡を使用。ステップ s = -ln(r) / μ_max、
μ_real / μ_max で実衝突判定。
| 材料 | 密度 (g/cm³) | 用途 |
|---|---|---|
| 空気 | 1.205e-3 | ファントム外 |
| 水 (軟組織) | 1.00 | Water / Hand ファントム主部、MIRD トランク充填 |
| 骨 density up | 2.00 | Hand ファントムの指骨 |
| 皮質骨 CORT_BONE NEW | 2.50 | MIRD の脊椎・肋骨 (μ/ρ は骨と共通) |
| 肺 | 0.26 | MIRD の両肺 (低密度) |
| 鉛 (Pb) | 11.34 | 鉛板 |
80 kVp / 総濾過 2.5mmAl でスペクトルを見た後、付加Cu を 0.1 → 0.5 mm と増やして スペクトルが硬化 (高エネルギー側にシフト) するのを確認。ESD計算で HVL₁ と 実効エネルギーが上がることも確認。
同じ 80 kVp / 20cm 照射野で:
2D 画像を「一次線」「散乱線」「合計」で切り替え、散乱線がコントラストを低下 させる様子を可視化。照射野を 5 → 30 cm に広げて散乱線比率の増加を確認。
鉛板 0.5 mm を入れて撮影。左半分 (x<0) と右半分 (x>0) のコントラスト差を確認。 右半分は Pb でほぼ完全遮蔽。
胸部撮影の典型条件 (80kVp, 500mA, 20ms, FSD 180cm) で ESD を計算し、 mAs / kVp を変えたときの ESD の変化を確認。
入射光子数を 100 万に設定し、使用コア数を 1 → 4 → 8 と変えて計算時間の短縮を確認。