NirMalam


Author V. C. Mohan
Date 7 Oct 2015
EMail: mohanvc

NirMalam plugin for Avisynth 2.5.8 and 2.6 versions and for avisynth+ multithread . The plugin is free for usage and the author does not give any guarentee for its operation. It may be downloaded and used at the users risk.

This is an adaptive local noise reduction filter that uses image value statistics in a moving grid while trying to preserve sharpness of image.

From a specified frame of the clip NirMalam either auto selects a suitable specified size window or uses user specified window to obtain noise parameters. In case of RGB the green color and in case of Y-U-V formats, the Y plane is used for autoselection of window

Parameter ry, gu, by control whether a color is to be left out or processed, if so with what accent. A value of zero will leave out that color ( or luma or chroma). A value of 100 (%)will use derived values. Any higher value may accentuate. Accentuation may soften the image so may be used cautiously.In case of Luma or RGB values of RGB Format lower accentuation values may be used. For chroma of YUY2 and Planar formats higher values may not smear colors perceptably. However, experiment prior to processing a full clip.

This plugin works in YUY2, Planar ( 2.5.8 version YV12), RGB32 and RGB24 color spaces. Results of using rgb format can be different to that of Y - U - V formats.

The window for deriving noise parameters, if autow is set to false, must be located in an area with least image grey level variations, so that noise statistics are correctly estimated. Note that this window coordinates must be specified as default values are not provided. If window is located in an improper part , then it can lead to heavy blurring.


Details of parameters
Description Name Type Limits Default
Input clip clip none
frame number from which noise statistics to be determined nf integer within clip 0
Number of pixels along x axis in moving grid xgrid integer 3 to 11 5
Number of pixels along y axis in moving grid ygrid integer 3 to 11 xgrid
Whether window to be selected automatically autow boolean true for yes, false for use user specified window true
minimum window size if autow is true minw integer Between 1/256 and 1/16 of frame size 1/128 of frame size
accent %age for red or Y ry integer Between 0 to 100 75
accent %age for green or U gu integer Between 0 to 100 75
accent %age for blue or V bv integer Between 0 to 100 75
window left x at start frame for computing global variance lx integer within clip, less than rx none. Must be specified for autow being false
window top y at start frame for computing global variance ty integer within clip, less than by none. Must be specified for autow being false
window right x at start frame for computing global variance rx integer within clip, more than lx none. Must be specified for autow being false
window bottom y at start frame for computing global variance by integer within clip, more than ty none. Must be specified for autow being false

Usage examples
NirMalam()
NirMalam(ry = 0, gu = 0, bv = 150, autow = false, xgrid = 7, lx = 100, rx = 220, ty = 340, by = 400)
following script used to get the images below:
On left is YUY2 input, middle is output using script and on right is differance
NirMalam(imgl, xgrid = 5, ygrid = 9 )
#subtract(imgl,dn2 ).Levels(125,1,135,0,255)


To my index page ................................ To Avisynth