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


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.3.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.3-py3-none-win_amd64.whl (187.3 kB view details)

Uploaded Python 3Windows x86-64

vapoursynth_knlmeanscl-1.3-py3-none-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (637.6 kB view details)

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

vapoursynth_knlmeanscl-1.3-py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (619.3 kB view details)

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

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

Uploaded Python 3macOS 15.0+ x86-64

vapoursynth_knlmeanscl-1.3-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.3.tar.gz.

File metadata

  • Download URL: vapoursynth_knlmeanscl-1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 174b60b1e748bc7dcf291fc6147ab1664d7f4fa5357c5433fd302779292c658f
MD5 b03e6e9c4993dda48020c3fa70679dd2
BLAKE2b-256 f08042bd4bd74ae141350a5d3ad7f3085396cb78a668d8fc611620d78fe27627

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_knlmeanscl-1.3.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.3-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for vapoursynth_knlmeanscl-1.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 6ba28e0c24240479f1c398a7a01b1dbc9b89a34aeb340399389f4d73df2b278b
MD5 fb4294c6a0761ba9073f9c406dae23bb
BLAKE2b-256 afbd1ca191f9f998a3adc1ade6c6642e722a16f0cd3dfba62cd3365cb485b470

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_knlmeanscl-1.3-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.3-py3-none-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vapoursynth_knlmeanscl-1.3-py3-none-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 87c7b34bb86518a430b8d8b2ea6c6f5878a94cf6af75a34df2b65b97a2cb03be
MD5 3a639348d391783f2ecd5a2ac796bbd8
BLAKE2b-256 a807c177a809cc93508e4cebdf41e664a7e59a17690fe1265caf6df3ddd539f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_knlmeanscl-1.3-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.3-py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for vapoursynth_knlmeanscl-1.3-py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 adb528054ae57aec3710362975453a204bee07438d910cd43b4240d95e8e574d
MD5 dca69020635c36916db2e932c2fa8c50
BLAKE2b-256 c79f352518601296a2c6055bc305e6630d1ecb24e1093be8d15fba6e2640e675

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_knlmeanscl-1.3-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.3-py3-none-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for vapoursynth_knlmeanscl-1.3-py3-none-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 1bbf61c762392ab5c22f4cbfbf900e4dd4d9db8de17fcbeb0e738b68780af198
MD5 63ce4a32843b323258f82ee703d22372
BLAKE2b-256 93079654dbe2d8785b1bb30f23e0041c13758acf256623135ba02670396b29ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_knlmeanscl-1.3-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.3-py3-none-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for vapoursynth_knlmeanscl-1.3-py3-none-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 78a044c24f9a185159990f3127040d3db2d354dce2235f7362a811211c8fa96b
MD5 812ef4f99a834b17380947e528c67b98
BLAKE2b-256 df86231c25b7f8d1a89c756e2fe33487687fe072916367a07dda79ea11f5512e

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_knlmeanscl-1.3-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