Giter Site home page Giter Site logo

deepwienerrestoration's Introduction

Microscopy Image Restoration with Deep Wiener-Kolmogorov Filters

Implementation of the joint deblurring and denoising of microscopy images distorted with Gaussian or Poisson noise as described in the paper "Microscopy Image Restoration with Deep Wiener-Kolmogorov Filters" (ECCV2020).

Project page

Dependencies

The code uses the external packages that can be installed with packagelist.txt.

Models

We provide models for joint denoising and deblurring based on deep learning techniques for the approximation of learnable prior information integrated into the Wiener-Kolmogorov filter:

  • Wiener filter with learnable identical kernels (WF-K)
  • Wiener filter with predictable kernels per-image (WF-KPN)
  • Deconvolution with predictable gradient of regularizer per-image (WF-UNet)

We also provide the UNet that was used as the base of two algorithms.

Evaluation

To have an idea about the models evaluation, you can run Demo_Gaussian.ipynb and Demo_Poisson.ipynb for the Gaussian and Poisson noise case respectively.

Run the following command to evaluate the model:

python *.py file* --method *select algorithm* --test_std *select test std* --model_path ./models/ --visual 1 --use_gpu 1

For example, to evaluate WF-UNet on Gaussian noise with std = 0.01, use GPU and save the output images run:

python main-Gaussian.py --method WF_UNet --test_std 0.01 --model_path ./models/ --visual 1 --use_gpu 1

To evaluate WF-K on Poisson noise with peak = 25 and do not save the output images and do not use GPU run:

python main-Poisson.py --method WFK --test_scale 25. --model_path ./models/ --visual 0 --use_gpu 0

Hyperparameters

usage: main-Gaussian.py [-h] [--method METHOD] [--model_path MODEL_PATH]
                        [--test_std TEST_STD] [--visual VISUAL]
                        [--use_gpu USE_GPU]

Image deconvolution with trainable algorithms

optional arguments:
  -h, --help            show this help message and exit
  --method METHOD       Define algorithm to run
  --model_path MODEL_PATH
                        Path to the models
  --test_std TEST_STD   Standard deviation of the Gaussian noise
  --visual VISUAL       Save (visual=1) or not (visual=0) evaluated results
                        during test
  --use_gpu USE_GPU     Use GPU (use_gpu=1) or CPU (use_gpu=0) for evaluation


usage: main-Poisson.py [-h] [--method METHOD] [--model_path MODEL_PATH]
                       [--visual VISUAL] [--use_gpu USE_GPU]
                       [--test_scale TEST_SCALE]

Image deconvolution with trainable algorithms

optional arguments:
  -h, --help            show this help message and exit
  --method METHOD       Define algorithm to run
  --model_path MODEL_PATH
                        Path to the models
  --visual VISUAL       Save (visual=1) or not (visual=0) evaluated results
                        during test
  --use_gpu USE_GPU     Use GPU (use_gpu=1) or CPU (use_gpu=0) for evaluation
  --test_scale TEST_SCALE
                        Peak value for the ground truth image rescaling to
                        simulate various levels of Poisson noise
                        

Training and validation data

Data for training and validation and corresponding PSFs are available via the following link: https://drive.google.com/drive/folders/1oPFbYBHv-R4sgtnQwrEun1V5EDbKQa1H?usp=sharing

Note

Below there are tables with the results obtained with the longer training of our models:

Gaussian noise

Poisson noise

deepwienerrestoration's People

Contributors

vpronina avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

deepwienerrestoration's Issues

consulting for test data

Dear authors,

Thanks for your nice work!

When I download the dataset, I find that the PSF in test data is broken. Could you please upload this part if possible?

Look forwards for your help!

Kind regards

help me!Can you provide your training code?

I read 《Microscopy Image Restoration with Deep
Wiener-Kolmogorov Filters》,this article has inspired me a lot. Can you provide your training code? I am ready to reproduce. Thank you!!!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.