waveorder 2.0.0rc3__py3-none-any.whl → 2.2.0__py3-none-any.whl
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.
- waveorder/_version.py +14 -2
- waveorder/correction.py +107 -0
- waveorder/focus.py +36 -18
- waveorder/models/inplane_oriented_thick_pol3d.py +15 -17
- waveorder/models/inplane_oriented_thick_pol3d_vector.py +351 -0
- waveorder/models/isotropic_fluorescent_thick_3d.py +86 -33
- waveorder/models/isotropic_thin_3d.py +113 -29
- waveorder/models/phase_thick_3d.py +107 -63
- waveorder/optics.py +243 -29
- waveorder/sampling.py +94 -0
- waveorder/stokes.py +2 -2
- waveorder/util.py +54 -2
- waveorder/{visual.py → visuals/jupyter_visuals.py} +2 -6
- waveorder/visuals/matplotlib_visuals.py +335 -0
- waveorder/visuals/napari_visuals.py +77 -0
- waveorder/visuals/utils.py +31 -0
- waveorder/waveorder_reconstructor.py +8 -7
- waveorder-2.2.0.dist-info/METADATA +186 -0
- waveorder-2.2.0.dist-info/RECORD +25 -0
- {waveorder-2.0.0rc3.dist-info → waveorder-2.2.0.dist-info}/WHEEL +1 -1
- waveorder-2.0.0rc3.dist-info/METADATA +0 -129
- waveorder-2.0.0rc3.dist-info/RECORD +0 -19
- {waveorder-2.0.0rc3.dist-info → waveorder-2.2.0.dist-info}/LICENSE +0 -0
- {waveorder-2.0.0rc3.dist-info → waveorder-2.2.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
waveorder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
waveorder/_version.py,sha256=pbL_Q6fDSZl5UbKP04ZFdzrJpd1PO1gH7IwJCwLV7mk,411
|
|
3
|
+
waveorder/background_estimator.py,sha256=gCIO6-232H0CGH4o6gnqW9KSYGOrXf5E9nD67WeF304,12399
|
|
4
|
+
waveorder/correction.py,sha256=N0Ic6mqw3U7mqow4dKTOkNx2QYOLwedGNH7HiKV-M6s,3460
|
|
5
|
+
waveorder/focus.py,sha256=4mg84Fe4V-oFplsuaU_VQU1_TEDoEfPggIAv6Is2dE4,6312
|
|
6
|
+
waveorder/optics.py,sha256=Z0N9IN5AJ563eOISlFVJLS5K7lyfSjOcHVkzcLSKP1E,44325
|
|
7
|
+
waveorder/sampling.py,sha256=OAqlfjEemX6tQV2a2S8X0wQx9JCSykcvVxvKr1CY3H0,2521
|
|
8
|
+
waveorder/stokes.py,sha256=Wk9ZimzICIZLh1CkB0kQSCSBLeugkDeydwXTPd-M-po,15186
|
|
9
|
+
waveorder/util.py,sha256=goT2OD6Zej4v3RT1tu_XAQtDWi94HiDlL4pJk2itt6s,71272
|
|
10
|
+
waveorder/waveorder_reconstructor.py,sha256=SSSru4TOLB1VUOWMLHzMSboMbazgfslFXrjOpnwmqFk,152107
|
|
11
|
+
waveorder/waveorder_simulator.py,sha256=_HCmDZkACUGzgwnaI-q0PjsL1gRE55IQuaWw-wtAjCU,45856
|
|
12
|
+
waveorder/models/inplane_oriented_thick_pol3d.py,sha256=jEpMcAZ6tIg9Kg-lHpbH0vBAphSGZGUAqLyDc0hv_bs,5979
|
|
13
|
+
waveorder/models/inplane_oriented_thick_pol3d_vector.py,sha256=09-Qu6Ka3S2GmkcmGIyVbQCYP1I_S9O1HvDBZDQ7AlQ,10817
|
|
14
|
+
waveorder/models/isotropic_fluorescent_thick_3d.py,sha256=TuE5QlScy6pdCZyrWJifJ6UJMQT15lv8HhkNa_cQfFs,6713
|
|
15
|
+
waveorder/models/isotropic_thin_3d.py,sha256=c-1eKknNWKxDiMNUi0wBf6YeXhUQiUR-zguH8M7En_k,10941
|
|
16
|
+
waveorder/models/phase_thick_3d.py,sha256=2gq5pd6BPxDmkqnf9bvbOfraD2CeGBr0GU1s9cYBTms,8374
|
|
17
|
+
waveorder/visuals/jupyter_visuals.py,sha256=w-vlMtfyl3I1ACNfYIW4fbS9TIMAVittNj3GbjlRYz4,58121
|
|
18
|
+
waveorder/visuals/matplotlib_visuals.py,sha256=e-4LrHPFU--j3gbUoZrO8WHpDIYNZDFu8vqBZyhyiG4,10922
|
|
19
|
+
waveorder/visuals/napari_visuals.py,sha256=gI420pgOzun4Elx__txdk1eEBcTIBB6Gpln-6n8Wo1k,2385
|
|
20
|
+
waveorder/visuals/utils.py,sha256=6vdZmpvFGHwSwxeV8vCKWQ0MBOrDokSIJhjdBtJLHeM,1002
|
|
21
|
+
waveorder-2.2.0.dist-info/LICENSE,sha256=auz4oGH1A-xZtoiR2zuXIk-Hii4v9aGgFVBqn7nfpms,1509
|
|
22
|
+
waveorder-2.2.0.dist-info/METADATA,sha256=D7tFPrufseWBEz4-kPpR6pejV_GtA91ll7SsO4u3qas,9677
|
|
23
|
+
waveorder-2.2.0.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
|
24
|
+
waveorder-2.2.0.dist-info/top_level.txt,sha256=i3zReXiiMTnyPk93W7aEz_oEfsLnfR_Kzl7PW7kUslA,10
|
|
25
|
+
waveorder-2.2.0.dist-info/RECORD,,
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: waveorder
|
|
3
|
-
Version: 2.0.0rc3
|
|
4
|
-
Summary: Wave optical simulations and deconvolution of optical properties
|
|
5
|
-
Home-page: https://github.com/mehta-lab/waveorder
|
|
6
|
-
Author: Computational Microscopy Platform, CZ Biohub
|
|
7
|
-
Author-email: shalin.mehta@czbiohub.org
|
|
8
|
-
License: BSD 3-Clause License
|
|
9
|
-
Project-URL: Bug Tracker, https://github.com/mehta-lab/waveorder/issues
|
|
10
|
-
Project-URL: Documentation, https://github.com/mehta-lab/waveorder
|
|
11
|
-
Project-URL: Source Code, https://github.com/mehta-lab/waveorder
|
|
12
|
-
Project-URL: User Support, https://github.com/mehta-lab/waveorder/issues
|
|
13
|
-
Classifier: Development Status :: 4 - Beta
|
|
14
|
-
Classifier: Intended Audience :: Science/Research
|
|
15
|
-
Classifier: License :: OSI Approved :: BSD License
|
|
16
|
-
Classifier: Programming Language :: Python :: 3 :: Only
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
19
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
20
|
-
Classifier: Topic :: Scientific/Engineering
|
|
21
|
-
Classifier: Topic :: Scientific/Engineering :: Image Processing
|
|
22
|
-
Classifier: Topic :: Scientific/Engineering :: Visualization
|
|
23
|
-
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
|
24
|
-
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
|
|
25
|
-
Classifier: Operating System :: Microsoft :: Windows
|
|
26
|
-
Classifier: Operating System :: POSIX
|
|
27
|
-
Classifier: Operating System :: Unix
|
|
28
|
-
Classifier: Operating System :: MacOS
|
|
29
|
-
Requires-Python: >=3.8
|
|
30
|
-
Description-Content-Type: text/markdown
|
|
31
|
-
License-File: LICENSE
|
|
32
|
-
Requires-Dist: numpy (>=1.21)
|
|
33
|
-
Requires-Dist: matplotlib (>=3.1.1)
|
|
34
|
-
Requires-Dist: scipy (>=1.3.0)
|
|
35
|
-
Requires-Dist: pywavelets (>=1.1.1)
|
|
36
|
-
Requires-Dist: ipywidgets (>=7.5.1)
|
|
37
|
-
Requires-Dist: torch (>=2.0.0)
|
|
38
|
-
Provides-Extra: dev
|
|
39
|
-
Requires-Dist: flake8 ; extra == 'dev'
|
|
40
|
-
Requires-Dist: pytest (>=5.0.0) ; extra == 'dev'
|
|
41
|
-
Requires-Dist: pytest-cov ; extra == 'dev'
|
|
42
|
-
|
|
43
|
-
# waveorder
|
|
44
|
-
|
|
45
|
-

|
|
46
|
-
[](https://pepy.tech/project/waveorder)
|
|
47
|
-
[](https://pypi.org/project/waveorder)
|
|
48
|
-
[](https://en.wikipedia.org/wiki/Software_release_life_cycle#Alpha)
|
|
49
|
-
|
|
50
|
-
This computational imaging library enables wave-optical simulation and reconstruction of optical properties that report microscopic architectural order.
|
|
51
|
-
|
|
52
|
-
## Computational label-free imaging
|
|
53
|
-
|
|
54
|
-
This vectorial wave simulator and reconstructor enabled the development of a new label-free imaging method, __permittivity tensor imaging (PTI)__, that measures density and 3D orientation of biomolecules with diffraction-limited resolution. These measurements are reconstructed from polarization-resolved images acquired with a sequence of oblique illuminations.
|
|
55
|
-
|
|
56
|
-
The acquisition, calibration, background correction, reconstruction, and applications of PTI are described in the following [preprint](https://doi.org/10.1101/2020.12.15.422951):
|
|
57
|
-
|
|
58
|
-
```bibtex
|
|
59
|
-
L.-H. Yeh, I. E. Ivanov, B. B. Chhun, S.-M. Guo, E. Hashemi, J. R. Byrum, J. A. Pérez-Bermejo, H. Wang, Y. Yu, P. G. Kazansky, B. R. Conklin, M. H. Han, and S. B. Mehta, "uPTI: uniaxial permittivity tensor imaging of intrinsic density and anisotropy," bioRxiv 2020.12.15.422951 (2020).
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
In addition to PTI, `waveorder` enables simulations and reconstructions of subsets of label-free measurements with subsets of the acquired data:
|
|
63
|
-
|
|
64
|
-
1. Reconstruction of 2D or 3D phase, projected retardance, and in-plane orientation from a polarization-diverse volumetric brightfield acquisition ([QLIPP](https://elifesciences.org/articles/55502))
|
|
65
|
-
|
|
66
|
-
2. Reconstruction of 2D or 3D phase from a volumetric brightfield acquisition ([2D](https://www.osapublishing.org/ao/abstract.cfm?uri=ao-54-28-8566)/[3D (PODT)](https://www.osapublishing.org/ao/abstract.cfm?uri=ao-57-1-a205) phase)
|
|
67
|
-
|
|
68
|
-
3. Reconstruction of 2D or 3D phase from an illumination-diverse volumetric acquisition ([2D](https://www.osapublishing.org/oe/fulltext.cfm?uri=oe-23-9-11394&id=315599)/[3D](https://www.osapublishing.org/boe/fulltext.cfm?uri=boe-7-10-3940&id=349951) differential phase contrast)
|
|
69
|
-
|
|
70
|
-
PTI provides volumetric reconstructions of mean permittivity ($\propto$ material density), differential permittivity ($\propto$ material anisotropy), 3D orientation, and optic sign. The following figure summarizes PTI acquisition and reconstruction with a small optical section of the mouse brain tissue:
|
|
71
|
-
|
|
72
|
-

|
|
73
|
-
<!-- TODO: Update to a direct link to github before release. Replace (./readme.png) with (https://github.com/mehta-lab/waveorder/blob/main/readme.png?raw=true)-->
|
|
74
|
-
#
|
|
75
|
-
|
|
76
|
-
The [example notebooks](https://github.com/mehta-lab/waveorder/tree/main/examples) illustrate simulations and reconstruction for 2D QLIPP, 3D PODT, and 2D/3D PTI methods.
|
|
77
|
-
|
|
78
|
-
If you are interested in deploying QLIPP or PODT for label-free imaging at scale, checkout our [napari plugin](https://www.napari-hub.org/plugins/recOrder-napari), [`recOrder-napari`](https://github.com/mehta-lab/recOrder).
|
|
79
|
-
|
|
80
|
-
## Correlative imaging
|
|
81
|
-
|
|
82
|
-
In addition to label-free reconstruction algorithms, `waveorder` also implements widefield fluorescence and fluorescence polarization reconstruction algorithms for correlative label-free and fluorescence imaging.
|
|
83
|
-
|
|
84
|
-
1. Correlative measurements of biomolecular density and orientation from polarization-diverse widefield imaging ([multimodal Instant PolScope](https://opg.optica.org/boe/fulltext.cfm?uri=boe-13-5-3102&id=472350))
|
|
85
|
-
|
|
86
|
-
We provide an [example notebook](https://github.com/mehta-lab/waveorder/blob/main/examples/experimental_reconstructions/fluorescence_deconvolution/fluorescence_deconv.ipynb) for widefield fluorescence deconvolution.
|
|
87
|
-
|
|
88
|
-
## Citation
|
|
89
|
-
|
|
90
|
-
Please cite this repository, along with the relevant preprint or paper, if you use or adapt this code. The citation information can be found by clicking "Cite this repository" button in the About section in the right sidebar.
|
|
91
|
-
|
|
92
|
-
## Installation
|
|
93
|
-
|
|
94
|
-
(Optional but recommended) install [anaconda](https://www.anaconda.com/products/distribution) and create a virtual environment:
|
|
95
|
-
|
|
96
|
-
```sh
|
|
97
|
-
conda create -y -n waveorder python=3.9
|
|
98
|
-
conda activate waveorder
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
Install `waveorder` from PyPI:
|
|
102
|
-
|
|
103
|
-
```sh
|
|
104
|
-
pip install waveorder
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
Use `waveorder` in your scripts:
|
|
108
|
-
|
|
109
|
-
```sh
|
|
110
|
-
python
|
|
111
|
-
>>> import waveorder
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
(Optional) Download the repository, install `jupyter`, and experiment with the example notebooks
|
|
115
|
-
|
|
116
|
-
```sh
|
|
117
|
-
git clone https://github.com/mehta-lab/waveorder.git
|
|
118
|
-
pip install jupyter
|
|
119
|
-
jupyter notebook ./waveorder/examples/
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
(Optional) Use NVIDIA GPUs by installing `cupy` with [these instructions](https://docs.cupy.dev/en/stable/install.html). Check that `cupy` is properly installed with
|
|
123
|
-
|
|
124
|
-
```sh
|
|
125
|
-
python
|
|
126
|
-
>>> import cupy
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
To use GPUs in `waveorder` set ```use_gpu=True``` when initializing the simulator and reconstructor classes.
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
waveorder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
waveorder/_version.py,sha256=KNpQuwsgrv2gTTy1IlQ6ncr_U5T9b7nnWOk5Ey7AtXM,163
|
|
3
|
-
waveorder/background_estimator.py,sha256=gCIO6-232H0CGH4o6gnqW9KSYGOrXf5E9nD67WeF304,12399
|
|
4
|
-
waveorder/focus.py,sha256=bx6mbYdCJlKnS68344kFO0_qqowbpI3JNlV4ouT3vJo,6125
|
|
5
|
-
waveorder/optics.py,sha256=EMH4ZymNKk-n9qcQWyK9-puP-IHj7bgbPG7oW_rt1MA,37475
|
|
6
|
-
waveorder/stokes.py,sha256=eaDTD-Aap2qJ1RUjJDAATQD1I_HeTkPJess99Rg7d8g,15143
|
|
7
|
-
waveorder/util.py,sha256=3k810fpb7pIEcc4fii6gP4wTerxCtFYgG82SiDzUTtQ,69898
|
|
8
|
-
waveorder/visual.py,sha256=SFzkQdMit3HyqTqrgzX4w5bRwz8QuwGumzVayi3DwDM,58171
|
|
9
|
-
waveorder/waveorder_reconstructor.py,sha256=5-jlbK8gcJqHbFhiWt-TcETV5cdLHSAXq9O3JupPXD0,151942
|
|
10
|
-
waveorder/waveorder_simulator.py,sha256=_HCmDZkACUGzgwnaI-q0PjsL1gRE55IQuaWw-wtAjCU,45856
|
|
11
|
-
waveorder/models/inplane_oriented_thick_pol3d.py,sha256=Lw-Sfhd5vpy129rTs6iyJj_SGAPPqPIOmJlAMekpDAI,5888
|
|
12
|
-
waveorder/models/isotropic_fluorescent_thick_3d.py,sha256=H6BFI25PaWXhtx62Gsf42Y85cCdflwhKk_nKlcuD9T8,5007
|
|
13
|
-
waveorder/models/isotropic_thin_3d.py,sha256=sFMolyv0lCh_8IAaAo0il_a4bEDpgOTB14i6AkRj3f0,7842
|
|
14
|
-
waveorder/models/phase_thick_3d.py,sha256=U3RMHCFaKvxptoARt_lyJEHMElfj1tSJpVHJNnceIcs,7158
|
|
15
|
-
waveorder-2.0.0rc3.dist-info/LICENSE,sha256=auz4oGH1A-xZtoiR2zuXIk-Hii4v9aGgFVBqn7nfpms,1509
|
|
16
|
-
waveorder-2.0.0rc3.dist-info/METADATA,sha256=ugVdUBca8kd0USlIGvGZ9OA0ZQOMWMaboTzxuEr6UeI,6849
|
|
17
|
-
waveorder-2.0.0rc3.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
|
|
18
|
-
waveorder-2.0.0rc3.dist-info/top_level.txt,sha256=i3zReXiiMTnyPk93W7aEz_oEfsLnfR_Kzl7PW7kUslA,10
|
|
19
|
-
waveorder-2.0.0rc3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|