Skip to main content

Noise2VST denoising microscopy images

Project description

Self-Calibrated Variance-Stabilizing Transformations for Real-World Image Denoising

Sébastien Herbreteau and Michael Unser

News

  • :fire: Accepted at ICCV'25

  • :fire: The Napari plugin is out! 👉 Check it out here. Thanks to Ibrahima Alain Gueye (intern ENSAI)!

Napari plugin

Thanks to Ibrahima Alain Gueye (intern ENSAI) for developing the plugin for Napari. 👉 Check it out here.

Requirements

Here is the list of libraries you need to install to execute the code:

  • Python 3.12
  • NumPy 1.26.4
  • PyTorch 2.2
  • Torchvision 0.17
  • Matplotlib 3.9

To install in an environment using conda:

conda env create -f environment.yml
conda activate noise2vst

Demo

We provide a Python Jupyter Notebook with example code to reproduce the experiments of the paper: demo.ipynb.

Pre-trained models

We use two popular off-the-shelf neural networks specialized in the removal of Gaussian noise (see folder models):

  • FFDNet [K. Zhang et al., IEEE Trans IP 2018]
  • DRUNet [K. Zhang et al., IEEE Trans PAMI 2022]

Their pre-trained weights can be downloaded using the file download.py.

Noise2VST

Noise2VST is implemented in Pytorch in the file noise2vst.py. Use the template below within your code:

# Instanciate the class
noise2VST = Noise2VST().to(device)

# Training (time depends on the performance of your CPU/GPU)
noise2VST.fit(img_noisy, m_ffdnet_color, nb_iterations=2000)

# Inference
with torch.no_grad():
    img_den = noise2VST(img_noisy, m_drunet_color)

Acknowledgements

We acknowledge access to the facilities and expertise of the CIBM Center for Biomedical Imaging, a Swiss research center of excellence founded and supported by Lausanne University Hospital (CHUV), University of Lausanne (UNIL), École polytechnique fédérale de Lausanne (EPFL), University of Geneva (UNIGE), and Geneva University Hospitals (HUG).

This work was granted access to the HPC resources of IDRIS under the allocation 2024-AD011015932 made by GENCI.

Citation

@article{herbreteau2024noise2vst,
  title={Self-Calibrated Variance-Stabilizing Transformations for Real-World Image Denoising},
  author={Herbreteau, S{\'e}bastien and Unser, Michael},
  journal={arXiv preprint arXiv:2407.17399},
  year={2024}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

noise2vst-0.1.0.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

noise2vst-0.1.0-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file noise2vst-0.1.0.tar.gz.

File metadata

  • Download URL: noise2vst-0.1.0.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for noise2vst-0.1.0.tar.gz
Algorithm Hash digest
SHA256 da1254a1b1a104e7b7a9abcc0b21be0c28774f9fadc74fe563e66f85b475f853
MD5 c84c92162878a10d69eafd08077e056e
BLAKE2b-256 6975831e99994ccecf2af57af68132d074b7b20cab5f1411da47e83aaeabc2f7

See more details on using hashes here.

File details

Details for the file noise2vst-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: noise2vst-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for noise2vst-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a9985af6a39d2bbe95b9d109a9f0e36595367d46fc501f9d77f6439e30060994
MD5 ff7692109f0f101aa77145182927d6c8
BLAKE2b-256 f8a66370178550c77310cf9587d41126fe6d2cd74a27a2eba840ca9ebe293110

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page