Skip to main content

Optimized OpenCL implementation of the Non-local means de-noising algorithm

Project description

KNLMeansCL

KNLMeansCL is an optimized OpenCL implementation of the Non-local means de-noising algorithm.

The NLMeans filter, originally proposed by Buades et al., is a very popular filter for the removal of white Gaussian noise, due to its simplicity and excellent performance. The strength of this algorithm is to exploit the repetitive character of the image in order to de-noise the image unlike conventional de-noising algorithms, which typically operate in a local neighbourhood.

Installation

Pre-compiled wheels are available on PyPI for:

  • Windows: x86_64
  • Linux: x86_64 and aarch64
  • macOS: x86_64 and arm64 (15.0+)
pip install vapoursynth-knlmeanscl

Documentation

Detailed documentation and usage examples are available on the upstream Wiki.

Compilation

To compile KNLMeansCL, you will need:

  • uv
  • C++14 Compiler
  • OpenCL SDK
  • Boost

Windows

The easiest way to compile on Windows is using vcpkg for dependencies:

  1. Install dependencies:
    vcpkg install --triplet x64-windows-static boost-filesystem boost-system opencl pkgconf
    
  2. Build:
    # Replace path/to/vcpkg_installed with your actual installation path
    $vcpkgRoot = "path/to/vcpkg_installed/x64-windows-static"
    $env:LIB = "$vcpkgRoot/lib;$env:LIB"
    $env:INCLUDE = "$vcpkgRoot/include;$env:INCLUDE"
    $env:PKG_CONFIG_PATH = "$vcpkgRoot/lib/pkgconfig"
    $env:BOOST_ROOT = "$vcpkgRoot"
    $env:MESON_ARGS = "-Db_vscrt=mt -Denable_avs=false -Dstatic=true"
    uv build --wheel
    

Linux

Install development packages via your package manager:

  • Ubuntu/Debian: apt install ocl-icd-opencl-dev libboost-system-dev libboost-filesystem-dev pkg-config
  • Fedora/RHEL: dnf install ocl-icd-devel boost-devel pkgconf-pkg-config

Then build:

export MESON_ARGS="-Denable_avs=false -Dstatic=true"
uv build --wheel

macOS

Using vcpkg:

  1. Install dependencies:
    vcpkg install --triplet arm64-osx boost-filesystem boost-system opencl pkgconf
    
  2. Build:
    export MESON_ARGS="-Denable_avs=false -Dstatic=true"
    export PKG_CONFIG_PATH="path/to/vcpkg_installed/arm64-osx/lib/pkgconfig"
    export BOOST_ROOT="path/to/vcpkg_installed/arm64-osx"
    uv build --wheel
    

The resulting wheel will be located in the dist/ directory.

Project details


Release history Release notifications | RSS feed

This version

1.2

Download files

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

Source Distribution

vapoursynth_knlmeanscl-1.2.tar.gz (76.0 kB view details)

Uploaded Source

Built Distributions

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

vapoursynth_knlmeanscl-1.2-py3-none-win_amd64.whl (187.3 kB view details)

Uploaded Python 3Windows x86-64

vapoursynth_knlmeanscl-1.2-py3-none-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (637.7 kB view details)

Uploaded Python 3manylinux: glibc 2.26+ x86-64manylinux: glibc 2.28+ x86-64

vapoursynth_knlmeanscl-1.2-py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (619.1 kB view details)

Uploaded Python 3manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

vapoursynth_knlmeanscl-1.2-py3-none-macosx_15_0_x86_64.whl (39.7 kB view details)

Uploaded Python 3macOS 15.0+ x86-64

vapoursynth_knlmeanscl-1.2-py3-none-macosx_15_0_arm64.whl (39.5 kB view details)

Uploaded Python 3macOS 15.0+ ARM64

File details

Details for the file vapoursynth_knlmeanscl-1.2.tar.gz.

File metadata

  • Download URL: vapoursynth_knlmeanscl-1.2.tar.gz
  • Upload date:
  • Size: 76.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for vapoursynth_knlmeanscl-1.2.tar.gz
Algorithm Hash digest
SHA256 9bdb596057949ef97eef0a51befb50285595856dd423cc1c2dec95b8fd5c6e6d
MD5 314414ae530080289f9c15d77532ae34
BLAKE2b-256 3336ffd407773473a90cf614767bea54eefc1ded29fee6711f42e025ef2d850a

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_knlmeanscl-1.2.tar.gz:

Publisher: ci.yml on Jaded-Encoding-Thaumaturgy/vapoursynth-knlmeanscl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vapoursynth_knlmeanscl-1.2-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for vapoursynth_knlmeanscl-1.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 ab5f29d0d9e635f9d5a4c96c50c69773c7dd4c8a67c88e9844f98f2f431b6cad
MD5 f83ea6a419411ad0f4e833ed1ef62da1
BLAKE2b-256 9baa9117e912c2c44a08d581bf6ff7fa8637d10cb1d68c726f3f9dfb0fb6d344

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_knlmeanscl-1.2-py3-none-win_amd64.whl:

Publisher: ci.yml on Jaded-Encoding-Thaumaturgy/vapoursynth-knlmeanscl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vapoursynth_knlmeanscl-1.2-py3-none-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vapoursynth_knlmeanscl-1.2-py3-none-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d116e7857504d9346405323aa20c64a67ca257a0db923d7ff65c89f16fe8af3b
MD5 ba309296fc17d79af05170d9658f6dbb
BLAKE2b-256 b9529086e73a06649179a2884c0a2cf32baebb0fd9d5a4ab1689ac903d079c86

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_knlmeanscl-1.2-py3-none-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl:

Publisher: ci.yml on Jaded-Encoding-Thaumaturgy/vapoursynth-knlmeanscl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vapoursynth_knlmeanscl-1.2-py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for vapoursynth_knlmeanscl-1.2-py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 87e0e9ea4216ccdc35a23edec9c6dd3d52451c41ce7950d3ee196da470a8675c
MD5 ffd283f046b330d77f7c05d47e34f959
BLAKE2b-256 b705413001a234a5b7d71693eaab086e5bbe693e78741a49ca41131e3a494982

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_knlmeanscl-1.2-py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: ci.yml on Jaded-Encoding-Thaumaturgy/vapoursynth-knlmeanscl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vapoursynth_knlmeanscl-1.2-py3-none-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for vapoursynth_knlmeanscl-1.2-py3-none-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 1a1bfef57ec3f903bb65b8cdeaa318815f2aebf8422437b3533372be3592790b
MD5 94a1ad775e3686db962d2af168c93ac8
BLAKE2b-256 ade889f001b86cdf4ff667c537381b8f26d83ce55411e3f01b658ab1bf570423

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_knlmeanscl-1.2-py3-none-macosx_15_0_x86_64.whl:

Publisher: ci.yml on Jaded-Encoding-Thaumaturgy/vapoursynth-knlmeanscl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vapoursynth_knlmeanscl-1.2-py3-none-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for vapoursynth_knlmeanscl-1.2-py3-none-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 dc0302c5f82c80d2e0893e749198f230e5061bc5f29f9e4c45d4ceb1f39364c8
MD5 9b530181a716a1c74c6352de02e51fde
BLAKE2b-256 945b619e951ef85c7536a1b3cbd8a763b2f8cd48b1285cb9861ff13b2ee64568

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_knlmeanscl-1.2-py3-none-macosx_15_0_arm64.whl:

Publisher: ci.yml on Jaded-Encoding-Thaumaturgy/vapoursynth-knlmeanscl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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