some info on the pointillism filter
'''
Plug-in Title : "PointillismEffect3"
Gimp Menu : "<Image>/Diego/Artistic"
Release : 1.0 (initial)
Author : Diego Nassetti (
dinasset@gimpchat.com)
Licence : GNU General Public License
System Environment used in development
--------------------------------------
Platform : Windows 10 64-bits
Graphic Apps : Gimp 2.8.16
Language : python as included in Gimp
Extrn Filters : (Gimp) LumaInvert (script-fu-invert-YUV.scm by "Stratadrake")
(Gimp) Gimpressionist
(G'MIC) none
Summary
-------
Filter to implement the creation on a NEW IMAGE (dimension is a user option)
starting from an RGB* input image/drawable
where a duplicated layer is transformed replacing each pixel with an almost random colored pixel
having more or less the same average luminosity of the original desaturated (average).
Filter has been inspired by Gimp-chat thread "interesting but not what i'd expected"
by trandoductin.
Details
-------
Flow implemented to get the final result:
1. calculate the new image width and height scale for the output (user choice for dimensions)
2. save and set-up context values
3. create the new image by appropriately scaling the input image dimensions
4. create the BG layer for the new image by copying the input layer, scaled
5. add alpha to the layer is not present
6. create a new layer (dup of the BG) for random pixels
7. transform this layer using an ancillary function usinmg tiles to be fast
8. create a copy and apply a Gimpressionist effect (user choice)
9. raise BG to the top (grain-merge)
10. again (softlight)
11. dup but invert YUV
12. visible layer on top, desaturate, screen
13. flatten the image is requested
'''