# Denoising * **KNLMeansCL** ```python= video = core.knlm.KNLMeansCL(video, d, a, s, h, channels="YUV") ``` :::info + **d** = Set the number of past and future frame that the filter uses for denoising the current frame. d=0 uses 1 frame, while d=1 uses 3 frames and so on. Usually, larger it the better the result of the denoising. + **a** = Set the radius of the search window. a=0 uses 1 pixel, while a=1 uses 9 pixels and so on. Usually, larger it the better the result of the denoising. + **s** = Set the radius of the similarity neighbourhood window. The impact on performance is low, therefore it depends on the nature of the noise. + **h** = Controls the strength of the filtering. Larger values will remove more noise. ::: ==[Official Wiki](https://github.com/Khanattila/KNLMeansCL/wiki/Filter-description)== * **BM3D** ```python= import mvsfunc as mvs # mvsfunc script required video = mvs.BM3D(video, sigma, radius1, profile1, matrix) ``` :::info + **sigma** = The strength of filtering. + **radius1** = Temporal radius (0 - Spatial Denoising / 1~16 - Spatial-Temporal Denoising) + **profile1** = Preset profile (fast, lc, np, high, very high) + **matrix** = color matrix of input clip. ::: * **dfftestMC** ```python= import muvsfunc as muf # muvsfunc script required video = muf.dfttestMC(video, sigma, mdg=True) ``` :::info + **sigma** = The strength of filtering. + **mdg** = Run MDeGrain before dfttest (True/False) :::