phasorpy 0.3__tar.gz → 0.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. {phasorpy-0.3 → phasorpy-0.4}/LICENSE.txt +1 -1
  2. {phasorpy-0.3/src/phasorpy.egg-info → phasorpy-0.4}/PKG-INFO +4 -3
  3. {phasorpy-0.3 → phasorpy-0.4}/README.md +1 -1
  4. {phasorpy-0.3 → phasorpy-0.4}/docs/_static/switcher.json +8 -3
  5. {phasorpy-0.3 → phasorpy-0.4}/docs/conf.py +1 -1
  6. {phasorpy-0.3 → phasorpy-0.4}/docs/index.rst +2 -1
  7. {phasorpy-0.3 → phasorpy-0.4}/docs/license.rst +1 -1
  8. {phasorpy-0.3 → phasorpy-0.4}/docs/release.rst +37 -4
  9. {phasorpy-0.3 → phasorpy-0.4}/pyproject.toml +2 -1
  10. phasorpy-0.3/src/phasorpy/io.py → phasorpy-0.4/src/phasorpy/_io.py +932 -312
  11. {phasorpy-0.3 → phasorpy-0.4}/src/phasorpy/_phasorpy.pyx +69 -0
  12. {phasorpy-0.3 → phasorpy-0.4}/src/phasorpy/_utils.py +77 -12
  13. {phasorpy-0.3 → phasorpy-0.4}/src/phasorpy/color.py +1 -2
  14. {phasorpy-0.3 → phasorpy-0.4}/src/phasorpy/datasets.py +81 -0
  15. phasorpy-0.4/src/phasorpy/io.py +5 -0
  16. {phasorpy-0.3 → phasorpy-0.4}/src/phasorpy/phasor.py +17 -5
  17. {phasorpy-0.3 → phasorpy-0.4}/src/phasorpy/plot.py +25 -9
  18. {phasorpy-0.3 → phasorpy-0.4}/src/phasorpy/version.py +2 -1
  19. {phasorpy-0.3 → phasorpy-0.4/src/phasorpy.egg-info}/PKG-INFO +4 -3
  20. {phasorpy-0.3 → phasorpy-0.4}/src/phasorpy.egg-info/SOURCES.txt +1 -0
  21. {phasorpy-0.3 → phasorpy-0.4}/src/phasorpy.egg-info/requires.txt +1 -0
  22. {phasorpy-0.3 → phasorpy-0.4}/tests/test__utils.py +25 -0
  23. phasorpy-0.4/tests/test_io.py +1172 -0
  24. {phasorpy-0.3 → phasorpy-0.4}/tests/test_phasor.py +18 -0
  25. {phasorpy-0.3 → phasorpy-0.4}/tests/test_plot.py +7 -0
  26. {phasorpy-0.3 → phasorpy-0.4}/tests/test_utils.py +4 -4
  27. {phasorpy-0.3 → phasorpy-0.4}/tutorials/api/phasorpy_cursors.py +2 -2
  28. {phasorpy-0.3 → phasorpy-0.4}/tutorials/api/phasorpy_multi-harmonic.py +3 -3
  29. {phasorpy-0.3 → phasorpy-0.4}/tutorials/phasorpy_introduction.py +17 -11
  30. {phasorpy-0.3 → phasorpy-0.4}/tutorials/phasorpy_lfd_workshop.py +9 -5
  31. phasorpy-0.3/tests/test_io.py +0 -791
  32. {phasorpy-0.3 → phasorpy-0.4}/MANIFEST.in +0 -0
  33. {phasorpy-0.3 → phasorpy-0.4}/docs/_static/categorical.png +0 -0
  34. {phasorpy-0.3 → phasorpy-0.4}/docs/_static/custom-icons.js +0 -0
  35. {phasorpy-0.3 → phasorpy-0.4}/docs/_static/logo.png +0 -0
  36. {phasorpy-0.3 → phasorpy-0.4}/docs/_static/srgb_spectrum.png +0 -0
  37. {phasorpy-0.3 → phasorpy-0.4}/docs/acknowledgments.rst +0 -0
  38. {phasorpy-0.3 → phasorpy-0.4}/docs/api/_phasorpy.rst +0 -0
  39. {phasorpy-0.3 → phasorpy-0.4}/docs/api/_utils.rst +0 -0
  40. {phasorpy-0.3 → phasorpy-0.4}/docs/api/cli.rst +0 -0
  41. {phasorpy-0.3 → phasorpy-0.4}/docs/api/color.rst +0 -0
  42. {phasorpy-0.3 → phasorpy-0.4}/docs/api/components.rst +0 -0
  43. {phasorpy-0.3 → phasorpy-0.4}/docs/api/cursors.rst +0 -0
  44. {phasorpy-0.3 → phasorpy-0.4}/docs/api/datasets.rst +0 -0
  45. {phasorpy-0.3 → phasorpy-0.4}/docs/api/index.rst +0 -0
  46. {phasorpy-0.3 → phasorpy-0.4}/docs/api/io.rst +0 -0
  47. {phasorpy-0.3 → phasorpy-0.4}/docs/api/phasor.rst +0 -0
  48. {phasorpy-0.3 → phasorpy-0.4}/docs/api/phasorpy.rst +0 -0
  49. {phasorpy-0.3 → phasorpy-0.4}/docs/api/plot.rst +0 -0
  50. {phasorpy-0.3 → phasorpy-0.4}/docs/api/utils.rst +0 -0
  51. {phasorpy-0.3 → phasorpy-0.4}/docs/code_of_conduct.rst +0 -0
  52. {phasorpy-0.3 → phasorpy-0.4}/docs/contributing.rst +0 -0
  53. {phasorpy-0.3 → phasorpy-0.4}/docs/phasor_approach.rst +0 -0
  54. {phasorpy-0.3 → phasorpy-0.4}/setup.cfg +0 -0
  55. {phasorpy-0.3 → phasorpy-0.4}/setup.py +0 -0
  56. {phasorpy-0.3 → phasorpy-0.4}/src/phasorpy/__init__.py +0 -0
  57. {phasorpy-0.3 → phasorpy-0.4}/src/phasorpy/__main__.py +0 -0
  58. {phasorpy-0.3 → phasorpy-0.4}/src/phasorpy/_typing.py +0 -0
  59. {phasorpy-0.3 → phasorpy-0.4}/src/phasorpy/cli.py +0 -0
  60. {phasorpy-0.3 → phasorpy-0.4}/src/phasorpy/components.py +0 -0
  61. {phasorpy-0.3 → phasorpy-0.4}/src/phasorpy/conftest.py +0 -0
  62. {phasorpy-0.3 → phasorpy-0.4}/src/phasorpy/cursors.py +0 -0
  63. {phasorpy-0.3 → phasorpy-0.4}/src/phasorpy/py.typed +0 -0
  64. {phasorpy-0.3 → phasorpy-0.4}/src/phasorpy/utils.py +0 -0
  65. {phasorpy-0.3 → phasorpy-0.4}/src/phasorpy.egg-info/dependency_links.txt +0 -0
  66. {phasorpy-0.3 → phasorpy-0.4}/src/phasorpy.egg-info/entry_points.txt +0 -0
  67. {phasorpy-0.3 → phasorpy-0.4}/src/phasorpy.egg-info/not-zip-safe +0 -0
  68. {phasorpy-0.3 → phasorpy-0.4}/src/phasorpy.egg-info/top_level.txt +0 -0
  69. {phasorpy-0.3 → phasorpy-0.4}/tests/conftest.py +0 -0
  70. {phasorpy-0.3 → phasorpy-0.4}/tests/test__phasorpy.py +0 -0
  71. {phasorpy-0.3 → phasorpy-0.4}/tests/test__typing.py +0 -0
  72. {phasorpy-0.3 → phasorpy-0.4}/tests/test_cli.py +0 -0
  73. {phasorpy-0.3 → phasorpy-0.4}/tests/test_color.py +0 -0
  74. {phasorpy-0.3 → phasorpy-0.4}/tests/test_components.py +0 -0
  75. {phasorpy-0.3 → phasorpy-0.4}/tests/test_cursors.py +0 -0
  76. {phasorpy-0.3 → phasorpy-0.4}/tests/test_datasets.py +0 -0
  77. {phasorpy-0.3 → phasorpy-0.4}/tests/test_nan.py +0 -0
  78. {phasorpy-0.3 → phasorpy-0.4}/tests/test_phasorpy.py +0 -0
  79. {phasorpy-0.3 → phasorpy-0.4}/tutorials/README.rst +0 -0
  80. {phasorpy-0.3 → phasorpy-0.4}/tutorials/api/README.rst +0 -0
  81. {phasorpy-0.3 → phasorpy-0.4}/tutorials/api/phasorpy_components.py +0 -0
  82. {phasorpy-0.3 → phasorpy-0.4}/tutorials/api/phasorpy_fret.py +0 -0
  83. {phasorpy-0.3 → phasorpy-0.4}/tutorials/api/phasorpy_lifetime_to_signal.py +0 -0
  84. {phasorpy-0.3 → phasorpy-0.4}/tutorials/api/phasorpy_pca.py +0 -0
  85. {phasorpy-0.3 → phasorpy-0.4}/tutorials/api/phasorpy_phasor_from_lifetime.py +0 -0
  86. {phasorpy-0.3 → phasorpy-0.4}/tutorials/api/phasorpy_phasorplot.py +0 -0
  87. {phasorpy-0.3 → phasorpy-0.4}/tutorials/applications/README.rst +0 -0
  88. {phasorpy-0.3 → phasorpy-0.4}/tutorials/benchmarks/README.rst +0 -0
  89. {phasorpy-0.3 → phasorpy-0.4}/tutorials/benchmarks/phasorpy_phasor_from_signal.py +0 -0
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2022-2024 PhasorPy Contributors
3
+ Copyright (c) 2022-2025 PhasorPy Contributors
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: phasorpy
3
- Version: 0.3
3
+ Version: 0.4
4
4
  Summary: Analysis of fluorescence lifetime and hyperspectral images using the phasor approach
