Neo VagueDenoiser
(NeoVagueDenoiser: add documentation) |
m (→Changelog) |
||
Line 68: | Line 68: | ||
== Changelog == | == Changelog == | ||
Version Date Changes<br> | Version Date Changes<br> | ||
− | |||
r1 2020/04/19 - Initial release | r1 2020/04/19 - Initial release | ||
<br> | <br> |
Revision as of 20:16, 19 April 2020
Abstract | |
---|---|
Author | msg7086 |
Version | r1v2 |
Download | neo-vague-denoiser_r1v2.zip |
Category | Spatial Denoisers |
License | GPLv2 |
Discussion | Doom9 Forum |
Contents |
Description
Vague Denoiser is a wavelet based denoiser.
Basically, it transforms each frame from the video input into the wavelet domain, using Cohen-Daubechies-Feauveau 9/7. Then it applies some filtering to the obtained coefficients. It does an inverse wavelet transform after. Due to wavelet properties, it should give a nice smoothed result, and reduced noise, without blurring picture features.
It was originally written by Lefungus, and later modified by Kurosu and Fizick for further improvement. VapourSynth-VagueDenoiser was ported to VapourSynth interface and refactored by HolyWu. Kudos to them for creating and improving this fantastic tool.
This project backports VapourSynth-VagueDenoiser to AviSynth+. This filter self-registers as MT_NICE_FILTER.
Requirements
Syntax and Parameters
- neo_vd (clip clip, float "threshold", int "method", int "nsteps", float "percent", int "y", int "u", int "v", int "opt")
- clip =
- A clip to process. It must have constant format and it must be 8..16 bit with integer samples.
- clip =
- float threshold = 2.0
- Filtering strength. The higher, the more filtered the clip will be. Hard thresholding can use a higher threshold than Soft thresholding before the clip looks overfiltered.
- float threshold = 2.0
- int method = 2
- The filtering method the filter will use.
- 0 : Hard thresholding. All values under the threshold will be zeroed.
- 1 : Soft thresholding. All values under the threshold will be zeroed. All values above will be reduced by the threshold.
- 2 : Qian's (garrote) thresholding. Scales or nullifies coefficients - intermediary between (more) soft and (less) hard thresholding.
- The filtering method the filter will use.
- int method = 2
- int nsteps = 6
- Number of times, the wavelet will decompose the picture. Picture can't be decomposed beyond a particular point (typically, 8 for a 640x480 frame - as 2^9 = 512 > 480).
- int nsteps = 6
- float percent = 85.0
- Partial of full denoising (limited coefficients shrinking), from 0 to 100.
- float percent = 85.0
- int y = 3
- int u = 3
- int v = 3
- Whether a plane is to be filtered.
- 1 : Do not touch, leaving garbage data
- 2 : Copy from origin
- 3 : Process
- Whether a plane is to be filtered.
- int y = 3
- int opt = 0
- Sets which CPU optimizations to use.
- 0 - Auto detect
- 1 - Use C
- 2 - Use up to SSE (for core)
- 3 - Use up to SSE4.1 (for data copy)
- 4 - Use up to AVX (for core)
- 5 - Use up to AVX2 (for data copy)
- Sets which CPU optimizations to use.
- int opt = 0
Examples
- Neo_VagueDenoiser with default settings:
AviSource("Blah.avi") neo_vd (threshold=2.0, method=2, nsteps=6, percent=85.0, Y=3, U=3, V=3)
Changelog
Version Date Changes
r1 2020/04/19 - Initial release
Archived Downloads
External Links
- GitHub - Source code repository.
Back to External Filters ←