Skip to main content

Vapoursynth-ATWT

Vapoursynth-ATWT is a VapourSynth plugin that implements the À Trous Wavelet Transform for frequency separation. It decomposes a video clip into multiple frequency layers (Detail) and a residual layer (Base).

Installation

pip install vapoursynth-atwt

Core Plugin API

The plugin exports two low-level functions.

atwt.ExtractFrequency(clip, radius=1)

Extracts a detail layer from the input clip.

  • Formula: $Detail = Src - Blur(Src)$
  • clip: Input clip.
  • radius: The dilation factor of the wavelet kernel. Step size = $2^{(radius-1)}$. Default is 1.

atwt.ReplaceFrequency(base, detail)

Recombines a base layer with a detail layer.

  • Formula: $Output = Base + (Detail - Neutral)$
  • base: The low-frequency clip.
  • detail: The high-frequency clip (result from ExtractFrequency).
  • Note: This function automatically handles neutral grey offsets for integer formats.

Python Helper Scripts

To modify specific levels, one cannot simply call ExtractFrequency(radius=2) on the source, as that would include Level 1 details as well. One must peel the layers recursively.

import vapoursynth as vs
core = vs.core

def atwt_decompose(clip: vs.VideoNode, levels: int = 2) -> list[vs.VideoNode]:
    """
    [Level_1, Level_2, ..., Level_N, Base(Residual)]
    
    layers[0]  -> Level 1
    layers[1]  -> Level 2
    layers[-1] -> Base
    """
    details = []
    current_base = clip
    
    for i in range(1, levels + 1):
        d = core.atwt.ExtractFrequency(current_base, radius=i)
        next_base = core.std.MakeDiff(current_base, d)
        details.append(d)
        current_base = next_base

    return details + [current_base]

def atwt_recombine(layers: list[vs.VideoNode]) -> vs.VideoNode:
    current_clip = layers[-1]
    details_reversed = layers[:-1][::-1]
    
    for detail in details_reversed:
        current_clip = core.atwt.ReplaceFrequency(base=current_clip, detail=detail)
    
    return current_clip

Compilation

A C++23-compatible compiler is required.

python -m pip install build
python -m build

Download files

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

Source Distribution

vapoursynth_atwt-2.tar.gz (19.4 kB view details)

Uploaded Source

Built Distributions

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

vapoursynth_atwt-2-py3-none-win_amd64.whl (77.6 kB view details)

Uploaded Python 3Windows x86-64

vapoursynth_atwt-2-py3-none-musllinux_1_2_x86_64.whl (1.1 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

vapoursynth_atwt-2-py3-none-musllinux_1_2_aarch64.whl (1.0 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

vapoursynth_atwt-2-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (29.2 kB view details)

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

vapoursynth_atwt-2-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (32.3 kB view details)

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

vapoursynth_atwt-2-py3-none-macosx_13_0_x86_64.whl (23.4 kB view details)

Uploaded Python 3macOS 13.0+ x86-64

vapoursynth_atwt-2-py3-none-macosx_13_0_arm64.whl (23.1 kB view details)

Uploaded Python 3macOS 13.0+ ARM64

File details

Details for the file vapoursynth_atwt-2.tar.gz.

File metadata

  • Download URL: vapoursynth_atwt-2.tar.gz
  • Upload date:
  • Size: 19.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for vapoursynth_atwt-2.tar.gz
Algorithm Hash digest
SHA256 bb1ad8a3c4f0b0bc6bc8fa747217b20fb12b4be363f850ecc0eb68dc9ee6e243
MD5 03c91580edd62569f99832696a1418c5
BLAKE2b-256 0b8192e65649b63d4e06055eb2abd35a374f6720036bc0a5bed9fa60ae2abe23

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_atwt-2.tar.gz:

Publisher: publish.yml on pifroggi/Vapoursynth-ATWT

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_atwt-2-py3-none-win_amd64.whl.

File metadata

  • Download URL: vapoursynth_atwt-2-py3-none-win_amd64.whl
  • Upload date:
  • Size: 77.6 kB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for vapoursynth_atwt-2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 429417468bdc70099da585b9712cde30c69cff9db3728ad8029cd6b5e671b9be
MD5 f75e5fd0d5221002213590cc15380398
BLAKE2b-256 f9370837a2050a299a091a73682b1b94060106fd6121c3ed78783c062df56d10

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_atwt-2-py3-none-win_amd64.whl:

Publisher: publish.yml on pifroggi/Vapoursynth-ATWT

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_atwt-2-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for vapoursynth_atwt-2-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9303f155a3f51eb0b14f2b9de9019c11682be0c9510ede2ef7a27751a8e1d6b3
MD5 50edcdde5d7918d061355a11d85b2178
BLAKE2b-256 62ff50dfb317e1e194843a04774aa6a99e9eff402a35cc560d2af1c857b33c42

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_atwt-2-py3-none-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on pifroggi/Vapoursynth-ATWT

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_atwt-2-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for vapoursynth_atwt-2-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c77e8e85c56357bbe2b4601fa0c8f745a4d8a45fa9f35e2e7f3f796bd536fc04
MD5 48f913732335d2efacef9e2cd524f278
BLAKE2b-256 7e37bc0dacf68de0eab2721eb369db54aa04df149e55dce4df61530d3369ca97

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_atwt-2-py3-none-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on pifroggi/Vapoursynth-ATWT

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_atwt-2-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vapoursynth_atwt-2-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e02f250e42cca2c911e65c6ff153036502a8797a5596db701b63823e6e04c57c
MD5 aa6c525ee845cbcc0de8c14825a47fa8
BLAKE2b-256 1371f24e444a4efe8fc05651173cd0af0d19842cbefe67249498556ae15115b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_atwt-2-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on pifroggi/Vapoursynth-ATWT

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_atwt-2-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for vapoursynth_atwt-2-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7eaa1f317986d32fe93c75fae543f102bc3ffd9a7fffe4cc54b9e45f4e3b3f8e
MD5 6456dad9d17d9202ec99201250efc0b4
BLAKE2b-256 06be57f40db62603e69d587ef1e2ec96c897e0a6c10713997528596cd8f49d32

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_atwt-2-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on pifroggi/Vapoursynth-ATWT

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_atwt-2-py3-none-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for vapoursynth_atwt-2-py3-none-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 728797a58b3a89fc391f230bde1c5f442bfe20d6d5eb86ccab5ab6657b5fdddc
MD5 1ce712778763eb11e488d74b8cb07a86
BLAKE2b-256 b1bb4f9f6b8fccb1b9c33ca892ac9b5743b4634a308b5a2646396e2c0fdc26dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_atwt-2-py3-none-macosx_13_0_x86_64.whl:

Publisher: publish.yml on pifroggi/Vapoursynth-ATWT

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_atwt-2-py3-none-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for vapoursynth_atwt-2-py3-none-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 8565e337ebc2eee381167b536573648ed1180740e4e2a77e51dff8298c373406
MD5 a8e4752c5f132cc88a16f1f467417983
BLAKE2b-256 ab9108f27c18b6ea149e702ad7d0db997629e26630d2d568b072ce2161a5eb0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_atwt-2-py3-none-macosx_13_0_arm64.whl:

Publisher: publish.yml on pifroggi/Vapoursynth-ATWT

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

Release history Release notifications | RSS feed

This release

2 This release

8 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