spectral_xray oppairs → tableimport 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、既定は無限大)。検出器の応答:
detector の X 線の列、既定 CdTe 2 mm)。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。py -3.11 examples/poc_dual_energy_xray.pytable を入力に取れる)—
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.