pyfli-lib 0.1.0__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 (82) hide show
  1. pyfli_lib-0.1.0/LICENSE +43 -0
  2. pyfli_lib-0.1.0/MANIFEST.in +14 -0
  3. pyfli_lib-0.1.0/PKG-INFO +118 -0
  4. pyfli_lib-0.1.0/README.md +73 -0
  5. pyfli_lib-0.1.0/pyproject.toml +76 -0
  6. pyfli_lib-0.1.0/setup.cfg +4 -0
  7. pyfli_lib-0.1.0/src/pyfli/__init__.py +39 -0
  8. pyfli_lib-0.1.0/src/pyfli/scripts/__init__.py +34 -0
  9. pyfli_lib-0.1.0/src/pyfli/scripts/analytical_methods/__init__.py +5 -0
  10. pyfli_lib-0.1.0/src/pyfli/scripts/analytical_methods/am_utils.py +15 -0
  11. pyfli_lib-0.1.0/src/pyfli/scripts/analytical_methods/laguerre_deconvolution.py +508 -0
  12. pyfli_lib-0.1.0/src/pyfli/scripts/analytical_methods/nlsf.py +1476 -0
  13. pyfli_lib-0.1.0/src/pyfli/scripts/analytical_methods/phasor_simple.py +869 -0
  14. pyfli_lib-0.1.0/src/pyfli/scripts/dataCC/IRF_process.py +98 -0
  15. pyfli_lib-0.1.0/src/pyfli/scripts/dataCC/__init__.py +6 -0
  16. pyfli_lib-0.1.0/src/pyfli/scripts/dataCC/dataCC_utils.py +73 -0
  17. pyfli_lib-0.1.0/src/pyfli/scripts/dataCC/norm.py +121 -0
  18. pyfli_lib-0.1.0/src/pyfli/scripts/dataCC/subsetdataset.py +46 -0
  19. pyfli_lib-0.1.0/src/pyfli/scripts/dataIO/__init__.py +6 -0
  20. pyfli_lib-0.1.0/src/pyfli/scripts/dataIO/dataIO_utils.py +46 -0
  21. pyfli_lib-0.1.0/src/pyfli/scripts/dataIO/dataoperations.py +218 -0
  22. pyfli_lib-0.1.0/src/pyfli/scripts/dataIO/dataops_static.py +144 -0
  23. pyfli_lib-0.1.0/src/pyfli/scripts/dataIO/detectorImport.py +318 -0
  24. pyfli_lib-0.1.0/src/pyfli/scripts/dataIO/flim_decay_cube.py +913 -0
  25. pyfli_lib-0.1.0/src/pyfli/scripts/dataIO/processed_DataOperation.py +235 -0
  26. pyfli_lib-0.1.0/src/pyfli/scripts/dataVnP/__init__.py +4 -0
  27. pyfli_lib-0.1.0/src/pyfli/scripts/dataVnP/colorProcess.py +13 -0
  28. pyfli_lib-0.1.0/src/pyfli/scripts/dataVnP/dv_multiPlotter.py +355 -0
  29. pyfli_lib-0.1.0/src/pyfli/scripts/dataVnP/mdataViz.py +275 -0
  30. pyfli_lib-0.1.0/src/pyfli/scripts/data_saving.py +78 -0
  31. pyfli_lib-0.1.0/src/pyfli/scripts/data_text/__init__.py +2 -0
  32. pyfli_lib-0.1.0/src/pyfli/scripts/data_text/msg_display.py +98 -0
  33. pyfli_lib-0.1.0/src/pyfli/scripts/phasor/__init__.py +51 -0
  34. pyfli_lib-0.1.0/src/pyfli/scripts/phasor/config.py +172 -0
  35. pyfli_lib-0.1.0/src/pyfli/scripts/phasor/lifetimes.py +228 -0
  36. pyfli_lib-0.1.0/src/pyfli/scripts/phasor/locus.py +186 -0
  37. pyfli_lib-0.1.0/src/pyfli/scripts/phasor/main.py +167 -0
  38. pyfli_lib-0.1.0/src/pyfli/scripts/phasor/phasors.py +377 -0
  39. pyfli_lib-0.1.0/src/pyfli/scripts/phasor/plot.py +289 -0
  40. pyfli_lib-0.1.0/src/pyfli/scripts/phasor/test_phasor_flim.py +320 -0
  41. pyfli_lib-0.1.0/src/pyfli/scripts/roiMaker/__init__.py +4 -0
  42. pyfli_lib-0.1.0/src/pyfli/scripts/roiMaker/roi_maker.py +210 -0
  43. pyfli_lib-0.1.0/src/pyfli/scripts/simulator/__init__.py +13 -0
  44. pyfli_lib-0.1.0/src/pyfli/scripts/simulator/batch_sim.py +81 -0
  45. pyfli_lib-0.1.0/src/pyfli/scripts/simulator/calibration_engine.py +179 -0
  46. pyfli_lib-0.1.0/src/pyfli/scripts/simulator/distributions.py +44 -0
  47. pyfli_lib-0.1.0/src/pyfli/scripts/simulator/main_factory.py +146 -0
  48. pyfli_lib-0.1.0/src/pyfli/scripts/simulator/noise_models.py +41 -0
  49. pyfli_lib-0.1.0/src/pyfli/scripts/simulator/sim_helper.py +30 -0
  50. pyfli_lib-0.1.0/src/pyfli/scripts/simulator/sim_image_generator.py +114 -0
  51. pyfli_lib-0.1.0/src/pyfli/scripts/simulator/sim_stat_test.py +122 -0
  52. pyfli_lib-0.1.0/src/pyfli/scripts/simulator/simulator_engine.py +91 -0
  53. pyfli_lib-0.1.0/src/pyfli/scripts/simulatorPhysics.py +581 -0
  54. pyfli_lib-0.1.0/src/pyfli/scripts/singleshot/singleshot.py +92 -0
  55. pyfli_lib-0.1.0/src/pyfli/scripts/solver/__init__.py +11 -0
  56. pyfli_lib-0.1.0/src/pyfli/scripts/solver/base_fitter.py +159 -0
  57. pyfli_lib-0.1.0/src/pyfli/scripts/solver/base_static.py +159 -0
  58. pyfli_lib-0.1.0/src/pyfli/scripts/solver/binned_fliFitter.py +114 -0
  59. pyfli_lib-0.1.0/src/pyfli/scripts/solver/comparison.py +121 -0
  60. pyfli_lib-0.1.0/src/pyfli/scripts/solver/flicpuFitter.py +228 -0
  61. pyfli_lib-0.1.0/src/pyfli/scripts/solver/fligpuFitter.py +265 -0
  62. pyfli_lib-0.1.0/src/pyfli/scripts/solver/globalFitter.py +217 -0
  63. pyfli_lib-0.1.0/src/pyfli/scripts/solver/mleFitter.py +143 -0
  64. pyfli_lib-0.1.0/src/pyfli/scripts/solver/solver_utils.py +34 -0
  65. pyfli_lib-0.1.0/src/pyfli/scripts/ss_helpers.py +42 -0
  66. pyfli_lib-0.1.0/src/pyfli/scripts/stat_tests.py +273 -0
  67. pyfli_lib-0.1.0/src/pyfli/scripts/utils_common.py +402 -0
  68. pyfli_lib-0.1.0/src/pyfli/spAnalysis/__init__.py +12 -0
  69. pyfli_lib-0.1.0/src/pyfli/spAnalysis/base_reconstructor.py +109 -0
  70. pyfli_lib-0.1.0/src/pyfli/spAnalysis/basis.py +41 -0
  71. pyfli_lib-0.1.0/src/pyfli/spAnalysis/main.py +43 -0
  72. pyfli_lib-0.1.0/src/pyfli/spAnalysis/simulator/__init__.py +3 -0
  73. pyfli_lib-0.1.0/src/pyfli/spAnalysis/simulator/measurement_sim.py +74 -0
  74. pyfli_lib-0.1.0/src/pyfli/spAnalysis/simulator/pattern_gen.py +75 -0
  75. pyfli_lib-0.1.0/src/pyfli/spAnalysis/simulator/reconstructor.py +104 -0
  76. pyfli_lib-0.1.0/src/pyfli/spAnalysis/solvers.py +73 -0
  77. pyfli_lib-0.1.0/src/pyfli/spAnalysis/spad_solvers.py +77 -0
  78. pyfli_lib-0.1.0/src/pyfli_lib.egg-info/PKG-INFO +118 -0
  79. pyfli_lib-0.1.0/src/pyfli_lib.egg-info/SOURCES.txt +80 -0
  80. pyfli_lib-0.1.0/src/pyfli_lib.egg-info/dependency_links.txt +1 -0
  81. pyfli_lib-0.1.0/src/pyfli_lib.egg-info/requires.txt +23 -0
  82. pyfli_lib-0.1.0/src/pyfli_lib.egg-info/top_level.txt +1 -0
