Sparse deconvolution Python v0.3.0
Official Python implementation of the 'Sparse deconvolution', and the CPU (NumPy)
and GPU (CuPy)
calculation backend will be automatically selected.
We haven’t tested it thoroughly, and the development is work in progress, so expect rough edges. As a result, feedback, questions, bug reports, and patches are welcome and encouraged!
It is a part of publication. For details, please refer to: "Weisong Zhao et al. Sparse deconvolution improves the resolution of live-cell super-resolution fluorescence microscopy, Nature Biotechnology (2021)".
Instruction
- NOTE: The MATLAB version and detailed information can be found at https://github.com/WeisongZhao/Sparse-SIM.
- NOTE: The GPU acceleration feature using CuPy requires a CUDA-based NVIDIA GPU. It could provide a ~30 times faster reconstruction speed for a
512 × 512 × 5
image stack. - Clone/download, and run the
demo.py
from sparse_recon.sparse_deconv import sparse_deconv
im = io.imread('test.tif')
plt.imshow(im,cmap = 'gray')
plt.show()
pixelsize = 65 #(nm)
resolution = 280 #(nm)
img_recon = sparse_deconv(im, resolution / pixelsize)
plt.imshow(img_recon / img_recon.max() * 255,cmap = 'gray')
plt.show()
Tested dependency
- Python 3.7
- NumPy 1.21.4
- CuPy 9.6.0 (CUDA 11.5)
- PyWavelets 1.1.1
Version
- v0.3.0 full Sparse deconvolution features
- v0.2.0 iterative deconvolution
- v0.1.0 initialized and started from dzh929
img2vid, Adaptive filter imagej-plugin, and Merge channels
Related links:Sparse deconvolution
Open source- This software and corresponding methods can only be used for non-commercial use, and they are under Open Data Commons Open Database License v1.0.
- Feedback, questions, bug reports and patches are welcome and encouraged!