pyfli.simulator.calibration.expected_decay#
Analytic noise-free expected decay of the pyfli simulator for given lifetimes and IRF.
Functions
|
Expected per-gate photon distribution of |
|
Probability that a photon emitted with an exponential delay of lifetime(s) tau (ns, any shape |
Classes
|
- wrapped_gate_exponential(tau, n_bins, laser_period)[source]#
Probability that a photon emitted with an exponential delay of lifetime(s) tau (ns, any shape
S) falls in each of n_bins equal gates covering one laser period, with delays wrapped modulo the period (pyfli.reconstruction.common_reconstruct.periodic_bin_exponential()). ReturnsS + (n_bins,), summing to 1 along the last axis.
- gated_bin_probabilities(tau, irf, laser_period)[source]#
Expected per-gate photon distribution of
PhotonCountSimulatorfor lifetime(s) tau: the wrapped, gate-integrated exponential (wrapped_gate_exponential()) circularly convolved with the IRF.- Parameters:
tau (
float | np.ndarray) – Lifetime(s) in ns; any shapeS.irf (
np.ndarray) – IRF of shape(T,)(shared) orS + (T,)(one per lifetime); normalised to unit sum here.laser_period (
float) – Laser repetition period in ns; theTgates cover[0, laser_period).
- Returns:
Array of shape
S + (T,)whose last axis sums to 1.- Return type:
np.ndarray
- class DecayForwardModel(n_bins, period_ns, detector_type, jitter=True, inactive_bins=())[source]#
Bases:
object- simulated_irf(mu, sigma_ns, tail_ns)[source]#
Peak-normalised exponentially modified Gaussian IRF (pyfli
IRFGenerator).
- static with_baseline(irf_peak1, b)[source]#
What
OffsetGendoes to the IRF (+ b) followed by the simulator’s sum-normalisation.