PhasorPy 0.6 (2025-06-22)#
This is the sixth alpha release of the PhasorPy library. It contains several bug fixes, improvements, and breaking changes.
The new phasor_component_fit function fits fractions of multiple
components to phasor coordinates.
The phasor_nearest_neighbor function returns nearest neighbors in phasor
coordinates.
The phasor_to_normal_lifetime function returns single lifetimes closest
to phasor coordinates.
The phasor_semicircle_intersect function returns intersections of lines
with the universal semicircle.
The LifetimePlots class interactively plots lifetimes in the time domain,
frequency domain, and phasor plot. It can be invoked from the command line
with python -m phasorpy lifetime.
The two_fractions_from_phasor and graphical_component_analysis
functions are renamed to phasor_component_fraction and
phasor_component_graphical, respectively.
The versions function has moved to the phasorpy.utils namespace.
The spectral_vector_denoise, anscombe_transform, and
anscombe_transform_inverse functions have moved to the
phasorpy.experimental namespace.
Functions in the io module now return only the first channel by default.
Three new tutorials are added: “Geometrical interpretation of lifetimes”, “Multi-component fit”, and “FRET efficiency image”.
This release supports Python 3.11 to 3.13.
What’s Changed#
Bump version by @cgohlke in phasorpy/phasorpy#221
Bump pypa/cibuildwheel from 2.23.2 to 2.23.3 in the github-actions group by @dependabot in phasorpy/phasorpy#223
Update description of AlliGator software by @cgohlke in phasorpy/phasorpy#225
Cython 3.1.0 is released by @cgohlke in phasorpy/phasorpy#226
Add phasor_to_normal_lifetime function by @cgohlke in phasorpy/phasorpy#228
Read first channel from files by default by @cgohlke in phasorpy/phasorpy#229
Update acknowledgments by @cgohlke in phasorpy/phasorpy#230
Use importlib to get package versions by @cgohlke in phasorpy/phasorpy#231
Use Windows Server 2022 in GitHub Actions by @cgohlke in phasorpy/phasorpy#232
Add tutorial about geometrical interpretation of lifetimes by @cgohlke in phasorpy/phasorpy#233
Update reference phasor_from_signal benchmark results by @cgohlke in phasorpy/phasorpy#234
Sort clusters returned by phasor_cluster_gmm by @cgohlke in phasorpy/phasorpy#236
Reorganize io module by @cgohlke in phasorpy/phasorpy#235
Update pre-commit configuration by @cgohlke in phasorpy/phasorpy#237
Fix test failing with numpy 2.3.0 by @cgohlke in phasorpy/phasorpy#239
Add phasor_component_fit function by @cgohlke in phasorpy/phasorpy#238
Rename functions in components module by @cgohlke in phasorpy/phasorpy#240
Add phasor_semicircle_intersect function by @cgohlke in phasorpy/phasorpy#241
Add private helper functions to mask universal semicircle by @cgohlke in phasorpy/phasorpy#242
Add private _distance_from_semicircle function by @cgohlke in phasorpy/phasorpy#244
Reorganize plot module by @cgohlke in phasorpy/phasorpy#245
Add interactive LifetimePlots class by @cgohlke in phasorpy/phasorpy#247
Reorganize version, utils, and experimental modules by @cgohlke in phasorpy/phasorpy#248
Add phasor_nearest_neighbor function by @bruno-pannunzio in phasorpy/phasorpy#243
Release v0.6 by @cgohlke in phasorpy/phasorpy#249
Full Changelog: https://github.com/phasorpy/phasorpy/compare/v0.5…v0.6