1 %% extends "filter.point.c.t"
3 {% block descr %}Noise filter -- Adds noise to an image.{% endblock %}
7 {{ filter_point_include() }}
9 %% macro filter_op(chann_name, chann_size)
10 {{ chann_name }} = {{ chann_name }} + (random() % ({{ chann_name }}_max * 2)) - {{ chann_name }}_max;
11 {{ filter_clamp_val(chann_name, chann_size) }}
15 * Generated noise filters.
17 %% call(pt) filter_point_per_channel('Noise', 'GP_FilterParam ratio[]', filter_op)
18 {{ filter_params(pt, 'ratio', 'float ', '_rat', 'f') }}
19 %% for chann in pt.chanslist
20 int {{ chann[0] }}_max = {{ chann[0] }}_rat * {{ 2 ** chann[2] - 1}} + 0.5;
25 * Generated noise filters for pixels with one channel.
27 %% call(ps) filter_point_per_bpp('Noise', 'GP_FilterParam ratio[]', filter_op)
28 {{ filter_param(ps, 'ratio', 'float ', '_rat', 'f') }}
29 int pix_max = pix_rat * {{ 2 ** ps.size - 1}} + 0.5;
32 {{ filter_functions('Noise', 'GP_FilterParam ratio[]', 'ratio') }}