spectral_xray op• データ種: pairs → table
• 呼び出し: import fullseye as fs; fs.ledger.photon_counting_channels(spectrum, thresholds_kev=(20.0, 50.0), detector: 'str' = 'CDTE', detector_mm: 'float' = 2.0, energy_resolution_fwhm_kev: 'float' = 0.0, charge_sharing: 'float' = 0.0, upper_kev=None) -> 'dict' (実装を直接呼ぶなら import dualxray; dualxray.photon_counting_channels(spectrum, thresholds_kev=(20.0, 50.0), detector: 'str' = 'CDTE', detector_mm: 'float' = 2.0, energy_resolution_fwhm_kev: 'float' = 0.0, charge_sharing: 'float' = 0.0, upper_kev=None) -> 'dict'、台帳から引くなら opstomography.get("photon_counting_channels"))
フォトンカウンティング検出器のエネルギーの窓 → チャネル(1 光子 1 カウント)。
thresholds_kev = (T₁, T₂, …): チャネル c は堆積エネルギーが [T_c, T_{c+1}) の光子を数える(最後の窓の上限は upper_kev、既定は無限大)。検出器の応答:
• 吸収効率 1 − e^{−μ d}(detector の X 線の列、既定 CdTe 2 mm)。
• エネルギー分解能: 堆積エネルギーに FWHM energy_resolution_fwhm_kev のガウスのぼけ。
• 電荷共有: 割合 charge_sharing の光子は電荷の一部しか集まらず、堆積エネルギーが [0, E] に一様に散らばる(低いエネルギーへの尾。1 画素の中の模型で、隣の画素への二重計数は入れない)。
返り値: dict(energy_kev, weights (C, K) = 入射光子 1 個がチャネル c に数えられる確率 × スペクトルのビンの重み, gain = 1(計数), mode = "counting", labels, thresholds_kev, response)。窓が 1 つも光子を拾わないときは ValueError。
• サンプルデータ カタログ(DL URL / ライセンス) — 2-D は skimage.data(BSD/public)+ 合成、3-D は実データ源(Stanford/PDS 等)の DL URL。
• 演算子の来歴・参考文献 — この op 族の元になった研究/手法の出典。
• アルゴリズムの正典(著者・年)と用途は上記ファミリ使い方ガイドに記載。
• poc_dual_energy_xray — py -3.11 examples/poc_dual_energy_xray.py
table を入力に取れる)—
spectral_xray)material_xray_table · material_xray_attenuation · material_xray_constants · material_effective_z · xray_tube_spectrum · xray_beam_quality · dual_kvp_channels · xray_channel_projection
*Provenance: dualxray.py — TOMOGRAPHY operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.