countrate_to_counts — REPRCONV algebra op

• 資料種類:countrate → counts

• 呼叫: import fullseye as fs; fs.ledger.countrate_to_counts(countrate, gate_s=0.001)(要直接呼叫實作,import reprconv; reprconv.countrate_to_counts(countrate, gate_s=0.001);從台帳取用則 opsreprconv.get("countrate_to_counts"))

用法

計數率 [Hz] → 計數 counts。countrate 的出口(可逆)。

單位就是轉換的全部內容: [1/s] * [s] = [1]。gate_s 是積分視窗的秒數, 預設 1 ms。counts 是「每個時間 bin 的光子數」的型別,所以若讓速率序列直接冒充 counts,會在數量級偏差 7 位的情況下悄悄通過 (TYPE_CHECKS 對兩者都只檢查「非負的 1-D」)。

與 counts_to_countrate 往返實測 max|Δ| = 9.3e-10(值域為 1e3-1e7 Hz,所以是相對 1e-16 = 倍精度捨入 1 個單位。只看絕對值會顯得很大,所以像速率這樣數量級跨度大的量以相對值來說)。

★用 2 次也不會拋出例外。TYPE_TO_SORT 把 countrate 摺疊進 counts, 所以出口直接接回入口。實測(2026-09-08,1,200 Hz 以 gate 1 ms): 1 次得 1.2000 counts,再通過 1 次得 0.0012 counts —— 1,000 倍的混淆,既不產生負值也不產生 NaN 就通過了。僅看值無法判定「是速率還是計數」,所以這 1 件只能不靠檢查而靠 呼叫端的紀律來守(把連接的路徑記錄下來)。

Args:

countrate: (N,) 的非負速率 [Hz]。

gate_s: 積分視窗 [s]。> 0。

Returns:

(N,) float64 的非負計數。

Raises:

ValueError: 負速率 / gate_s <= 0 / 形狀不正確 / 非有限。

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

• 演算法的正典(作者、年份)與用途見上面的族使用指南。

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• representation_roundtrip — py -3.11 examples/representation_roundtrip.py

型別可銜接的下一個運算子(可接受 counts 作為輸入)

counts_to_countrate

同類別(algebra)

angle_to_matrix · matrix_to_angle · rot_scale_to_matrix · matrix_to_rot_scale · shift_to_vector · vector_to_shift · cscalar_to_polar · polar_to_cscalar


*Provenance: reprconv.py — REPRCONV 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.