pyfli.phasor.phasorS.phasor_locus#

Theoretical phasor locus construction and plotting.

This module belongs to pyfli.phasor.phasorS and is part of PyFLI’s compact phasor analyzer for CPU and optional GPU FLI workflows. Public API includes the MonoLocus class.

Unlike PhasorAnalyzer, which estimates phasor coordinates from measured decay data, MonoLocus traces the theoretical phasor curve a perfect, Dirac-excited, single-exponential decay traces under a given acquisition geometry (binning, gating, truncation, or excitation offset). These loci are the reference curves against which measured phasors can be checked for acquisition-induced bias.

Classes

MonoLocus(frequency_hz[, tau_max_ns, n_points])

Trace and draw loci for different acquisition-geometry models.

class MonoLocus(frequency_hz, tau_max_ns=10.0, n_points=500)[source]#

Bases: object

Trace and draw loci for different acquisition-geometry models.

Parameters:
  • frequency_hz (float) – Excitation / laser repetition frequency in hertz.

  • tau_max_ns (float) – Default maximum lifetime, in nanoseconds, spanned by a traced locus.

  • n_tau (int) – Default number of lifetime samples used to trace a locus.

  • n_points (int)

continuous_locus(harmonic=1, tau_ns=None, *, draw=True, ax=None, color=None, half_circle=True, title=None, show_universal=True, filter_finite=True, figsize=(6, 4.5))[source]#

Trace (and by default draw) the ideal universal-semicircle locus.

Returns:

(g, s, tau_ns, ax); ax is None when draw=False.

Return type:

tuple[Any, ]

Parameters:
discrete_locus(n_bins, harmonic=1, tau_ns=None, *, draw=True, ax=None, color=None, half_circle=True, title=None, show_universal=True, filter_finite=True, figsize=(6, 4.5))[source]#

Trace (and by default draw) the discrete, n_bins-binned locus arc.

Returns:

(g, s, tau_ns, ax); ax is None when draw=False.

Return type:

tuple[Any, ]

Parameters:
gated_single_locus(gate_width_frac, harmonic=1, tau_ns=None, *, draw=True, ax=None, color=None, half_circle=True, title=None, show_universal=True, filter_finite=True, figsize=(6, 4.5))[source]#

Trace (and by default draw) the single-square-gate locus.

Returns:

(g, s, tau_ns, ax); ax is None when draw=False.

Return type:

tuple[Any, ]

Parameters:
gated_n_locus(gate_width_frac, n_gates, harmonic=1, tau_ns=None, *, draw=True, ax=None, color=None, half_circle=True, title=None, show_universal=True, filter_finite=True, figsize=(6, 4.5))[source]#

Trace (and by default draw) the n_gates-equidistant-gate locus.

Returns:

(g, s, tau_ns, ax); ax is None when draw=False.

Return type:

tuple[Any, ]

Parameters:
truncated_locus(t_rec_frac, harmonic=1, tau_ns=None, *, draw=True, ax=None, color=None, half_circle=True, title=None, show_universal=True, filter_finite=True, figsize=(6, 4.5))[source]#

Trace (and by default draw) the locus for a recording window shorter than the excitation period (t_rec_frac of the period T).

Returns:

(g, s, tau_ns, ax); ax is None when draw=False.

Return type:

tuple[Any, ]

Parameters:
offset_locus(t0_frac, harmonic=1, tau_ns=None, *, draw=True, ax=None, color=None, half_circle=True, title=None, show_universal=True, filter_finite=True, figsize=(6, 4.5))[source]#

Trace (and by default draw) the locus for an excitation pulse offset by t0_frac of the period T within the recording window.

Returns:

(g, s, tau_ns, ax); ax is None when draw=False.

Return type:

tuple[Any, ]

Parameters: