sparse-deconv-py

Official Python implementation of the 'Sparse deconvolution'-v0.3.0

ODBL-1.0 License

Stars
32

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

Related links:

Open source Sparse deconvolution

  • 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!
Badges
Extracted from project README
paper Github commit License Twitter GitHub watchers GitHub stars GitHub forks
Related Projects