@@ -0,0 +1,43 @@
1
+ Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International
2
+
3
+ Copyright (c) 2026 Vikas Pandey
4
+
5
+ This work is licensed under the Creative Commons
6
+ Attribution-NonCommercial-NoDerivatives 4.0 International License.
7
+
8
+ You are free to:
9
+ Share — copy and redistribute the material in any medium or format.
10
+
11
+ Under the following terms:
12
+ Attribution — You must give appropriate credit, provide a link to the
13
+ license, and indicate if changes were made. You may do so in any
14
+ reasonable manner, but not in any way that suggests the licensor
15
+ endorses you or your use.
16
+
17
+ NonCommercial — You may not use the material for commercial purposes.
18
+
19
+ NoDerivatives — If you remix, transform, or build upon the material,
20
+ you may not distribute the modified material.
21
+
22
+ No additional restrictions — You may not apply legal terms or
23
+ technological measures that legally restrict others from doing
24
+ anything the license permits.
25
+
26
+ Notices:
27
+ You do not have to comply with the license for elements of the material
28
+ in the public domain or where your use is permitted by an applicable
29
+ exception or limitation.
30
+
31
+ No warranties are given. The license may not give you all of the
32
+ permissions necessary for your intended use. For example, other rights
33
+ such as publicity, privacy, or moral rights may limit how you use the
34
+ material.
35
+
36
+ To view a full copy of this license, visit:
37
+ https://creativecommons.org/licenses/by-nc-nd/4.0/
38
+
39
+ Or send a letter to:
40
+ Creative Commons
41
+ PO Box 1866
42
+ Mountain View, CA 94042
43
+ USA
@@ -0,0 +1,14 @@
1
+ include LICENSE
2
+ include README.md
3
+ include pyproject.toml
4
+
5
+ recursive-exclude data *
6
+ recursive-exclude notebooks *
7
+ recursive-exclude dist *
8
+ recursive-exclude .vscode *
9
+ recursive-exclude tests *
10
+ global-exclude __pycache__
11
+ global-exclude *.py[cod]
12
+ global-exclude *.h5
13
+ global-exclude *.sdt
14
+ global-exclude *.tif
@@ -0,0 +1,118 @@
1
+ Metadata-Version: 2.4
2
+ Name: pyfli-lib
3
+ Version: 0.1.0
4
+ Summary: Unified Fluorescence Lifetime Imaging (FLI) data processing platform using analytical and deep learning methods.
5
+ Author: Vikas Pandey
6
+ License: CC BY-NC-ND 4.0
7
+ Project-URL: Homepage, https://github.com/vkp217/pyfli-pkg
8
+ Project-URL: Repository, https://github.com/vkp217/pyfli-pkg.git
9
+ Project-URL: Issues, https://github.com/vkp217/pyfli-pkg/issues
10
+ Keywords: fluorescence,lifetime,FLIM,FLI,TCSPC,phasor,microscopy,bioimaging,ICCD,SPAD,laguerre,deconvolution
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Science/Research
13
+ Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
14
+ Classifier: Topic :: Scientific/Engineering :: Image Processing
15
+ Classifier: License :: Other/Proprietary License
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Operating System :: OS Independent
20
+ Requires-Python: >=3.11
21
+ Description-Content-Type: text/markdown
22
+ License-File: LICENSE
23
+ Requires-Dist: h5py>=3.10.0
24
+ Requires-Dist: sdtfile>=2025.0.0
25
+ Requires-Dist: tifffile>=2025.0.0
26
+ Requires-Dist: imagecodecs
27
+ Requires-Dist: joblib>=1.3.0
28
+ Requires-Dist: scikit-image>=0.22.0
29
+ Requires-Dist: opencv-python>=4.8.0
30
+ Requires-Dist: numpy>=1.24.0
31
+ Requires-Dist: matplotlib>=3.7.0
32
+ Requires-Dist: scipy
33
+ Requires-Dist: tqdm
34
+ Requires-Dist: seaborn
35
+ Requires-Dist: pillow
36
+ Requires-Dist: tabulate>=0.10.0
37
+ Requires-Dist: torch>=2.0.0
38
+ Provides-Extra: gpu
39
+ Requires-Dist: tensorflow>=2.15.0; extra == "gpu"
40
+ Provides-Extra: dev
41
+ Requires-Dist: pytest; extra == "dev"
42
+ Requires-Dist: black; extra == "dev"
43
+ Requires-Dist: ipykernel>=6.0.0; extra == "dev"
44
+ Dynamic: license-file
45
+
46
+ # pyfli: A Unified Platform for FLI Data Processing
47
+
48
+ [![License: CC BY-NC-ND 4.0](https://img.shields.io/badge/License-CC%20BY--NC--ND%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-nd/4.0/)
49
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
50
+ [![PyPI version](https://img.shields.io/pypi/v/pyfli-lib.svg)](https://pypi.org/project/pyfli-lib/)
51
+
52
+ `pyfli` is a comprehensive library designed for **Fluorescence Lifetime Imaging (FLI)** data processing. It streamlines the workflow for handling diverse file formats from various hardware manufacturers and provides a standardized pipeline for both traditional analytical and deep-learning-based inference.
53
+
54
+ ---
55
+
56
+ ## Key Features
57
+
58
+ * **Universal Processing Pipeline:** Simplifies the handling of multiple FLI file types (ICCD, SPAD, TCSPC).
59
+ * **Enhanced FLI Simulator:** A robust simulation engine adaptable to specific camera hardware parameters and noise models.
60
+ * **Standardized Inference:** Unified interface for time-resolved microscopy and macroscopic FLI data (MFLI).
61
+
62
+ ## Supported Data Acquisition Methods
63
+
64
+ The platform provides native support for several high-end imaging systems:
65
+
66
+ 1. **ICCD:** Intensified Charge-Coupled Device cameras for fast-gated, wide-field imaging.
67
+ 2. **SwissSPAD2 & SwissSPAD3:** High-speed SPAD (Single-Photon Avalanche Diode) architectures for high-resolution photon counting.
68
+ 3. **SPCImage/TCSPC:** Standardized processing for Time-Correlated Single Photon Counting microscopy data.
69
+
70
+ ## Data Processing & Analysis
71
+
72
+ `pyfli` implements industry-standard analytical methods to extract lifetime information:
73
+
74
+ * **Non-linear Least Squares Fitting (NLSF):** Robust mathematical approach for exponential decay modeling.
75
+ * **Phasor Plot Analysis:** Graphical, model-free transformation of fluorescence decay into a 2D polar plot for easy species separation.
76
+ * **Maximum Likelihood Estimation (MLE):** Statistical estimator optimized for low-photon regimes.
77
+ * **Rapid Lifetime Determination (RLD):** Computationally efficient method for real-time applications and high-frame-rate data.
78
+ * **Laguerre Method (LET):** Laguerre Expansion Technique for model-free IRF deconvolution followed by multi-exponential lifetime extraction on a per-pixel basis.
79
+
80
+ ---
81
+
82
+ ## Installation
83
+
84
+ Install the stable version directly from PyPI:
85
+
86
+ ```bash
87
+ pip install pyfli-lib
88
+ ```
89
+
90
+ For users requiring GPU-based processing, install the optional tensor/AI dependencies:
91
+
92
+ ```bash
93
+ pip install "pyfli-lib[gpu]"
94
+ ```
95
+
96
+ ## Quick Start
97
+
98
+ Even though the package is installed as `pyfli-lib`, you import it as `pyfli` in your scripts:
99
+
100
+ ```python
101
+ from pyfli import DataOperations
102
+
103
+ loader = DataOperations(
104
+ data_path = "experimental_data.sdt",
105
+ irf_path = "instrument_data.txt",
106
+ bg_path = "background_data.tif",
107
+ mask_path="background_data.png",
108
+ )
109
+ decay_data = loader.load_data()
110
+ irf_data = loader.load_irf()
111
+
112
+ ```
113
+
114
+ ## Repository & Issues
115
+
116
+ The source code is hosted on GitHub. Please report any bugs or feature requests via the issues tracker.
117
+ * **GitHub:** [https://github.com/vkp217/pyfli-pkg](https://github.com/vkp217/pyfli-pkg)
118
+
@@ -0,0 +1,73 @@
1
+ # pyfli: A Unified Platform for FLI Data Processing
2
+
3
+ [![License: CC BY-NC-ND 4.0](https://img.shields.io/badge/License-CC%20BY--NC--ND%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-nd/4.0/)
4
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
5
+ [![PyPI version](https://img.shields.io/pypi/v/pyfli-lib.svg)](https://pypi.org/project/pyfli-lib/)
6
+
7
+ `pyfli` is a comprehensive library designed for **Fluorescence Lifetime Imaging (FLI)** data processing. It streamlines the workflow for handling diverse file formats from various hardware manufacturers and provides a standardized pipeline for both traditional analytical and deep-learning-based inference.
8
+
9
+ ---
10
+
11
+ ## Key Features
12
+
13
+ * **Universal Processing Pipeline:** Simplifies the handling of multiple FLI file types (ICCD, SPAD, TCSPC).
14
+ * **Enhanced FLI Simulator:** A robust simulation engine adaptable to specific camera hardware parameters and noise models.
15
+ * **Standardized Inference:** Unified interface for time-resolved microscopy and macroscopic FLI data (MFLI).
16
+
17
+ ## Supported Data Acquisition Methods
18
+
19
+ The platform provides native support for several high-end imaging systems:
20
+
21
+ 1. **ICCD:** Intensified Charge-Coupled Device cameras for fast-gated, wide-field imaging.
22
+ 2. **SwissSPAD2 & SwissSPAD3:** High-speed SPAD (Single-Photon Avalanche Diode) architectures for high-resolution photon counting.
23
+ 3. **SPCImage/TCSPC:** Standardized processing for Time-Correlated Single Photon Counting microscopy data.
24
+
25
+ ## Data Processing & Analysis
26
+
27
+ `pyfli` implements industry-standard analytical methods to extract lifetime information:
28
+
29
+ * **Non-linear Least Squares Fitting (NLSF):** Robust mathematical approach for exponential decay modeling.
30
+ * **Phasor Plot Analysis:** Graphical, model-free transformation of fluorescence decay into a 2D polar plot for easy species separation.
31
+ * **Maximum Likelihood Estimation (MLE):** Statistical estimator optimized for low-photon regimes.
32
+ * **Rapid Lifetime Determination (RLD):** Computationally efficient method for real-time applications and high-frame-rate data.
33
+ * **Laguerre Method (LET):** Laguerre Expansion Technique for model-free IRF deconvolution followed by multi-exponential lifetime extraction on a per-pixel basis.
34
+
35
+ ---
36
+
37
+ ## Installation
38
+
39
+ Install the stable version directly from PyPI:
40
+
41
+ ```bash
42
+ pip install pyfli-lib
43
+ ```
44
+
45
+ For users requiring GPU-based processing, install the optional tensor/AI dependencies:
46
+
47
+ ```bash
48
+ pip install "pyfli-lib[gpu]"
49
+ ```
50
+
51
+ ## Quick Start
52
+
53
+ Even though the package is installed as `pyfli-lib`, you import it as `pyfli` in your scripts:
54
+
55
+ ```python
56
+ from pyfli import DataOperations
57
+
58
+ loader = DataOperations(
59
+ data_path = "experimental_data.sdt",
60
+ irf_path = "instrument_data.txt",
61
+ bg_path = "background_data.tif",
62
+ mask_path="background_data.png",
63
+ )
64
+ decay_data = loader.load_data()
65
+ irf_data = loader.load_irf()
66
+
67
+ ```
68
+
69
+ ## Repository & Issues
70
+
71
+ The source code is hosted on GitHub. Please report any bugs or feature requests via the issues tracker.
72
+ * **GitHub:** [https://github.com/vkp217/pyfli-pkg](https://github.com/vkp217/pyfli-pkg)
73
+
@@ -0,0 +1,76 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "pyfli-lib"
7
+ version = "0.1.0"
8
+ description = "Unified Fluorescence Lifetime Imaging (FLI) data processing platform using analytical and deep learning methods."
9
+ readme = "README.md"
10
+ requires-python = ">=3.11"
11
+ license = {text = "CC BY-NC-ND 4.0"}
12
+ authors = [
13
+ {name = "Vikas Pandey"}
14
+ ]
15
+ keywords = [
16
+ "fluorescence", "lifetime", "FLIM", "FLI", "TCSPC", "phasor",
17
+ "microscopy", "bioimaging", "ICCD", "SPAD", "laguerre", "deconvolution"
18
+ ]
19
+ classifiers = [
20
+ "Development Status :: 4 - Beta",
21
+ "Intended Audience :: Science/Research",
22
+ "Topic :: Scientific/Engineering :: Bio-Informatics",
23
+ "Topic :: Scientific/Engineering :: Image Processing",
24
+ "License :: Other/Proprietary License",
25
+ "Programming Language :: Python :: 3",
26
+ "Programming Language :: Python :: 3.11",
27
+ "Programming Language :: Python :: 3.12",
28
+ "Operating System :: OS Independent",
29
+ ]
30
+ # Core dependencies for the analytical methods
31
+ dependencies = [
32
+ "h5py>=3.10.0",
33
+ "sdtfile>=2025.0.0",
34
+ "tifffile>=2025.0.0",
35
+ "imagecodecs",
36
+ "joblib>=1.3.0",
37
+ "scikit-image>=0.22.0",
38
+ "opencv-python>=4.8.0",
39
+ "numpy>=1.24.0",
40
+ "matplotlib>=3.7.0",
41
+ "scipy",
42
+ "tqdm",
43
+ "seaborn",
44
+ "pillow",
45
+ "tabulate>=0.10.0",
46
+ "torch>=2.0.0"
47
+ ]
48
+
49
+
50
+ [project.optional-dependencies]
51
+ gpu = [
52
+ "tensorflow>=2.15.0",
53
+ ]
54
+ dev = [
55
+ "pytest",
56
+ "black",
57
+ "ipykernel>=6.0.0",
58
+ ]
59
+
60
+ [tool.setuptools.packages.find]
61
+ where = ["src"]
62
+ include = ["pyfli*"]
63
+ exclude = ["notebooks*", "config*", "data*"]
64
+
65
+ [project.urls]
66
+ Homepage = "https://github.com/vkp217/pyfli-pkg"
67
+ Repository = "https://github.com/vkp217/pyfli-pkg.git"
68
+ Issues = "https://github.com/vkp217/pyfli-pkg/issues"
69
+
70
+ [tool.pytest.ini_options]
71
+ testpaths = ["tests"]
72
+ addopts = "-v --tb=short"
73
+ filterwarnings = [
74
+ "ignore::DeprecationWarning",
75
+ "ignore::RuntimeWarning",
76
+ ]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,39 @@
1
+ #### inside "pyfli.__init__.py"
2
+ __version__ = "0.1.17"
3
+
4
+ # Pulling everything from the scripts gatekeeper
5
+ from .scripts import (DataOperations, IRFAligner, DataViewer,
6
+ AlliGprocessedImport, BHprocessedImport, PyFliprocessedImport,
7
+ HardSimulator, HardestSimulator, DatasetPlotter,
8
+ PhasorAnalyzer, FLIFitter, PoissonLikelihoodFitter, FLIAnalysisSuite,
9
+ Plotter, DLModelComparator, DataPreprocessing,
10
+ BaseFLIFitter, Fli_CPUProcessor, Fli_GPUProcessor, MLEFLIFitter,
11
+ GlobalFLIFitter, ROIMaker, AnalyticalHelpers, DataIO_utils, Colorprocess,
12
+ Macro_sim, TCSPC_sim, FLIImageGenerator, FLICalibrator, FLIValidator,Normalization,
13
+ recovery_plot, random_true_pixel, data_masking, save_plot,
14
+ Msg_display, FittingComparator, Detector,
15
+ BinnedFliFitter, FliBinner, ROIoperations, Batch_sim, DataSaver,
16
+ load_flim_data, collapse_to_xyt, plot_xyt,
17
+ LaguerreFLI)
18
+
19
+ from .spAnalysis import (BasisPatterns, MeasurementSimulator, Reconstructor)
20
+
21
+ __all__ = ['DataOperations', 'IRFAligner', 'DataViewer',
22
+ 'AlliGprocessedImport', 'BHprocessedImport', 'PyFliprocessedImport',
23
+ 'HardSimulator', 'HardestSimulator', 'DatasetPlotter',
24
+ 'PhasorAnalyzer', 'FLIFitter', 'PoissonLikelihoodFitter', 'FLIAnalysisSuite',
25
+ 'Plotter', 'DLModelComparator', 'DataPreprocessing',
26
+ 'BaseFLIFitter', 'Fli_CPUProcessor', 'Fli_GPUProcessor',
27
+ 'MLEFLIFitter', 'GlobalFLIFitter', 'ROIMaker',
28
+ 'AnalyticalHelpers', 'DataIO_utils',
29
+ 'Colorprocess', 'Macro_sim', 'TCSPC_sim', 'FLIImageGenerator',
30
+ 'recovery_plot', 'random_true_pixel', 'save_plot',
31
+ 'FLICalibrator', 'FLIValidator', 'Normalization',
32
+ 'Msg_display', 'FittingComparator',
33
+ 'data_masking', 'Detector', 'BinnedFliFitter', 'FliBinner',
34
+ 'ROIoperations', 'Batch_sim', 'DataSaver', 'LaguerreFLI',
35
+ # this is for SPAnalysis
36
+ 'BasisPatterns', 'MeasurementSimulator', 'Reconstructor',
37
+ 'load_flim_data', 'collapse_to_xyt', 'plot_xyt'
38
+ ]
39
+
@@ -0,0 +1,34 @@
1
+ #### inside "scripts.__init__.py"
2
+ from .dataIO import (DataOperations, AlliGprocessedImport,
3
+ BHprocessedImport, PyFliprocessedImport, DatasetPlotter, DataIO_utils,
4
+ Detector, load_flim_data, collapse_to_xyt, plot_xyt )
5
+ from .analytical_methods import (PhasorAnalyzer, FLIFitter, PoissonLikelihoodFitter,
6
+ FLIAnalysisSuite, AnalyticalHelpers,
7
+ LaguerreFLI)
8
+ from .dataCC import IRFAligner, DataPreprocessing, Normalization, ROIoperations
9
+ from .dataVnP import DataViewer, Plotter, DLModelComparator, Colorprocess
10
+ from .roiMaker import ROIMaker
11
+ from .solver import (BaseFLIFitter, Fli_CPUProcessor, Fli_GPUProcessor,
12
+ MLEFLIFitter, GlobalFLIFitter, FittingComparator,
13
+ BinnedFliFitter, FliBinner)
14
+ from .simulator import (Macro_sim, TCSPC_sim, FLIImageGenerator, FLICalibrator, FLIValidator, Batch_sim)
15
+ from .data_text import Msg_display
16
+
17
+ from .simulatorPhysics import HardSimulator, HardestSimulator
18
+ from .utils_common import recovery_plot, random_true_pixel, data_masking, save_plot
19
+ from .data_saving import DataSaver
20
+
21
+ # This allows: from pyfli.scripts import DataViewer
22
+ __all__ = ["DataOperations", "IRFAligner", "DataViewer", "AlliGprocessedImport",
23
+ "BHprocessedImport", "PyFliprocessedImport", "DatasetPlotter", "HardSimulator",
24
+ "HardestSimulator", "FLIFitter", "PoissonLikelihoodFitter", "FLIAnalysisSuite",
25
+ "PhasorAnalyzer", "Plotter", "DLModelComparator", "DataPreprocessing",
26
+ "BaseFLIFitter", "Fli_CPUProcessor", "Fli_GPUProcessor", "MLEFLIFitter", "GlobalFLIFitter",
27
+ "ROIMaker", "AnalyticalHelpers", "DataIO_utils", "Colorprocess",
28
+ "Macro_sim", "TCSPC_sim", "FLIImageGenerator", "recovery_plot", "random_true_pixel", "save_plot",
29
+ "FLICalibrator", "FLIValidator", "Normalization", "Msg_display", "FittingComparator",
30
+ "data_masking", "Detector", "BinnedFliFitter", "FliBinner", "ROIoperations",
31
+ "Batch_sim", "DataSaver", "load_flim_data", "collapse_to_xyt", "plot_xyt",
32
+ "LaguerreFLI"
33
+ ]
34
+
@@ -0,0 +1,5 @@
1
+ ### inside analytical_methods
2
+ from .phasor_simple import PhasorAnalyzer
3
+ from .nlsf import FLIFitter, PoissonLikelihoodFitter, FLIAnalysisSuite
4
+ from .am_utils import AnalyticalHelpers
5
+ from .laguerre_deconvolution import LaguerreFLI
@@ -0,0 +1,15 @@
1
+ import numpy as np
2
+
3
+ class AnalyticalHelpers:
4
+ def __init__(self, laser_period = 12.5, gate_delay=None, num_gate = None):
5
+ self.laser_period = laser_period
6
+ self.gate_delay = gate_delay
7
+ self.num_gate = num_gate
8
+
9
+ def freq_computation(self):
10
+ freq = 1000.0/self.laser_period # laser_period in ns; freq in Hz
11
+ if self.gate_delay is None or self.num_gate is None:
12
+ effective_freq = freq
13
+ else:
14
+ effective_freq = 1000.0/(self.num_gate*self.gate_delay) # frequency is computed in the MHz if the gate delays are in ns
15
+ return [freq, effective_freq]