phasor-handler 2.2.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.
- phasor_handler-2.2.0/CONTRIBUTING.md +73 -0
- phasor_handler-2.2.0/LICENSE.md +21 -0
- phasor_handler-2.2.0/MANIFEST.in +8 -0
- phasor_handler-2.2.0/PKG-INFO +134 -0
- phasor_handler-2.2.0/README.md +76 -0
- phasor_handler-2.2.0/environment.yml +219 -0
- phasor_handler-2.2.0/img/icons/chevron-down.svg +3 -0
- phasor_handler-2.2.0/img/icons/chevron-up.svg +3 -0
- phasor_handler-2.2.0/img/logo.ico +0 -0
- phasor_handler-2.2.0/phasor_handler/__init__.py +9 -0
- phasor_handler-2.2.0/phasor_handler/app.py +249 -0
- phasor_handler-2.2.0/phasor_handler/img/icons/chevron-down.svg +3 -0
- phasor_handler-2.2.0/phasor_handler/img/icons/chevron-up.svg +3 -0
- phasor_handler-2.2.0/phasor_handler/img/logo.ico +0 -0
- phasor_handler-2.2.0/phasor_handler/models/dir_manager.py +100 -0
- phasor_handler-2.2.0/phasor_handler/scripts/contrast.py +131 -0
- phasor_handler-2.2.0/phasor_handler/scripts/convert.py +155 -0
- phasor_handler-2.2.0/phasor_handler/scripts/meta_reader.py +467 -0
- phasor_handler-2.2.0/phasor_handler/scripts/plot.py +110 -0
- phasor_handler-2.2.0/phasor_handler/scripts/register.py +86 -0
- phasor_handler-2.2.0/phasor_handler/themes/__init__.py +8 -0
- phasor_handler-2.2.0/phasor_handler/themes/dark_theme.py +330 -0
- phasor_handler-2.2.0/phasor_handler/tools/__init__.py +1 -0
- phasor_handler-2.2.0/phasor_handler/tools/check_stylesheet.py +15 -0
- phasor_handler-2.2.0/phasor_handler/tools/misc.py +20 -0
- phasor_handler-2.2.0/phasor_handler/widgets/__init__.py +5 -0
- phasor_handler-2.2.0/phasor_handler/widgets/analysis/components/__init__.py +9 -0
- phasor_handler-2.2.0/phasor_handler/widgets/analysis/components/bnc.py +426 -0
- phasor_handler-2.2.0/phasor_handler/widgets/analysis/components/circle_roi.py +850 -0
- phasor_handler-2.2.0/phasor_handler/widgets/analysis/components/image_view.py +667 -0
- phasor_handler-2.2.0/phasor_handler/widgets/analysis/components/meta_info.py +481 -0
- phasor_handler-2.2.0/phasor_handler/widgets/analysis/components/roi_list.py +659 -0
- phasor_handler-2.2.0/phasor_handler/widgets/analysis/components/trace_plot.py +621 -0
- phasor_handler-2.2.0/phasor_handler/widgets/analysis/view.py +1735 -0
- phasor_handler-2.2.0/phasor_handler/widgets/conversion/view.py +83 -0
- phasor_handler-2.2.0/phasor_handler/widgets/registration/view.py +110 -0
- phasor_handler-2.2.0/phasor_handler/workers/__init__.py +2 -0
- phasor_handler-2.2.0/phasor_handler/workers/analysis_worker.py +0 -0
- phasor_handler-2.2.0/phasor_handler/workers/histogram_worker.py +55 -0
- phasor_handler-2.2.0/phasor_handler/workers/registration_worker.py +242 -0
- phasor_handler-2.2.0/phasor_handler.egg-info/PKG-INFO +134 -0
- phasor_handler-2.2.0/phasor_handler.egg-info/SOURCES.txt +46 -0
- phasor_handler-2.2.0/phasor_handler.egg-info/dependency_links.txt +1 -0
- phasor_handler-2.2.0/phasor_handler.egg-info/entry_points.txt +5 -0
- phasor_handler-2.2.0/phasor_handler.egg-info/requires.txt +15 -0
- phasor_handler-2.2.0/phasor_handler.egg-info/top_level.txt +1 -0
- phasor_handler-2.2.0/pyproject.toml +73 -0
- phasor_handler-2.2.0/setup.cfg +4 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Contributing to Phasor-Handler
|
|
2
|
+
|
|
3
|
+
Thanks for your interest in improving Phasor-Handler\! This document explains how to set up a dev environment, coding standards, and how to submit issues/PRs.
|
|
4
|
+
|
|
5
|
+
> **Platform:** Windows 10/11 only
|
|
6
|
+
> **Primary stack:** Python 3.9, PyQt6, NumPy/SciPy, tifffile/tifftools, Suite2p, Matplotlib
|
|
7
|
+
> **Env manager:** Conda/Mamba (Windows)
|
|
8
|
+
|
|
9
|
+
-----
|
|
10
|
+
|
|
11
|
+
## Development Environment Setup
|
|
12
|
+
|
|
13
|
+
### 1\. Prerequisites
|
|
14
|
+
|
|
15
|
+
Before you begin, ensure you have the following installed:
|
|
16
|
+
|
|
17
|
+
* [Git](https://git-scm.com/downloads)
|
|
18
|
+
* [Conda](https://www.anaconda.com/products/distribution) (or Miniforge/Mamba for a faster experience)
|
|
19
|
+
|
|
20
|
+
### 2\. Fork and Clone the Repository
|
|
21
|
+
|
|
22
|
+
First, create your own copy (a "fork") of the Phasor-Handler repository by clicking the **Fork** button on the GitHub page.
|
|
23
|
+
|
|
24
|
+
Next, clone your forked repository to your local machine.
|
|
25
|
+
|
|
26
|
+
```powershell
|
|
27
|
+
# Replace <your-username> with your GitHub username
|
|
28
|
+
git clone https://github.com/<your-username>/Phasor-Handler.git
|
|
29
|
+
|
|
30
|
+
# Navigate into the project directory
|
|
31
|
+
cd Phasor-Handler
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### 3\. Create and Activate the Conda Environment
|
|
35
|
+
|
|
36
|
+
The `environment.yml` file contains all the necessary dependencies. Create the environment using Mamba (recommended for speed) or Conda.
|
|
37
|
+
|
|
38
|
+
**Using Mamba:**
|
|
39
|
+
|
|
40
|
+
```powershell
|
|
41
|
+
mamba env create -f environment.yml
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**Or, using Conda:**
|
|
45
|
+
|
|
46
|
+
```powershell
|
|
47
|
+
conda env create -f environment.yml
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Once the installation is complete, activate the new environment. The environment name is specified inside the `.yml` file (let's assume it's `phasor-handler`).
|
|
51
|
+
|
|
52
|
+
```powershell
|
|
53
|
+
conda activate phasor-handler
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 4\. Install the Application in Editable Mode
|
|
57
|
+
|
|
58
|
+
To ensure that changes you make to the code are immediately reflected when you run the app, install it in "editable" mode.
|
|
59
|
+
|
|
60
|
+
```powershell
|
|
61
|
+
# This links the package to your source code
|
|
62
|
+
pip install -e .
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### 5\. Run the Application
|
|
66
|
+
|
|
67
|
+
You are now ready to run the application from the root of the project directory.
|
|
68
|
+
|
|
69
|
+
```powershell
|
|
70
|
+
python app.py
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
The application window should now appear. You're all set to start developing\!
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Josia Shemuel
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: phasor-handler
|
|
3
|
+
Version: 2.2.0
|
|
4
|
+
Summary: A PyQt6 GUI toolbox for processing two-photon phasor imaging data
|
|
5
|
+
Author-email: Josia Shemuel <joshemuel@users.noreply.github.com>
|
|
6
|
+
License: MIT License
|
|
7
|
+
|
|
8
|
+
Copyright (c) 2025 Josia Shemuel
|
|
9
|
+
|
|
10
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
11
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
12
|
+
in the Software without restriction, including without limitation the rights
|
|
13
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
14
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
15
|
+
furnished to do so, subject to the following conditions:
|
|
16
|
+
|
|
17
|
+
The above copyright notice and this permission notice shall be included in all
|
|
18
|
+
copies or substantial portions of the Software.
|
|
19
|
+
|
|
20
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
21
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
22
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
23
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
24
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
25
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
26
|
+
SOFTWARE.
|
|
27
|
+
Project-URL: Homepage, https://github.com/joshemuel/Phasor-Handler
|
|
28
|
+
Project-URL: Repository, https://github.com/joshemuel/Phasor-Handler
|
|
29
|
+
Project-URL: Issues, https://github.com/joshemuel/Phasor-Handler/issues
|
|
30
|
+
Keywords: two-photon,phasor,imaging,calcium,neuroscience,suite2p
|
|
31
|
+
Classifier: Development Status :: 4 - Beta
|
|
32
|
+
Classifier: Intended Audience :: Science/Research
|
|
33
|
+
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
|
|
34
|
+
Classifier: Topic :: Scientific/Engineering :: Image Processing
|
|
35
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
36
|
+
Classifier: Programming Language :: Python :: 3
|
|
37
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
38
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
39
|
+
Classifier: Environment :: X11 Applications :: Qt
|
|
40
|
+
Requires-Python: <3.10,>=3.9.23
|
|
41
|
+
Description-Content-Type: text/markdown
|
|
42
|
+
License-File: LICENSE.md
|
|
43
|
+
Requires-Dist: PyQt6>=6.4.0
|
|
44
|
+
Requires-Dist: numpy<2.0.0,>=1.21.0
|
|
45
|
+
Requires-Dist: matplotlib>=3.5.0
|
|
46
|
+
Requires-Dist: tifffile>=2021.11.2
|
|
47
|
+
Requires-Dist: pyyaml>=6.0
|
|
48
|
+
Requires-Dist: suite2p>=0.14.0
|
|
49
|
+
Requires-Dist: pyqtdarktheme>=1.0.0
|
|
50
|
+
Requires-Dist: Pillow>=9.0.0
|
|
51
|
+
Requires-Dist: scikit-image>=0.19.0
|
|
52
|
+
Requires-Dist: scipy>=1.7.0
|
|
53
|
+
Provides-Extra: dev
|
|
54
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
55
|
+
Requires-Dist: black>=22.0.0; extra == "dev"
|
|
56
|
+
Requires-Dist: flake8>=4.0.0; extra == "dev"
|
|
57
|
+
Dynamic: license-file
|
|
58
|
+
|
|
59
|
+
# Phasor-Handler v2.0 (Windows)
|
|
60
|
+
|
|
61
|
+
Phasor Handler is a toolbox for processing raw two-photon phasor imaging data: **convert → register → explore → extract calcium traces**.
|
|
62
|
+
It provides a PyQt6 GUI for viewing registered or raw stacks (Ch1/Ch2), z-projections (std/max/mean), drawing/storing ROIs, overlaying stimulated ROIs from metadata, and exporting ROI traces.
|
|
63
|
+
|
|
64
|
+
> ⚠️ **Platform:** Windows 10/11 only
|
|
65
|
+
> 🧪 Status: actively developed (Brightness & Contrast dialog is WIP)
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Features
|
|
70
|
+
|
|
71
|
+
- Load **registered TIFF** (`Ch1-reg.tif`, `Ch2-reg.tif`) or **raw NPY** fallbacks (`ImageData_Ch0_TP0000000.npy`, `ImageData_Ch1_TP0000000.npy`)
|
|
72
|
+
- Linear and non-linear motion-correct **TIFF images** using Suite2p
|
|
73
|
+
- Automated cell detection using Suite2p
|
|
74
|
+
- Channel switching (Ch1/Ch2) and **Composite (G/R)**
|
|
75
|
+
- **Z-projections**: standard deviation, max, mean
|
|
76
|
+
- **ROI tools**: draw elliptical ROIs, translate or rotate ROIs, save/load as JSON, quick-select saved ROIs
|
|
77
|
+
- **Stimulus overlay**: show stimulated ROI locations from experiment metadata and add to the saved ROIs
|
|
78
|
+
- **Trace plotting**: configurable formula, custom y-limits, frame/time (s) x-axis
|
|
79
|
+
- **Export**: write per-ROI traces for all frames to `.txt` (tab-separated)
|
|
80
|
+
- Keyboard: `R` save/add ROI, `Delete` remove selected ROI, `Esc` clear selection, `Alt+S` load stimulated ROIs, `Right Click + drag` translate selected ROI, `Y` toggle right click to rotation mode
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Input data layout
|
|
85
|
+
|
|
86
|
+
For each dataset directory, Phasor Handler looks for any of:
|
|
87
|
+
|
|
88
|
+
- Ch1-reg.tif
|
|
89
|
+
- Ch2-reg.tif # optional
|
|
90
|
+
- ImageData_Ch0_TP0000000.npy # raw fallback for Ch1
|
|
91
|
+
- ImageData_Ch1_TP0000000.npy # optional raw fallback for Ch2
|
|
92
|
+
- experiment_summary.pkl # optional metadata (or .json)
|
|
93
|
+
|
|
94
|
+
Registered TIFFs are preferred when available; raw NPYs are used as fallback.
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Installation (Windows, Conda)
|
|
99
|
+
|
|
100
|
+
This project provides an `environment.yml` for Windows. The environment is large (GUI, image I/O, napari/suite2p), so **mamba** is recommended, but `conda` works too.
|
|
101
|
+
|
|
102
|
+
### 1) Install Conda/Mamba (if needed)
|
|
103
|
+
- Install **Miniconda** or **Mambaforge** on Windows.
|
|
104
|
+
- (Optional) Add mamba for faster solves:
|
|
105
|
+
```powershell
|
|
106
|
+
conda install -n base -c conda-forge mamba
|
|
107
|
+
|
|
108
|
+
### 2) Get the code
|
|
109
|
+
- Clone the repo and change it into
|
|
110
|
+
```powershell
|
|
111
|
+
git clone https://github.com/joshemuel/Phasor-Handler.git
|
|
112
|
+
chdir Phasor-Handler
|
|
113
|
+
- Alternatively, you can download the entire project as a zip file, unzip it, then open that directory in **Miniconda**
|
|
114
|
+
cd Phasor-Handler
|
|
115
|
+
|
|
116
|
+
### 3) Create the environment
|
|
117
|
+
- Using mamba:
|
|
118
|
+
```powershell
|
|
119
|
+
mamba env create -f environment.yml
|
|
120
|
+
- Using conda:
|
|
121
|
+
```powershell
|
|
122
|
+
conda env create -f environment.yml
|
|
123
|
+
|
|
124
|
+
# 4) Activate and run
|
|
125
|
+
- Before running the toolbox, activate the environment
|
|
126
|
+
```powershell
|
|
127
|
+
conda activate suite2p
|
|
128
|
+
python app.py
|
|
129
|
+
## Update (Windows, Conda)
|
|
130
|
+
|
|
131
|
+
### 1) Go to your local repo and pull the latest code from the branch you use
|
|
132
|
+
```powershell
|
|
133
|
+
chdir Phasor-Handler
|
|
134
|
+
git pull --ff-only
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Phasor-Handler v2.0 (Windows)
|
|
2
|
+
|
|
3
|
+
Phasor Handler is a toolbox for processing raw two-photon phasor imaging data: **convert → register → explore → extract calcium traces**.
|
|
4
|
+
It provides a PyQt6 GUI for viewing registered or raw stacks (Ch1/Ch2), z-projections (std/max/mean), drawing/storing ROIs, overlaying stimulated ROIs from metadata, and exporting ROI traces.
|
|
5
|
+
|
|
6
|
+
> ⚠️ **Platform:** Windows 10/11 only
|
|
7
|
+
> 🧪 Status: actively developed (Brightness & Contrast dialog is WIP)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
|
|
13
|
+
- Load **registered TIFF** (`Ch1-reg.tif`, `Ch2-reg.tif`) or **raw NPY** fallbacks (`ImageData_Ch0_TP0000000.npy`, `ImageData_Ch1_TP0000000.npy`)
|
|
14
|
+
- Linear and non-linear motion-correct **TIFF images** using Suite2p
|
|
15
|
+
- Automated cell detection using Suite2p
|
|
16
|
+
- Channel switching (Ch1/Ch2) and **Composite (G/R)**
|
|
17
|
+
- **Z-projections**: standard deviation, max, mean
|
|
18
|
+
- **ROI tools**: draw elliptical ROIs, translate or rotate ROIs, save/load as JSON, quick-select saved ROIs
|
|
19
|
+
- **Stimulus overlay**: show stimulated ROI locations from experiment metadata and add to the saved ROIs
|
|
20
|
+
- **Trace plotting**: configurable formula, custom y-limits, frame/time (s) x-axis
|
|
21
|
+
- **Export**: write per-ROI traces for all frames to `.txt` (tab-separated)
|
|
22
|
+
- Keyboard: `R` save/add ROI, `Delete` remove selected ROI, `Esc` clear selection, `Alt+S` load stimulated ROIs, `Right Click + drag` translate selected ROI, `Y` toggle right click to rotation mode
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Input data layout
|
|
27
|
+
|
|
28
|
+
For each dataset directory, Phasor Handler looks for any of:
|
|
29
|
+
|
|
30
|
+
- Ch1-reg.tif
|
|
31
|
+
- Ch2-reg.tif # optional
|
|
32
|
+
- ImageData_Ch0_TP0000000.npy # raw fallback for Ch1
|
|
33
|
+
- ImageData_Ch1_TP0000000.npy # optional raw fallback for Ch2
|
|
34
|
+
- experiment_summary.pkl # optional metadata (or .json)
|
|
35
|
+
|
|
36
|
+
Registered TIFFs are preferred when available; raw NPYs are used as fallback.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Installation (Windows, Conda)
|
|
41
|
+
|
|
42
|
+
This project provides an `environment.yml` for Windows. The environment is large (GUI, image I/O, napari/suite2p), so **mamba** is recommended, but `conda` works too.
|
|
43
|
+
|
|
44
|
+
### 1) Install Conda/Mamba (if needed)
|
|
45
|
+
- Install **Miniconda** or **Mambaforge** on Windows.
|
|
46
|
+
- (Optional) Add mamba for faster solves:
|
|
47
|
+
```powershell
|
|
48
|
+
conda install -n base -c conda-forge mamba
|
|
49
|
+
|
|
50
|
+
### 2) Get the code
|
|
51
|
+
- Clone the repo and change it into
|
|
52
|
+
```powershell
|
|
53
|
+
git clone https://github.com/joshemuel/Phasor-Handler.git
|
|
54
|
+
chdir Phasor-Handler
|
|
55
|
+
- Alternatively, you can download the entire project as a zip file, unzip it, then open that directory in **Miniconda**
|
|
56
|
+
cd Phasor-Handler
|
|
57
|
+
|
|
58
|
+
### 3) Create the environment
|
|
59
|
+
- Using mamba:
|
|
60
|
+
```powershell
|
|
61
|
+
mamba env create -f environment.yml
|
|
62
|
+
- Using conda:
|
|
63
|
+
```powershell
|
|
64
|
+
conda env create -f environment.yml
|
|
65
|
+
|
|
66
|
+
# 4) Activate and run
|
|
67
|
+
- Before running the toolbox, activate the environment
|
|
68
|
+
```powershell
|
|
69
|
+
conda activate suite2p
|
|
70
|
+
python app.py
|
|
71
|
+
## Update (Windows, Conda)
|
|
72
|
+
|
|
73
|
+
### 1) Go to your local repo and pull the latest code from the branch you use
|
|
74
|
+
```powershell
|
|
75
|
+
chdir Phasor-Handler
|
|
76
|
+
git pull --ff-only
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
name: suite2p
|
|
2
|
+
channels:
|
|
3
|
+
- conda-forge
|
|
4
|
+
- defaults
|
|
5
|
+
- https://repo.anaconda.com/pkgs/main
|
|
6
|
+
- https://repo.anaconda.com/pkgs/r
|
|
7
|
+
- https://repo.anaconda.com/pkgs/msys2
|
|
8
|
+
dependencies:
|
|
9
|
+
- asttokens=3.0.0=pyhd8ed1ab_1
|
|
10
|
+
- bzip2=1.0.8=h2bbff1b_6
|
|
11
|
+
- ca-certificates=2025.8.3=h4c7d964_0
|
|
12
|
+
- colorama=0.4.6=pyhd8ed1ab_1
|
|
13
|
+
- comm=0.2.3=pyhe01879c_0
|
|
14
|
+
- cpython=3.9.23=py39hd8ed1ab_0
|
|
15
|
+
- debugpy=1.8.16=py39h1f3cc84_0
|
|
16
|
+
- decorator=5.2.1=pyhd8ed1ab_0
|
|
17
|
+
- exceptiongroup=1.3.0=pyhd8ed1ab_0
|
|
18
|
+
- executing=2.2.0=pyhd8ed1ab_0
|
|
19
|
+
- expat=2.7.1=h8ddb27b_0
|
|
20
|
+
- importlib-metadata=8.7.0=pyhe01879c_1
|
|
21
|
+
- ipykernel=6.30.1=pyh3521513_0
|
|
22
|
+
- ipython=8.18.1=pyh7428d3b_3
|
|
23
|
+
- jedi=0.19.2=pyhd8ed1ab_1
|
|
24
|
+
- jupyter_client=8.6.3=pyhd8ed1ab_1
|
|
25
|
+
- jupyter_core=5.8.1=pyh5737063_0
|
|
26
|
+
- krb5=1.21.3=hdf4eb48_0
|
|
27
|
+
- libffi=3.4.4=hd77b12b_1
|
|
28
|
+
- libsodium=1.0.20=hc70643c_0
|
|
29
|
+
- matplotlib-inline=0.1.7=pyhd8ed1ab_1
|
|
30
|
+
- nest-asyncio=1.6.0=pyhd8ed1ab_1
|
|
31
|
+
- openjdk=8.0.412=h57928b3_2
|
|
32
|
+
- openssl=3.5.2=h725018a_0
|
|
33
|
+
- packaging=25.0=pyh29332c3_1
|
|
34
|
+
- parso=0.8.4=pyhd8ed1ab_1
|
|
35
|
+
- pickleshare=0.7.5=pyhd8ed1ab_1004
|
|
36
|
+
- pip=25.1=pyhc872135_2
|
|
37
|
+
- platformdirs=4.3.8=pyhe01879c_0
|
|
38
|
+
- prompt-toolkit=3.0.51=pyha770c72_0
|
|
39
|
+
- psutil=7.0.0=py39ha55e580_0
|
|
40
|
+
- pure_eval=0.2.3=pyhd8ed1ab_1
|
|
41
|
+
- pygments=2.19.2=pyhd8ed1ab_0
|
|
42
|
+
- python=3.9.23=h716150d_0
|
|
43
|
+
- python-dateutil=2.9.0.post0=pyhe01879c_2
|
|
44
|
+
- python_abi=3.9=2_cp39
|
|
45
|
+
- pywin32=311=py39h5fb4b08_0
|
|
46
|
+
- pyzmq=27.0.1=py39h248659b_0
|
|
47
|
+
- setuptools=78.1.1=py39haa95532_0
|
|
48
|
+
- six=1.17.0=pyhe01879c_1
|
|
49
|
+
- sqlite=3.50.2=hda9a48d_1
|
|
50
|
+
- stack_data=0.6.3=pyhd8ed1ab_1
|
|
51
|
+
- tk=8.6.15=hf199647_0
|
|
52
|
+
- tornado=6.5.2=py39h0802e32_0
|
|
53
|
+
- traitlets=5.14.3=pyhd8ed1ab_1
|
|
54
|
+
- typing_extensions=4.14.1=pyhe01879c_0
|
|
55
|
+
- ucrt=10.0.22621.0=haa95532_0
|
|
56
|
+
- vc=14.3=h2df5915_10
|
|
57
|
+
- vc14_runtime=14.44.35208=h4927774_10
|
|
58
|
+
- vs2015_runtime=14.44.35208=ha6b5a95_10
|
|
59
|
+
- wcwidth=0.2.13=pyhd8ed1ab_1
|
|
60
|
+
- wheel=0.45.1=py39haa95532_0
|
|
61
|
+
- xz=5.6.4=h4754444_1
|
|
62
|
+
- zeromq=4.3.5=ha9f60a1_7
|
|
63
|
+
- zipp=3.23.0=pyhd8ed1ab_0
|
|
64
|
+
- zlib=1.2.13=h8cc25b3_1
|
|
65
|
+
- pip:
|
|
66
|
+
- alabaster==0.7.16
|
|
67
|
+
- annotated-types==0.7.0
|
|
68
|
+
- app-model==0.3.2
|
|
69
|
+
- appdirs==1.4.4
|
|
70
|
+
- attrs==25.3.0
|
|
71
|
+
- babel==2.17.0
|
|
72
|
+
- bcrypt==4.3.0
|
|
73
|
+
- build==1.3.0
|
|
74
|
+
- cachey==0.2.1
|
|
75
|
+
- cellpose==3.1.1.2
|
|
76
|
+
- certifi==2025.8.3
|
|
77
|
+
- cffi==1.17.1
|
|
78
|
+
- charset-normalizer==3.4.3
|
|
79
|
+
- cjdk==0.4.1
|
|
80
|
+
- click==8.1.8
|
|
81
|
+
- cloudpickle==3.1.1
|
|
82
|
+
- contourpy==1.3.0
|
|
83
|
+
- cryptography==45.0.6
|
|
84
|
+
- cycler==0.12.1
|
|
85
|
+
- darkdetect==0.7.1
|
|
86
|
+
- dask==2024.8.0
|
|
87
|
+
- dcimg==0.6.0.post1
|
|
88
|
+
- docstring-parser==0.17.0
|
|
89
|
+
- docutils==0.21.2
|
|
90
|
+
- fastremap==1.17.2
|
|
91
|
+
- filelock==3.19.1
|
|
92
|
+
- fill-voids==2.1.0
|
|
93
|
+
- flexcache==0.3
|
|
94
|
+
- flexparser==0.4
|
|
95
|
+
- fonttools==4.59.1
|
|
96
|
+
- freetype-py==2.5.1
|
|
97
|
+
- fsspec==2025.7.0
|
|
98
|
+
- h5py==3.14.0
|
|
99
|
+
- hdmf==4.1.0
|
|
100
|
+
- heapdict==1.0.1
|
|
101
|
+
- hsluv==5.0.4
|
|
102
|
+
- idna==3.10
|
|
103
|
+
- ij==0.0.6
|
|
104
|
+
- imagecodecs==2024.12.30
|
|
105
|
+
- imageio==2.37.0
|
|
106
|
+
- imagesize==1.4.1
|
|
107
|
+
- imglyb==2.1.0
|
|
108
|
+
- importlib-resources==6.5.2
|
|
109
|
+
- in-n-out==0.2.1
|
|
110
|
+
- invoke==2.2.0
|
|
111
|
+
- ipywidgets==8.1.7
|
|
112
|
+
- jgo==1.0.6
|
|
113
|
+
- jinja2==3.1.6
|
|
114
|
+
- joblib==1.5.1
|
|
115
|
+
- jpype1==1.6.0
|
|
116
|
+
- jsonschema==4.25.1
|
|
117
|
+
- jsonschema-specifications==2025.4.1
|
|
118
|
+
- jupyterlab-widgets==3.0.15
|
|
119
|
+
- kiwisolver==1.4.7
|
|
120
|
+
- labeling==0.1.14
|
|
121
|
+
- lazy-loader==0.4
|
|
122
|
+
- llvmlite==0.43.0
|
|
123
|
+
- locket==1.0.0
|
|
124
|
+
- magicgui==0.10.1
|
|
125
|
+
- markdown-it-py==3.0.0
|
|
126
|
+
- markupsafe==3.0.2
|
|
127
|
+
- matplotlib==3.9.4
|
|
128
|
+
- mdurl==0.1.2
|
|
129
|
+
- mpmath==1.3.0
|
|
130
|
+
- napari==0.5.6
|
|
131
|
+
- napari-console==0.1.3
|
|
132
|
+
- napari-plugin-engine==0.2.0
|
|
133
|
+
- napari-svg==0.2.1
|
|
134
|
+
- natsort==8.4.0
|
|
135
|
+
- nd2==0.10.3
|
|
136
|
+
- networkx==3.2.1
|
|
137
|
+
- npe2==0.7.9
|
|
138
|
+
- numba==0.60.0
|
|
139
|
+
- numpy==2.0.2
|
|
140
|
+
- numpydoc==1.9.0
|
|
141
|
+
- ome-types==0.6.1
|
|
142
|
+
- opencv-python-headless==4.12.0.88
|
|
143
|
+
- pandas==2.3.1
|
|
144
|
+
- paramiko==4.0.0
|
|
145
|
+
- partd==1.4.2
|
|
146
|
+
- pillow==11.3.0
|
|
147
|
+
- pint==0.24.4
|
|
148
|
+
- pooch==1.8.2
|
|
149
|
+
- progressbar2==4.5.0
|
|
150
|
+
- psygnal==0.14.1
|
|
151
|
+
- pyconify==0.2.1
|
|
152
|
+
- pycparser==2.22
|
|
153
|
+
- pydantic==2.11.7
|
|
154
|
+
- pydantic-compat==0.1.2
|
|
155
|
+
- pydantic-core==2.33.2
|
|
156
|
+
- pydantic-extra-types==2.10.5
|
|
157
|
+
- pyimagej==1.7.0
|
|
158
|
+
- pynacl==1.5.0
|
|
159
|
+
- pynwb==3.1.2
|
|
160
|
+
- pyopengl==3.1.10
|
|
161
|
+
- pyparsing==3.2.3
|
|
162
|
+
- pyproject-hooks==1.2.0
|
|
163
|
+
- pyqt6==6.9.1
|
|
164
|
+
- pyqt6-qt6==6.9.1
|
|
165
|
+
- pyqt6-sip==13.10.2
|
|
166
|
+
- pyqtdarktheme==2.1.0
|
|
167
|
+
- pyqtgraph==0.13.7
|
|
168
|
+
- python-utils==3.9.1
|
|
169
|
+
- pytz==2025.2
|
|
170
|
+
- pyyaml==6.0.2
|
|
171
|
+
- qdarkstyle==3.2.3
|
|
172
|
+
- qtconsole==5.6.1
|
|
173
|
+
- qtpy==2.4.3
|
|
174
|
+
- rastermap==1.0
|
|
175
|
+
- referencing==0.36.2
|
|
176
|
+
- requests==2.32.5
|
|
177
|
+
- resource-backed-dask-array==0.1.0
|
|
178
|
+
- rich==14.1.0
|
|
179
|
+
- roifile==2024.9.15
|
|
180
|
+
- rpds-py==0.27.0
|
|
181
|
+
- ruamel-yaml==0.18.15
|
|
182
|
+
- ruamel-yaml-clib==0.2.12
|
|
183
|
+
- sbxreader==0.2.2
|
|
184
|
+
- scanimage-tiff-reader==1.4.1.4
|
|
185
|
+
- scikit-image==0.24.0
|
|
186
|
+
- scikit-learn==1.6.1
|
|
187
|
+
- scipy==1.13.1
|
|
188
|
+
- scyjava==1.12.1
|
|
189
|
+
- shellingham==1.5.4
|
|
190
|
+
- snowballstemmer==3.0.1
|
|
191
|
+
- sphinx==7.4.7
|
|
192
|
+
- sphinxcontrib-applehelp==2.0.0
|
|
193
|
+
- sphinxcontrib-devhelp==2.0.0
|
|
194
|
+
- sphinxcontrib-htmlhelp==2.1.0
|
|
195
|
+
- sphinxcontrib-jsmath==1.0.1
|
|
196
|
+
- sphinxcontrib-qthelp==2.0.0
|
|
197
|
+
- sphinxcontrib-serializinghtml==2.0.0
|
|
198
|
+
- suite2p==0.14.5
|
|
199
|
+
- superqt==0.7.6
|
|
200
|
+
- sympy==1.14.0
|
|
201
|
+
- threadpoolctl==3.6.0
|
|
202
|
+
- tifffile==2024.8.30
|
|
203
|
+
- tifftools==1.6.1
|
|
204
|
+
- tomli==2.2.1
|
|
205
|
+
- tomli-w==1.2.0
|
|
206
|
+
- toolz==1.0.0
|
|
207
|
+
- torch==2.8.0
|
|
208
|
+
- tqdm==4.67.1
|
|
209
|
+
- typer==0.17.4
|
|
210
|
+
- typing-inspection==0.4.1
|
|
211
|
+
- tzdata==2025.2
|
|
212
|
+
- urllib3==2.5.0
|
|
213
|
+
- vispy==0.14.3
|
|
214
|
+
- widgetsnbextension==4.0.14
|
|
215
|
+
- wrapt==1.17.3
|
|
216
|
+
- xarray==2024.7.0
|
|
217
|
+
- xmltodict==0.14.2
|
|
218
|
+
- xsdata==24.3.1
|
|
219
|
+
prefix: C:\Users\user\anaconda3\envs\suite2p
|
|
Binary file
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Phasor Handler - Two-Photon Phasor Imaging Data Processor
|
|
3
|
+
|
|
4
|
+
A PyQt6 GUI toolbox for processing two-photon phasor imaging data.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
__version__ = "2.2.0"
|
|
8
|
+
__author__ = "Josia Shemuel"
|
|
9
|
+
__all__ = ["app", "widgets", "workers", "models", "scripts", "tools", "themes"]
|