RGVS¶

rgvs.
RemoveGrain
(clip clip, int[] mode)¶ RemoveGrain is a spatial denoising filter.
Modes 024 are implemented. Different modes can be specified for each plane. If there are fewer modes than planes, the last mode specified will be used for the remaining planes.
 Mode 0
 The input plane is simply passed through.
 Mode 1
 Every pixel is clamped to the lowest and highest values in the pixel’s 3x3 neighborhood, center pixel not included.
 Mode 2
 Same as mode 1, except the secondlowest and secondhighest values are used.
 Mode 3
 Same as mode 1, except the thirdlowest and thirdhighest values are used.
 Mode 4
Deprecated. Use the function Median instead.
Same as mode 1, except the fourthlowest and fourthhighest values are used.
 Mode 5
 TODO
 Mode 6
 TODO
 Mode 7
 TODO
 Mode 8
 TODO
 Mode 9
 TODO
 Mode 10
 TODO
 Mode 11
Deprecated. Use Convolution(matrix=[1, 2, 1, 2, 4, 2, 1, 2, 1]) instead.
Every pixel is replaced with a weighted arithmetic mean of its 3x3 neighborhood.
The center pixel has a weight of 4, the pixels above, below, to the left, and to the right of the center pixel each have a weight of 2, and the corner pixels each have a weight of 1.
 Mode 12
Deprecated. Use Convolution(matrix=[1, 2, 1, 2, 4, 2, 1, 2, 1]) instead.
In this implementation, mode 12 is identical to mode 11.
 Mode 13
 TODO
 Mode 14
 TODO
 Mode 15
 TODO
 Mode 16
 TODO
 Mode 17
 TODO
 Mode 18
 TODO
 Mode 19
Deprecated. Use Convolution(matrix=[1, 1, 1, 1, 0, 1, 1, 1, 1]) instead.
Every pixel is replaced with the arithmetic mean of its 3x3 neighborhood, center pixel not included. In other words, the 8 neighbors are summed up and the sum is divided by 8.
 Mode 20
Deprecated. Use Convolution(matrix=[1, 1, 1, 1, 1, 1, 1, 1, 1]) instead.
Every pixel is replaced with the arithmetic mean of its 3x3 neighborhood. In other words, all 9 pixels are summed up and the sum is divided by 9.
 Mode 21
 TODO
 Mode 22
 TODO
 Mode 23
 TODO
 Mode 24
 TODO
The top and bottom rows and the leftmost and rightmost columns are not processed. They are simply copied from the source.

rgvs.
Repair
(clip clip, clip repairclip, int[] mode)¶ TODO

rgvs.
Clense
(clip clip, clip previous, clip next, int[] planes)¶ TODO

rgvs.
ForwardClense
(clip clip, int[] planes)¶ TODO

rgvs.
BackwardClense
(clip clip, int[] planes)¶ TODO

rgvs.
VerticalCleaner
(clip clip, int[] mode)¶ VerticalCleaner is a fast vertical median filter.
Different modes can be specified for each plane. If there are fewer modes than planes, the last mode specified will be used for the remaining planes.
 Mode 0
 The input plane is simply passed through.
 Mode 1
 Vertical median.
 Mode 2
 Relaxed vertical median (preserves more detail).
Let b1, b2, c, t1, t2 be a vertical sequence of pixels. The center pixel c is to be modified in terms of the 4 neighbours. For simplicity let us assume that b2 <= t1. Then in mode 1, c is clipped with respect to b2 and t1, i.e. c is replaced by max(b2, min(c, t1)). In mode 2 the clipping intervall is widened, i.e. mode 2 is more conservative than mode 1. If b2 > b1 and t1 > t2, then c is replaced by max(b2, min(c, max(t1,d1))), where d1 = min(b2 + (b2  b1), t1 + (t1  t2)). In other words, only if the gradient towards the center is positive on both clipping ends, then the upper clipping bound may be larger. If b2 < b1 and t1 < t2, then c is replaced by max(min(b2, d2), min(c, t1)), where d2 = max(b2  (b1  b2), t1  (t2  t1)). In other words, only if the gradient towards the center is negative on both clipping ends, then the lower clipping bound may be smaller.
In mode 1 the top and the bottom line are always left unchanged. In mode 2 the two first and the two last lines are always left unchanged.