All Projects → computational-imaging → ThreeDeconv.jl

computational-imaging / ThreeDeconv.jl

Licence: other
A convex 3D deconvolution algorithm for low photon count fluorescence imaging

Programming Languages

julia
2034 projects

Projects that are alternatives of or similar to ThreeDeconv.jl

ColiCoords
Single-cell fluorescence microscopy data analysis
Stars: ✭ 22 (-21.43%)
Mutual labels:  microscopy, fluorescence-microscopy-imaging
sparse-deconv-py
Official Python implementation of the 'Sparse deconvolution'-v0.3.0
Stars: ✭ 18 (-35.71%)
Mutual labels:  microscopy, fluorescence-microscopy-imaging
MiM NikonTi
Config and scripts used to run a Nikon Eclipse Ti in the vanNimwegen lab.
Stars: ✭ 16 (-42.86%)
Mutual labels:  microscopy
flika
An interactive image processing program for biologists written in Python.
Stars: ✭ 20 (-28.57%)
Mutual labels:  microscopy
napari-aicsimageio
Multiple file format reading directly into napari using pure Python
Stars: ✭ 18 (-35.71%)
Mutual labels:  microscopy
odemis
Open Delmic Microscope Software
Stars: ✭ 32 (+14.29%)
Mutual labels:  microscopy
atomai
Deep and Machine Learning for Microscopy
Stars: ✭ 77 (+175%)
Mutual labels:  microscopy
picasso
A collection of tools for painting super-resolution images
Stars: ✭ 77 (+175%)
Mutual labels:  microscopy
simple sim fusion demo
Simple demo of structured illumination microscopy image fusion via Richardson-Lucy deconvolution
Stars: ✭ 13 (-53.57%)
Mutual labels:  microscopy
cellfinder
Automated 3D cell detection and registration of whole-brain images
Stars: ✭ 122 (+335.71%)
Mutual labels:  microscopy
Scripts
🔬🍸 Home of the ImageJ BAR: A collection of Broadly Applicable Routines for ImageJ
Stars: ✭ 18 (-35.71%)
Mutual labels:  microscopy
OAD
Collection of tools and scripts useful to automate microscopy workflows in ZEN Blue using Python and Open Application Development tools and AI tools.
Stars: ✭ 90 (+221.43%)
Mutual labels:  microscopy
axondeepseg
Axon/Myelin segmentation using Deep Learning
Stars: ✭ 102 (+264.29%)
Mutual labels:  microscopy
GPim
Gaussian processes and Bayesian optimization for images and hyperspectral data
Stars: ✭ 29 (+3.57%)
Mutual labels:  microscopy
NanoJ-Fluidics
Manual, source-code and binaries for the NanoJ-Fluidics project
Stars: ✭ 47 (+67.86%)
Mutual labels:  microscopy
segmentation
Code for my master's thesis. Instance segmentation of fluorescence microscopy images with deep learning.
Stars: ✭ 38 (+35.71%)
Mutual labels:  microscopy
ome-types
native Python dataclasses for the OME data model
Stars: ✭ 28 (+0%)
Mutual labels:  microscopy
LLSpy
Lattice light-sheet post-processing utility.
Stars: ✭ 19 (-32.14%)
Mutual labels:  microscopy
DeconvolutionLab2
Java (ImageJ/Fiji) software package for 3D deconvolution microscopy
Stars: ✭ 29 (+3.57%)
Mutual labels:  microscopy
remote refocus
A scientific publication, describing a way to improve microscopy. This repository hosts everything you need to reproduce our results. Read the publication here: https://andrewgyork.github.io/remote_refocus/
Stars: ✭ 13 (-53.57%)
Mutual labels:  microscopy

ThreeDeconv.jl

ThreeDeconv.jl is a 3D deconvolution software for fluorescence microscopy written in Julia. Currently, it supports Julia v.1.6.0 but may not be going to be supported in the future releases. If interested, please feel free to make a PR. The detail of the algorithm is available in our paper and our website. While the deconvolution algorithm is the same as described in the paper, we made some improvements in our software along with the major update of Julia and related packages. Thanks to this update, this package is significantly faster than the speed reported on the paper and deconvoles a 256 x 256 x 57 image in 5 seconds! Please refer to NEWS.md to catch up the updates.