5
5
  Author: PhasorPy Contributors
6
6
  License: MIT
@@ -52,6 +52,7 @@ Provides-Extra: all
52
52
  Requires-Dist: lfdfiles>=2024.5.24; extra == "all"
53
53
  Requires-Dist: sdtfile>=2024.5.24; extra == "all"
54
54
  Requires-Dist: ptufile>=2024.9.14; extra == "all"
55
+ Requires-Dist: liffile>=2025.1.30; extra == "all"
55
56
 
56
57
  # PhasorPy
57
58
 
@@ -61,7 +62,7 @@ lifetime and hyperspectral images using the phasor approach.
61
62
  - [Homepage](https://www.phasorpy.org)
62
63
  - [Documentation](https://www.phasorpy.org/docs/stable/)
63
64
  - [Source code](https://github.com/phasorpy/phasorpy)
64
- - [Download releases](https://pypi.org/project/phasorpy/#files)
65
+ - [Install with pip](https://pypi.org/project/phasorpy/) or [conda](https://anaconda.org/conda-forge/phasorpy).
65
66
  - [Data files](https://zenodo.org/communities/phasorpy/)
66
67
  - [Issues and questions](https://github.com/phasorpy/phasorpy/issues)
67
68
 
@@ -6,7 +6,7 @@ lifetime and hyperspectral images using the phasor approach.
6
6
  - [Homepage](https://www.phasorpy.org)
7
7
  - [Documentation](https://www.phasorpy.org/docs/stable/)
8
8
  - [Source code](https://github.com/phasorpy/phasorpy)
9
- - [Download releases](https://pypi.org/project/phasorpy/#files)
9
+ - [Install with pip](https://pypi.org/project/phasorpy/) or [conda](https://anaconda.org/conda-forge/phasorpy).
10
10
  - [Data files](https://zenodo.org/communities/phasorpy/)
11
11
  - [Issues and questions](https://github.com/phasorpy/phasorpy/issues)
12
12
 
@@ -1,15 +1,20 @@
1
1
  [
2
2
  {
3
3
  "name": "dev",
4
- "version": "0.4",
4
+ "version": "0.5",
5
5
  "url": "https://www.phasorpy.org/docs/dev/"
6
6
  },
7
7
  {
8
- "name": "0.3 (stable)",
9
- "version": "0.3",
8
+ "name": "0.4 (stable)",
9
+ "version": "0.4",
10
10
  "url": "https://www.phasorpy.org/docs/stable/",
11
11
  "preferred": true
12
12
  },
13
+ {
14
+ "name": "0.3",
15
+ "version": "0.3",
16
+ "url": "https://www.phasorpy.org/docs/v0.3/"
17
+ },
13
18
  {
14
19
  "name": "0.2",
15
20
  "version": "0.2",
@@ -18,7 +18,7 @@ sphinx_gallery.gen_rst.EXAMPLE_HEADER = (
18
18
  # project information
19
19
 
20
20
  project = 'PhasorPy'
21
- copyright = '2022-2024 PhasorPy Contributors'
21
+ copyright = '2022-2025 PhasorPy Contributors'
22
22
  author = 'PhasorPy Contributors'
23
23
 
24
24
  import phasorpy
@@ -40,7 +40,8 @@ The library's source code and documentation are maintained in the
40
40
  `PhasorPy repository on GitHub <https://github.com/phasorpy/phasorpy>`_.
41
41
 
42
42
  Releases can be downloaded and installed from the
43
- `PhasorPy project on PyPI <https://pypi.org/project/phasorpy/>`_.
43
+ `PhasorPy project on PyPI <https://pypi.org/project/phasorpy/>`_
44
+ or `conda-forge <https://anaconda.org/conda-forge/phasorpy>`_.
44
45
 
45
46
  Sample data files used in tutorials and testing are available from the
46
47
  `PhasorPy community on Zenodo <https://zenodo.org/communities/phasorpy>`_.
@@ -1,7 +1,7 @@
1
1
  MIT License
2
2
  ===========
3
3
 
4
- Copyright © 2022-2024 :ref:`PhasorPy Contributors <contributors>`
4
+ Copyright © 2022-2025 :ref:`PhasorPy Contributors <contributors>`
5
5
 
6
6
  Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  of this software and associated documentation files (the “Software”), to deal
@@ -10,14 +10,47 @@ documentation and maintenance changes.
10
10
  It is not nearly feature complete.
11
11
  Large, backwards-incompatible changes may occur between revisions.
12
12
 
13
+ 0.4 (2025.1.30)
14
+ ---------------
15
+
16
+ This is the fourth alpha release of the PhasorPy library.
17
+ It contains several bug fixes and many improvements, mostly to the ``phasorpy.io`` module.
18
+ File reader functions are now named ``signal_from_*`` or ``phasor_from_*``
19
+ and have a more consistent API.
20
+ Point mode PTU files, LIF files containing phasor coordinates or hyperspectral
21
+ signals, and FLIM LABS JSON files are supported.
22
+ PhasorPy releases are now available on conda-forge.
23
+ This release supports Python 3.10 to 3.13.
24
+
25
+ What's Changed
26
+ ..............
27
+
28
+ * Bump version by @cgohlke in https://github.com/phasorpy/phasorpy/pull/163
29
+ * Support labelled signal axes by @cgohlke in https://github.com/phasorpy/phasorpy/pull/166
30
+ * Update copyright year by @cgohlke in https://github.com/phasorpy/phasorpy/pull/168
31
+ * Return array coordinates from files in normal units by @cgohlke in https://github.com/phasorpy/phasorpy/pull/169
32
+ * Document availability on conda-forge by @cgohlke in https://github.com/phasorpy/phasorpy/pull/170
33
+ * Fix RST code is two backticks by @cgohlke in https://github.com/phasorpy/phasorpy/pull/171
34
+ * Support reading point mode PTU files by @cgohlke in https://github.com/phasorpy/phasorpy/pull/172
35
+ * Fix phasor_calibrate for handling higher harmonics than size of first dimension of reference_real by @bruno-pannunzio in https://github.com/phasorpy/phasorpy/pull/176
36
+ * Improve io module by @cgohlke in https://github.com/phasorpy/phasorpy/pull/177
37
+ * Add support for Leica LIF files by @cgohlke in https://github.com/phasorpy/phasorpy/pull/178
38
+ * Add support for new FLIM LABS JSON format by @cgohlke in https://github.com/phasorpy/phasorpy/pull/179
39
+ * Reformat with black 25.1 by @cgohlke in https://github.com/phasorpy/phasorpy/pull/180
40
+ * Release v0.4 by @cgohlke in https://github.com/phasorpy/phasorpy/pull/181
41
+ * Fixes for liffile 2025.1.30 by @cgohlke in https://github.com/phasorpy/phasorpy/pull/182
42
+
43
+ **Full Changelog**: https://github.com/phasorpy/phasorpy/compare/v0.3...v0.4
44
+
45
+
13
46
  0.3 (2024.12.16)
14
47
  ----------------
15
48
 
16
49
  This is the third alpha release of the PhasorPy library.
17
- It fixes the averaging of phasor coordinates in the `phasor_center` and
18
- `phasor_calibrate` functions, replaces the `phasor_filter` function
19
- with `phasor_filter_median`, adds support for multiple harmonics to
20
- `phasor_threshold`, and adds the `real_imspector_tiff` function to read
50
+ It fixes the averaging of phasor coordinates in the ``phasor_center`` and
51
+ ``phasor_calibrate`` functions, replaces the ``phasor_filter`` function
52
+ with ``phasor_filter_median``, adds support for multiple harmonics to
53
+ ``phasor_threshold``, and adds the ``read_imspector_tiff`` function to read
21
54
  ImSpector FLIM TIFF files. This release supports Python 3.10 to 3.13.
22
55
 
23
56
  What's Changed
@@ -77,6 +77,7 @@ all = [
77
77
  "lfdfiles>=2024.5.24",
78
78
  "sdtfile>=2024.5.24",
79
79
  "ptufile>=2024.9.14",
80
+ "liffile>=2025.1.30",
80
81
  ]
81
82
 
82
83
  [tool.setuptools]
@@ -187,5 +188,5 @@ norecursedirs = [
187
188
 
188
189
  [tool.cibuildwheel]
189
190
  skip = "pp* cp37* cp38* cp39* *musllinux* *i686 *ppc64le *s390x cp39*win*arm64 cp310*win*arm64"
190
- test-requires = ["lfdfiles", "sdtfile", "ptufile", "pytest", "pytest-cov", "pytest-runner", "pytest-doctestplus", "coverage"]
191
+ test-requires = ["lfdfiles", "sdtfile", "ptufile", "liffile", "pytest", "pytest-cov", "pytest-runner", "pytest-doctestplus", "coverage"]
191
192
  test-command = "pytest {project}/tests"