Skip to main content

Python wrapper for BM4D denoising - from Tampere with love, again

Python wrapper for BM4D for stationary correlated noise (including white noise).

BM4D is an algorithm for attenuation of additive spatially correlated stationary (aka colored) Gaussian noise for volumetric data. This package provides a wrapper for the BM4D binaries for Python for the denoising of volumetric and volumetric multichannel data. For denoising of images/2-D multichannel data, see also the bm3d package.

These newer binaries (v4+) are designed only for dealing with additive Gaussian white or correlated noise. Special features like embedded handling of Rice noise and adaptive groupwise variance estimation are supported by the legacy binaries v3.2 at https://webpages.tuni.fi/foi/GCF-BM3D/ .

This implementation is based on

  • Y. Mäkinen, L. Azzari, A. Foi, 2020, "Collaborative Filtering of Correlated Noise: Exact Transform-Domain Variance for Improved Shrinkage and Patch Matching", in IEEE Transactions on Image Processing, vol. 29, pp. 8339-8354.
  • M. Maggioni, V. Katkovnik, K. Egiazarian, A. Foi, 2013, "Nonlocal Transform-Domain Filter for Volumetric Data Denoising and Reconstruction", in IEEE Transactions on Image Processing, vol. 22, pp. 119-133.
  • Y. Mäkinen, S. Marchesini, A. Foi, 2022, "Ring Artifact and Poisson Noise Attenuation via Volumetric Multiscale Nonlocal Collaborative Filtering of Spatially Correlated Noise", in Journal of Synchrotron Radiation, vol. 29, pp. 829-842.

The package contains the BM4D binaries compiled for:

  • Windows (Win11, MinGW-64)
  • GNU/Linux (GCC 11.3.0, 64-bit)
  • Mac OSX (El Capitan, 64-bit): no longer maintained and will be removed from future releases.
  • macOS (Sonoma, 64-bit ARM)

The package is available for non-commercial use only. For details, see LICENSE.

Basic usage:

y_hat = bm4d(z, sigma)  # white noise: include noise std
y_hat = bm4d(z, psd)  # correlated noise: include noise PSD (size of z)

For usage examples, see the examples folder of the full source (bm4d-***.tar.gz) from https://pypi.org/project/bm4d/#files .

Contact: Ymir Mäkinen ymir.makinen@tuni.fi

Release files for bm4d 4.2.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bm4d 4.2.5
File Size Uploaded
bm4d-4.2.5.tar.gz 3.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for bm4d 4.2.5
File Interpreter ABI Platform
bm4d-4.2.5-py3-none-any.whl Python 3 none any Details

Total release size: 4.8 MB

Release files / bm4d-4.2.5.tar.gz

Download URL bm4d-4.2.5.tar.gz
Size 3.9 MB
Tags Source
SHA-256 checksum
How to use checksums
5a7ca4d85ecb570e8eb20213d035fc801da58227772fd077b0a8798f5342c9b4
BLAKE2b-256 checksum
How to use checksums
2033d85ecd508ad6d0782002c21264d5d67f43d430d9e2304841bd5c7fb25753
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.4

Release files / bm4d-4.2.5-py3-none-any.whl

Download URL bm4d-4.2.5-py3-none-any.whl
Size 862.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
601338bbd54bcbd971d70b5a6961583a9ccaa564c982389cf3f82bd0a6d5bad5
BLAKE2b-256 checksum
How to use checksums
1947034be51bc2b40279fd1417397d3f330b73906774bd6eaecd26ed93c1491f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.4

Release history Release notifications | RSS feed

This release

4.2.5 This release

2 release files

4.2.4

2 release files

4.2.3

2 release files

4.2.2

2 release files

4.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page