Point Spread Function calculations for fluorescence microscopy
Project description
Psf is a Python library to calculate Point Spread Functions (PSF) for fluorescence microscopy.
This library is no longer actively developed.
- Authors:
Christoph Gohlke, Oliver Holub
- Organization:
Laboratory for Fluorescence Dynamics. University of California, Irvine
- License:
BSD 3-Clause
- Version:
2021.6.6
Requirements
Matplotlib 3.3 (optional for plotting)
Revisions
- 2021.6.6
Remove support for Python 3.6 (NEP 29).
- 2020.1.1
Remove support for Python 2.7 and 3.5. Update copyright.
- 2019.10.14
Support Python 3.8.
- 2019.4.22
Fix setup requirements. Fix compiler warning.
References
Electromagnetic diffraction in optical systems. II. Structure of the image field in an aplanatic system. B Richards and E Wolf. Proc R Soc Lond A, 253 (1274), 358-379, 1959.
Focal volume optics and experimental artifacts in confocal fluorescence correlation spectroscopy. S T Hess, W W Webb. Biophys J (83) 2300-17, 2002.
Electromagnetic description of image formation in confocal fluorescence microscopy. T D Viser, S H Wiersma. J Opt Soc Am A (11) 599-608, 1994.
Photon counting histogram: one-photon excitation. B Huang, T D Perroud, R N Zare. Chem Phys Chem (5), 1523-31, 2004. Supporting information: Calculation of the observation volume profile.
Gaussian approximations of fluorescence microscope point-spread function models. B Zhang, J Zerubia, J C Olivo-Marin. Appl. Optics (46) 1819-29, 2007.
The SVI-wiki on 3D microscopy, deconvolution, visualization and analysis. https://svi.nl/NyquistRate
Theory of Confocal Microscopy: Resolution and Contrast in Confocal Microscopy. http://www.olympusfluoview.com/theory/resolutionintro.html
Examples
>>> import psf >>> args = dict(shape=(32, 32), dims=(4, 4), ex_wavelen=488, em_wavelen=520, ... num_aperture=1.2, refr_index=1.333, ... pinhole_radius=0.55, pinhole_shape='round') >>> obsvol = psf.PSF(psf.GAUSSIAN | psf.CONFOCAL, **args) >>> print(f'{obsvol.sigma.ou[0]:.5f}, {obsvol.sigma.ou[1]:.5f}') 2.58832, 1.37059 >>> obsvol = psf.PSF(psf.ISOTROPIC | psf.CONFOCAL, **args) >>> print(obsvol, end='') # doctest:+ELLIPSIS PSF Confocal, Isotropic shape: (32, 32) pixel dimensions: (4.00, 4.00) um, (55.64, 61.80) ou, (8.06, 8.06) au excitation wavelength: 488.0 nm emission wavelength: 520.0 nm numeric aperture: 1.20 refractive index: 1.33 half cone angle: 64.19 deg magnification: 1.00 underfilling: 1.00 pinhole radius: 0.550 um, 8.498 ou, 1.1086 au, 4.40 px computing time: ... ms >>> obsvol[0, :3] array([1. , 0.51071, 0.04397]) >>> # save the image plane to file >>> obsvol.slice(0).tofile('_test_slice.bin') >>> # save a full 3D PSF volume to file >>> obsvol.volume().tofile('_test_volume.bin')
Refer to the psf_example.py file in the source distribution for more examples.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for psf-2021.6.6-pp38-pypy38_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d164730bc821cfebb02f043f397ebf1a0a6630202566821a40c79349f7183e61 |
|
MD5 | 39bf942f957dff212ee9aad450b32420 |
|
BLAKE2b-256 | b711baae1bbad4ee4e6e0175c8a47a674c4fc0ab74889e564ba8b4f00111e517 |
Hashes for psf-2021.6.6-pp37-pypy37_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 915327410fb9c813b93bd3727ccdcfee069e682f361102ebd811d1ccbb93e503 |
|
MD5 | a2b5c804d8ba60df94a81785ec05f3ce |
|
BLAKE2b-256 | 62363cc2f4594cdd3960042cb2f1473d09ac9e97b0694c5204365a440c01a3d3 |
Hashes for psf-2021.6.6-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 790c48d0a89d059a82c3eee0ddd52755f2afee71a6c95e80a3dbe57758596d6e |
|
MD5 | 9b8d4ef525c045dd88c0d9a7604b3665 |
|
BLAKE2b-256 | e3d8e52d24600187264b78559fec9aa65d4c6f67f066d3d8c6822689c3fa6af7 |
Hashes for psf-2021.6.6-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f3f3c05ef08b1558fe46dccd872ad3a088d71552958b8cef559346b659fd5b2 |
|
MD5 | 3ffab455962ca430677cd53f767fa4f4 |
|
BLAKE2b-256 | 0ea2ce592d15980dfa992cb9d803262080998d9c09ceea789b461ff017d9992e |
Hashes for psf-2021.6.6-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28666bc7b2fca35d38de91d3486184bab081ae4b8536a6c39e7ee132c41016cf |
|
MD5 | b9df9a749b0252aab7fb5b9cdba4611f |
|
BLAKE2b-256 | 47644c48b37b1e4a0a815cb257efccc590c66ef67b46eb610d3211abff5363d1 |
Hashes for psf-2021.6.6-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0eadb8c5d394e1f70037db21f6f625d9bef41928c92d62bc4c0d7a4d772ccc1 |
|
MD5 | f0532e7caf397b0767afd71088097148 |
|
BLAKE2b-256 | ca5bf514415656a24d0b7fb8391dd4f6d674ba185475d0ad3adec26c0421c394 |
Hashes for psf-2021.6.6-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e78c12eb8fdd30e0b3c8c835f34f64207e2937c11ee697ef30440d36e645c7ea |
|
MD5 | ffec1db100b33788012144ad9f3d9c7c |
|
BLAKE2b-256 | 04414e8089d1e166a2219e6f9677cc73993253bf793cf4ec594cb70970721cee |
Hashes for psf-2021.6.6-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8cbb70e4d776b675d44e0ea555003cde0ce8d06899c7aa20e25ded71b7bb1fd |
|
MD5 | dcc40bce375d47d617d368095e7dd762 |
|
BLAKE2b-256 | b144f3d8b00e5257212d3061bcdc0463df3fa12ed8e4a84a6d285ba6b016622c |
Hashes for psf-2021.6.6-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27d4aa1f22d6596c32aa0abf8f93c94ca2452e2602a5dcfdaf91442593c1926d |
|
MD5 | b976cb84f082438ffe68dbfdd77311c2 |
|
BLAKE2b-256 | 01e58acfafbbae76ffc0910169b680cb3031764c190c6547328b7039fcfbf408 |
Hashes for psf-2021.6.6-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f0c2dbd8040e3f1f07d63f1177ad552573b3a0f5c13185060055b6da0c53e3d |
|
MD5 | 28db2c92b554368ecfd42e29ac77d2fb |
|
BLAKE2b-256 | 684160a9dde235252de6fb5e8169bdbb48b7911d20fd576a96b1901b9a831e79 |