Neo VagueDenoiser
| Abstract | |
|---|---|
| Author | msg7086 | 
| Version | r1v2 | 
| Download | neo-vague-denoiser_r1v2.zip | 
| Category | Spatial Denoisers | 
| License | GPLv2 | 
| Discussion | Doom9 Forum | 
| Contents | 
Description
Neo_VagueDenoiser 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.
VagueDenoiser 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 ←
