Deformation (warped fill)

Sylvie, I suppose you ran the ‘Yobeatz/mosaic’ python as standalone (it’s Python3).
Do you think it’s possible to derive from that a Gimp Python filter?
(Gimp I guess is still using 2.7).


The ‘Yobeatz/mosaic’ program is activated with a simple command line from the terminal, for example :

I believe that it is possible to activate this program from Gimp 2.10 by taking inspiration from samj Créations: Utiliser GEGL en ligne de commande avec les versions Gimp portable.

I used Anaconda to test ‘Yobeatz/mosaic’. It is relatively big and there is perhaps a simpler method.


Thanks, but are you saying that it could be called from inside a gimp plug-in written in python? (just to be more specific: with something similar to a call of another plug-in?)

PS: as you know, I write plug-ins in python which I then distribute on Gimpchat, that’s the reason of my question


… it could be called from inside a gimp plug-in written in python?

Yes :

just to be more specific: with something similar to a call of another plug-in?

I never had this idea. It is to try.


<offtopic warning>
Hand drawn. Inspired by 3Blue1Brown’s But what is a Fourier Series? The trick to the game is to make a line drawing, but not lift the pencil from start to end - and not cross the path. Transform that single curve line drawing to its spectral equivalent, where each spectral point furnishes the size and initial angular position of a wheel, and whether the wheel rotates clockwise or counterclockwise. Except for the root, on the origin, the center of each wheel coincides with the end of the single radial spoke of the parent. Each wheel of the so-constituted wheels-within-wheels mechanism rotates at some integral multiple frequency of the root, that multiple coinciding with the wheel’s spectral coordinate. Clockwise or counterclockwise stems from whether the spectral point coordinate is above or below the Nyquist frequency. So positioned, the wheels-within-wheels ‘mechanism’ also draws the contiguous line when it is set in motion - the last wheel has a pen attached, rather than another wheel.
It is a lot of silly fun, draws the connection (literally) between the temporal and spectral domains - and was rendered with Python - not G’MIC

Think I’m free for the rest of the day. Maybe I can finish the thought on this mosaic tiling game…


Excellent Etch-a-Sketch simulation, G. :slight_smile:

A G’MIC implementation; lighting/shading model borrowed from Fingerpaint. Need to give some thought to keeping tile aspect ratio more-or-less constant. Annotated code to go to Tutorial Fragments, but not tonight (Sunday evening, N. American East Coast). Time to walk the puppy.

Goudy 1911 Ampersand

Ditto, tileified

1 Like

On the way…Thanks Garry.

Took awhile; mea culpa but a busy week ensued. Check back at T. Fragments…



The new ‘gtutor_tileit’ filter performs very well in the current version of G’MIC-Gimp.
Here is a test performed in G’MIC-Gimp using this code :

fx_gmicky 0
blur 1
autoindex 2
n 0,255
gtutor_tileit 10,10,2,0,0,60,0,40



1 Like

Thanks Sylvie.

Thank you for the reminder, Sylvie. I frequently overlook Various →Custom Code backdoor in the QT plugin.

Always fun to see how other people approach a visualization, such as tiling and how your samj_Mosaic_A plays its game. It is a curious pleasure, considering that we both started from bits of ceramics plastered to walls, seeing the two approaches. You don’t think like me - and that, I think, is a very good thing. Such is the way to a colorful world.

gtutor_tileit has taken another turn - the last until I do the tutorial on it. Have fun.

1 Like

Really cool result, Sylvie. :slight_smile:

Very important step forward, Gary.
Waiting for a G’mic filter on the (Gimp/)G’mic repository.
So that I can start playing with it.
Thanks a lot Gary.

Would you Sylvie try to create a “Testing” filter utilizing the last Gary’s development of tileit which seems to work on the colours of the source image?
It would be nice…
(you did an interesting “Various” user flow with the previous version, which worked on a B/W source and created a green/blue outcome)

Progress on the tutorial front: nearly done. May post the before Sol’s penumbra passes over the North American East Coast, 1 AM-ish, UTC — but I don’t think I will write any QT-G’MIC plugin adapter before next weekend. gtutor_tileit may sprout a few additional features when I wrap it, further variations in tile scattering for all the dystopian artists out there. That is, additional options, no change in current parameters. Anyone who wants to have fun with the current gtutor_tileit, be my guest!

Great Garry.
You likely remember when -in Nearderthaler era- I was able to write some piece of code in G’mic. Now I can’t do it any more, not even to experimenting your gtutor_tileit, and that’s why I will wait to have the plug-in.
Thanks a lot.

Filter committed @dinasset. Should be available with a gmic-qt update in a little while. Have fun.
Testing → Gmic Tutorials → Rectangular Tiling :

Generate a mosaic from an image. Works best with line art cartoons with flat color.
Tile Size           = float(1.0,0.05,5.0)
Disrupt Orientation = float(5.0,0.0,10.0)
Spread Tiles Apart  = float(1.5,0.25,5.0)
Fill Holes          = bool(1)
Color Count         = int(4,2,32)
Flat Color          = bool(0)
Light Angle         = float(45.0,-180,180)
Soften Lighting     = float(0.5,0.0,5.0)

Great Garry.
Sure I will play a lot with it.

1 Like