Installation

Hit the key ] in the Julia REPL to ender the Pkg REPL-mode, and run

pkg> add https://github.com/computational-imaging/ThreeDeconv.jl.git

Example usage

To run the example script, you need PyCall.jl and Conda.jl. In addition, you need scikit-image available through PyCall. You can run the following in Julia's REPL to install them.

julia> import Pkg; Pkg.add("Conda")
julia> import Conda; Conda.add_channel("conda-forge"); Conda.update(); Conda.add("scikit-image")
julia> ENV["PYTHON"] = joinpath(Conda.PYTHONDIR, "python")
julia> Pkg.add("PyCall")

If you already have a Python environment that you want to use from Julia, please consult with PyCall.jl. Since these packages are required just for image I/O, you can also use other packages if you want. However, I personally found that scikit-image is the most convenient package to read multi-stack tiff files from Julia.

If you have a CUDA-compatible NVIDIA GPU, the example script runs on a GPU. You might want to use `PackageCompiler.jl' to create a sysimage.

Then, after downloading the dataset (described below) in the example directory, run

julia example.jl

from your terminal in the example directory. The script simulates the PSF, deconvolves the fluorescent bead and saves the deconvolved image.

Dataset

The dataset used in our paper is available at Google Drive (150MB). The images are processed with darkfield and flatfield correction as described in the paper. Its raw dataset is also available at Google Drive (1GB). This dataset comes with corresponding darkfield and flatfield images.

This dataset can be used for academic and other non-commercial purposes. If you use this dataset in your research paper, please cite our paper.

Disclaimer

The Jupyter notebook is not maintained anymore. But you may be able to easilly modify it to make it runnable by referring to example.jl

Citation

"A convex 3D deconvolution algorithm for low photon count fluorescence imaging" Scientific Reports 8, Article number: 11489 (2018) Hayato Ikoma, Michael Broxton, Takamasa Kudo, Gordon Wetzstein

@article{ikoma2018convex,
  title={A convex 3D deconvolution algorithm for low photon count fluorescence imaging},
  author={Ikoma, Hayato and Broxton, Michael and Kudo, Takamasa and Wetzstein, Gordon},
  journal={Scientific reports},
  volume={8},
  number={1},
  pages={11489},
  year={2018},
  publisher={Nature Publishing Group}
}

If you use this library for your research, please cite our paper.

To biologists

If you find this package useful but feel that it lacks some functionalities for your research, feel free to create an issue in this repository or send an email @hayatoikoma. I am happy to extend this package to accomodate your need.

Developers

This package is mostly developed by @hayatoikoma, and the PSF simulator (WaveOptics.jl) is developed by @broxtronix. WaveOptics.jl is still an unreleased Julia package for various PSF simulations. ThreeDeconv.jl has incorporated part of WaveOptics.jl for this release.

License

The ThreeDeconv.jl package is licensed under the following license:

Copyright (c) 2018, Stanford University

All rights reserved.

Redistribution and use in source and binary forms for academic and other non-commercial purposes with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code, including modified source code, must retain the above copyright notice, this list of conditions and the following disclaimer.

  • Redistributions in binary form or a modified form of the source code must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  • Neither the name of The Leland Stanford Junior University, any of its trademarks, the names of its employees, nor contributors to the source code may be used to endorse or promote products derived from this software without specific prior written permission.

  • Where a modified version of the source code is redistributed publicly in source or binary forms, the modified source code must be published in a freely accessible manner, or otherwise redistributed at no charge to anyone requesting a copy of the modified source code, subject to the same terms as this agreement.

THIS SOFTWARE IS PROVIDED BY THE TRUSTEES OF THE LELAND STANFORD JUNIOR UNIVERSITY "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE LELAND STANFORD JUNIOR UNIVERSITY OR ITS TRUSTEES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].