tb_countrate_to_counts — 2D typed op

Datenarten: countscounts

Aufruf: fullseye.apply(img, "tb_countrate_to_counts", a=0.5, b=0.5) (das 2-D-Modell ist ein Bild plus zwei skalare Regler a,b∈[0,1])

tb_countrate_to_counts: input → output

*Die Abbildung ist die tatsächliche Ausgabe auf einer synthetischen 128×128-Eingabe. Links Eingabe, rechts Ausgabe. Punktwolken als Draufsicht-Streudiagramm (Helligkeit = z), 1-D-Reihen als Linie, Volumen als Maximum-Projektion entlang z, Videos als mittleres Bild, komplexe Bilder als Betrag; Rückgabewerte, die kein Bild ergeben, werden als Werte gezeigt.*

Regler a durchfahren (0,1 / 0,5 / 0,9, der andere Regler auf Standard):

tb_countrate_to_counts: knob a sweep (docs site)

*Regler b ändert die Ausgabe nicht (gemessen: identisch bei 0,1 / 0,5 / 0,9).*

Stufen (die vorangehenden Ops → dieser Op, von links nach rechts):

tb_countrate_to_counts: stages (docs site)

Auf anderen Bildern (synthetische Szene / Foto / Münzen. Obere Reihe: Eingaben, untere Reihe: deren Ausgaben. Regler auf Standard):

tb_countrate_to_counts: other inputs (docs site)

Verwendung

Zählrate `[Hz] → Zählwerte counts. Ein Ausgang von countrate` (reversibel).

> Die ausführliche Beschreibung unten ist der Originaltext — Zusammenfassung und Überschriften sind übersetzt.

単位が変換の全内容: `[1/s] * [s] = [1]gate_s` は積算窓の秒数で、

既定 1 ms。`counts` は「時間 bin ごとの光子数」の型なので、レート列を

そのまま counts と名乗らせると桁が 7 つずれたまま黙って通る

(`TYPE_CHECKS` はどちらも「非負の 1-D」としか見ていない)。

:func:counts_to_countrate と往復して実測 max|Δ| = 9.3e-10(値域が 1e3-1e7 Hz なので

相対 1e-16 = 倍精度の丸め 1 単位ぶん。絶対値だけ見ると大きく見えるので、

レートのように桁が広い量は相対で言う)。

2 度掛けても例外は出ない。`TYPE_TO_SORTcountratecounts` に

畳んでいるので、出口が入口にそのまま繋がる。実測(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 / 形状不正 / 非有限。

2-D 進化レジストリへ橋渡しした reprconv の op `countrate_to_counts。実装は同じで、呼び出し規約だけ op(v, a, b) に合わせてある。agate_s(既定 0.001)を振る。b` は未使用。

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

In Studio ausprobieren

Das Programm unten ist nachweislich lauffähig (gleiche Eingabe wie die Abbildung). In der Studio-Hilfe wird dieser Block zu Schaltflächen, die es sofort laden und ausführen.

img_to_counts 0.50 0.50
tb_countrate_to_counts 0.50 0.50

▸ Load this pipeline  ·  Load & run

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

Die folgenden Beispiele rufen den zugrunde liegenden Ledger-Op countrate_to_counts auf. Dieser Brücken-Op ist dieselbe Implementierung, angepasst an die Konvention fn(v, a, b); das Verhalten gilt unverändert (nur die Aufrufform unterscheidet sich).

representation_roundtrippy -3.11 examples/representation_roundtrip.py

Typkompatible Folge-Operatoren (nehmen counts als Eingabe)

identity · tb_spad_deadtime_apply · tb_spad_deadtime_correct · tb_tcspc_coates_correct · tb_tcspc_irf_convolve · tb_tcspc_background_subtract · tb_dtof_depth · tb_counts_to_countrate

Gleiche Kategorie (typed)

tb_points_to_voxel · tb_estimate_point_normals · tb_iss_keypoints · tb_project_points · tb_render_point_depth · tb_statistical_outlier_removal · tb_radius_outlier_removal · tb_voxel_grid_downsample


*Provenance: ops.py — 2D Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

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