tb_spad_deadtime_correct — 2D typed op

데이터 종류: countscounts

호출: fullseye.apply(img, "tb_spad_deadtime_correct", a=0.5, b=0.5)(2-D 는 이미지 1 장 + 스칼라 노브 2 개 a,b∈[0,1] 모델)

*그림 없음: 이 연산자는 counts를 입력으로 받습니다. 이미지에서 시작하는 Studio 프로그램으로는 그 타입에 닿지 않으므로 아래의 실행 가능한 예제를 보세요.*

사용법

데드타임으로 왜곡된 측정 속도로부터 실제 광자율을 복원.

> 아래 상세 설명은 원문입니다 —— 요약과 제목은 번역되어 있습니다.

The exact inverse of the non-paralysable law of

:func:spad_deadtime_apply::

n = m / (1 - m*tau)

A round trip `apply -> correct` is exact to machine precision (measured max

elementwise relative error 6.0e-16 over 2000 rates spanning 1e3 to 5e7 Hz at

`tau = 50 ns`, where the measured rate reaches 71.4% of the 20 MHz

saturation rate).

There is deliberately no paralysable inverse. `m = n*exp(-n*tau)` is not

injective — every measured rate below the maximum `1/(e*tau)` corresponds to

*two* true rates, one below and one above `1/tau` — so returning one of them

would be a fabrication dressed as a correction. Resolve the branch with an

independent measurement (e.g. an attenuator step) and invert it yourself.

*measured_hz* is a 1-D array of measured rates in counts per second;

*dead_time_ns* the dead time in nanoseconds (default 50, the same

placeholder :func:spad_deadtime_apply uses — replace it with the

datasheet value). Returns the corrected true rates as a float64 1-D array.

Raises `ValueError`: negative, non-finite or non-1-D *measured_hz*, a

non-positive *dead_time_ns*, and — instead of returning `inf` or a negative

rate — any measured rate at or above the saturation rate `1/tau`, which no

non-paralysable detector can ever produce.

Typed bridge of the photon op `spad_deadtime_correct into the 2-D evolution registry: the same implementation, called under the op(v, a, b) convention. a drives dead_time_ns (default 50); b` is unused.

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.

• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.

실행 가능한 예제(이 연산자를 실제로 호출하는 검증된 샘플)

• (아직 없음)

타입이 이어지는 다음 연산자(counts 를 입력으로 받는 것)

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

같은 카테고리(typed)

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


*Provenance: ops.py — 2D 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

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