paper Github commit License
Twitter GitHub watchers GitHub stars GitHub forks

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

Related links: img2vid, Adaptive filter imagej-plugin, and Merge channels

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!

GitHub

View Github