DeScratch - Scratch Removing Filter
Plugin for VapourSynth and Avisynth+ Copyright (C)2003-2016 Alexander G. Balakhnin aka Fizick (http://avisynth.org.ru) Modernization and VapourSynth support by Fredrik Mellbin
Purpose
This plugin removes vertical scratches from films. Also it can be used for removing horizontal noise lines such as drop-outs from analog VHS captures (after image rotation). How it works The plugin firstly detects scratches, then removes them. It uses spatial information only from the current frame. I created it for restoration of my old 8 mm films, maybe it will be useful to somebody else.
Scratch detection
Apply some vertical blur to frame copy, for suppression of image thin structure, inclined lines and noise. Search for local extremes of luma in every row with luma difference criterion for scratches with width not above a max. Put these extremes in some map (frame). Search and deactivate extrems for width below a min (optional). Optionally close vertical gaps in extrems by vertical expanding of extreme points. Test the extremes map with length and angle criterions, so select real long scratches only.
Scratch removal
Scratches may be either partially transparent, smooth (with image details), or opaque (with no details or almost destroyed). In the first case, plugin can subtract smooth (blurred) part of luma scratches variation from original image. Therefore, image details are kept. In the second case, plugin replaces scratched pixels by mean luma values from some neighbours pixels (in same row). We have also intermediate case by setting some percent of detail to keep. In all cases, some nearest neighbours pixels may be also partially changed for smooth transition.
See full documentation in doc folder for usage examples.
Metadata
Release files for vapoursynth-descratch 4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| vapoursynth_descratch-4.0.tar.gz | 11.0 MB | With provenance | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| vapoursynth_descratch-4.0-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| vapoursynth_descratch-4.0-py3-none-musllinux_1_2_x86_64.whl | Python 3 | none | Linux musl 1.2+ x86-64 | Details |
| vapoursynth_descratch-4.0-py3-none-musllinux_1_2_aarch64.whl | Python 3 | none | Linux musl 1.2+ ARM64 | Details |
| vapoursynth_descratch-4.0-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl | Python 3 | none | Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 | Details |
| vapoursynth_descratch-4.0-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl | Python 3 | none | Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 | Details |
| vapoursynth_descratch-4.0-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
| vapoursynth_descratch-4.0-py3-none-macosx_10_15_x86_64.whl | Python 3 | none | macOS 10.15+ x86-64 | Details |
Total release size: 13.4 MB
Release files / vapoursynth_descratch-4.0.tar.gz
| Download URL | vapoursynth_descratch-4.0.tar.gz |
|---|---|
| Size | 11.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ab7881631e2c80b16cfd7815144eb3385176f17c264aa41ceebb72e0021a2dad
|
|
BLAKE2b-256 checksum How to use checksums |
fa7c4fdb4333b8c9adae41808c10d57040095f5d6f969c5e3369e2036e05ff0e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 8, 2026.
Transparency logRelease files / vapoursynth_descratch-4.0-py3-none-win_amd64.whl
| Download URL | vapoursynth_descratch-4.0-py3-none-win_amd64.whl |
|---|---|
| Size | 187.5 kB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
da5fdec4b63a9a5181c9b7ea797d5e4db6747d6158054ae537aafe0c5359f278
|
|
BLAKE2b-256 checksum How to use checksums |
55f13a8e0bceb4aeadac38013da890599f7e2d14694cf668d14798a4d47d29ee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 8, 2026.
Transparency logRelease files / vapoursynth_descratch-4.0-py3-none-musllinux_1_2_x86_64.whl
| Download URL | vapoursynth_descratch-4.0-py3-none-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | Linux musl 1.2+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
2e8fe50081ad2ad918c5ad073aa9311964404005d0618d9613bd63730099c61f
|
|
BLAKE2b-256 checksum How to use checksums |
4c0a78aab2f5616c1579f7c14cd92d62c168aa78458837bdd1edb1ebdf9537d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 8, 2026.
Transparency logRelease files / vapoursynth_descratch-4.0-py3-none-musllinux_1_2_aarch64.whl
| Download URL | vapoursynth_descratch-4.0-py3-none-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 1.0 MB |
| Tags | Linux musl 1.2+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
3571bebf9685ecbe32ff55ef0b0c524c677a4529042c08c5c1dca4537ca9523d
|
|
BLAKE2b-256 checksum How to use checksums |
461f965f2a75cbc52abfbf3b7e6fb0bad5cab63a67f236e646dc2b1a6b50b0b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 8, 2026.
Transparency logRelease files / vapoursynth_descratch-4.0-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | vapoursynth_descratch-4.0-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 22.0 kB |
| Tags | Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
4698164e7e69c17846c9d899dbb359daea66171747c018b04b51ed60907d6172
|
|
BLAKE2b-256 checksum How to use checksums |
5a003952504e59542143529ac57a26790bdaa33b7abb0d8ba2b936c1c48c10d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 8, 2026.
Transparency logRelease files / vapoursynth_descratch-4.0-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
| Download URL | vapoursynth_descratch-4.0-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 21.7 kB |
| Tags | Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
783670c0d3e6b8272d5feffe49b8004fb0a1d01b4401aa32894e40393891354e
|
|
BLAKE2b-256 checksum How to use checksums |
c914d2d5ccba961795ba4b53719fa051602a38e0a0543ba9320b8bcfa5b95609
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 8, 2026.
Transparency logRelease files / vapoursynth_descratch-4.0-py3-none-macosx_11_0_arm64.whl
| Download URL | vapoursynth_descratch-4.0-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 21.8 kB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
e3f66ad677394bc8abb25f0bf94af2745b7425136e2494faadf5c527d00c1a8d
|
|
BLAKE2b-256 checksum How to use checksums |
3552c3a9372911f23027aaed7fbfb3d5bf4b3483390ba34ef93fabb4a300392e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 8, 2026.
Transparency logRelease files / vapoursynth_descratch-4.0-py3-none-macosx_10_15_x86_64.whl
| Download URL | vapoursynth_descratch-4.0-py3-none-macosx_10_15_x86_64.whl |
|---|---|
| Size | 22.4 kB |
| Tags | Python 3 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
1344cfdaadc80c64b7fcfaf00f3ac9035c834c9d8ed401a7368c2ee6dfb6dacf
|
|
BLAKE2b-256 checksum How to use checksums |
f97435f320a6a7142042437688878acc8c6c1c1652625d566ca2f594921ee63b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 8, 2026.
Transparency logSecurity for vapoursynth-descratch 4.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 8 files in this release have been uploaded with provenance metadata.
Attestation for vapoursynth_descratch-4.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 8, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.