minvar


Author V. C. Mohan
Date 1 Oct 2020
EMail: mohanvc

This is an adaptive local noise reduction filter. It uses global variance of the noise, local mean and local variance in a moving grid of specified size. It tries to preserve edges as closely as possible.

works in YUY2, Planar and, RGB color spaces and for all bit depths supported by avisynth+. This is thread safe : MT_NICE_FILTER.

The window for computing global variance be located in an area with least image grey level (luma) variations, and as large as possible (10,000+ pixels) so that noise statistics are correctly estimated. Note that window coordinates must be specified

The process tries to retain the sharpness of the image, though some blurring may be unavoidable. The process may be repeated number of times to get desired result. However results depend on window selected.


Details of parameters
Description Name Type Limits Default
Input clip clip none
frame number in which specified window is located sf integer within clip 0
Number of pixels along x axis in moving grid xgrid integer 3 to 9 5
Number of pixels along y axis in moving grid ygrid integer 3 to 9 xgrid
window left x computing global variance lx integer within clip, less than rx none. Must be specified
window top y for computing global variance ty integer within clip, less than by none. Must be specified
window width for computing global variance wd integer lx + wd be within frame none. Must be specified
window height for computing global variance ht integer ty + ht be within frame none. Must be specified
Whether U and V of YUY2 and YUV formats to be processed uv boolean true for uv process, false for not process true
Whether A value of RGB formats to be processed a boolean true yes, false no false
Whether variance values are to be displayed as an error message show boolean true yes, false no false

Usage examples
minvar()
minvar(sf = 35,lx=220,wd=245,ty=322,ht=150, uv = true)

down loadmanyPlus plugin
To my index page To Avisynth