Release of G'MIC 1.6.9

Hello there,
Again, I’m very happy to announce the release of a new version of G’MIC (numbered 1.6.9).
A lot of cool stuffs have been added to the G’MIC core engine (particularly the math parser), to make more cool and cool filters in the future :sunglasses:

I hope you’ll enjoy this release !

Here is the complete Changelog for this version:

New features :

  • New command -frame_seamless and associated plug-in filter Arrays & tiles / Make seamless [patch-based]. It inserts an inner or outer frame to an input image/texture so that seams are less visible when the input image is tiled.

Martin also converted another Mathmap script, named the Kitaoka Spin Illusion.

  • New filters from Andy (GarageCoder) have been moved from Testing/ into the main branch. Lot of cool filters to discover !

Improvements :

  • Embedded math evaluator has been greatly improved and optimized. It now supports manipulation of vector-valued variables. Lot of new functions have been added to deal with vector/complex-valued arguments : cabs(),carg(),cexp(),clog(),cconj(),operator**,operator//, etc…
  • Math evaluator also allows the user to define their own custom functions.
  • String substitution by the evaluation of a math formula can be vector-valued now. For instance expression {[w,h,d]} is equivalent to expression {w},{h},{d}.
  • Added support for saving bigtiff files (more than 4Gb).
  • Makefile has been slightly improved (use of the CXX pre-definition).
  • Better management of some exceptions in the G’MIC source code.
  • [gimp plug-in] : Added code to check if the dialog window is entirely visible on screen, otherwise try to reduce the preview size as much as possible.
  • New mascot Gmicky designed by David Revoy.

Bug fixes :

  • When overriding variables x,y,z,c in the math parser, keep consider the original running values of x,y,z,c when accessing a pixel value with default arguments.
  • Update filter command now allow first-level section names to be translated into a specific language (done for Japanese).
  • Drop support of GIMP 2.6 for the G’MIC plug-in. The plug-in has been not tested on GIMP 2.6 for a while, and I doubt this is still working.
    • A lot of small bug fixes !

Hi David,
Hope you had a good Xmas.

I wanted to ask about whether this is a possibility for GIMP plugin: a way to apply the selected filter to all images, one by one, using whatever ‘input layers’ setting is currently chosen.

My use case is with scanned drawings; I usually want to bilateral smooth each of them, and then do some other processing (maybe just save them, or also do other things like enhancement or correction, depending on the case). They’re not necessarily strongly related, so throwing them into one image using Open as Layers doesn’t work too well (different crops; different color types; need to save with correct filename; etc)

Dear Garagecoder,

Thank you for your work on G’MIC. Your “Tone enhance” filter (under testing) is very good, I use it often. Why doesn’t the filter appear in the regular G’MIC menu? Isn’t it tested enough?

Also thanks for “Specific saturation” a new little gem, I just discover. What’s the difference with “HSL adjustment”?

It’s good to know you find them useful! Yes it’s about time a few of those filters were moved to the main branch. It’s just a case of being too cautious :slightly_smiling:

Specific saturation is in some ways a new version of “HSL adjustment”, in fact I have a development version of it which includes basic luma control (gamma and an S-curve type contrast adjustment).

The old filter works by adding hue whereas this one is based on desaturating to luma, so it’s more like altering chroma contrast as opposed to brightness; e.g. you can remove green and leave white clouds untouched.

1 Like

Thank you for your answer. I will pay attention to the development of your filters in “testing”. I am very curious, because this kind of filters are useful. “HSL adjustment” is already a clever tool.

“Specific saturation” with gamma and contrast is super. :+1: I say: “Immediately in the regular G’MIC menu under Colors.” :smile: This tool is a quick color cast killer. But perhaps I am to impatient. Maybe you have another great additions to this filter.

I use Gimp and G’MIC most for editing scanned photos. I like to revive old faded photos. So this filter I will use often.

I don’t know how your “Transfer colors (advanced)” filter is working. There are four youtube videos about “coldis”. Is coldis a kind of 3d color gamut? . Is applying the coldis to another image how it works? I ask this question because I want to know if this proces is steerable. Is it possible to make a filter in G’MIC that interactive changes the “coldis” of a single image? I can imagine that it gives almost ultimate control over colors in a image. But maybe I am dreaming to much about image magic. :sleeping:

Well then, try ImageMagick! :wink:

… and go back there after you see this doesn’t work :wink:

Agreed - moved to main Colors branch now :slightly_smiling:
Edit: will have to wait for the auto filters update schedule though!

I did have some questions about whether to leave sRGB gamma removal as optional but in the end it probably doesn’t matter, it can always be changed later.

Hi Andy,

Just a word about the mystery of the filters update schedule: the script that compiles all filters from the gmic-community repo is run on my machine on every two hours, starting from 00:00am.
It may happen that I run the update manually to fix a bug or when I push a new filter in the main branch, that’s probably why it may look a bit random sometimes :slightly_smiling:

Ahh that makes perfect sense now, I couldn’t figure out if it was 2 hourly or every hour because of the occasional random updates. Good to know, thanks :smiley:

Would it be possible to add a new image selection shortcut? You recently added dot shortcuts for [-3] to [-1], I can’t help wishing there were shortcuts for “last n images”. For example something like -b.3 instead of -b[-3–1]. No problem if it can’t be done in some way, it’s just an idea from a lazy typer :wink:

If it’s just to speed up typing, why not doing :

foo : 
  -b$s3 10


Also if you have several sequential operators to apply on the same subset of images, it can save time to apply them in a -local environment :

foo : 
  -l[-3--1] -b 3 -mirror x -flower 7 -endl 

instead of :

foo : 
  -blur[-3--1] -mirror[-3--1] x -flower[-3--1] 7

Ah yes that first one is good enough thanks, actually it’s mostly [-2,-1] that I find appears often. Local is of course useful too so I already use it to some extent.

That could be possible anyway to use another sign than the . to means [X--1], for instance :

foo : 
  -blur;;; 10  # Equivalent to -blur[-3--1]

but wouldn’t it be a bit confusing ?
The sign ; is not the only one possible, but it seems that the , is too close from the . and the other signs are already used in the G’MIC syntax. Or do you have another idea ?

That’s the part I wasn’t sure about - there comes a point where the code starts to look obfuscated (it’s already very dense!). The available characters are limited and it’s probably best to avoid any shell recognised ones. If there’s no clear way then perhaps it’s best to avoid :slightly_smiling:

I suppose there is another “plus” though - reducing the update file slightly becomes possible (although compression probably makes that unimportant).

In G’MIC there is a filter: “Search filters”. Is it possible to improve that filter, so you can filter the newest made filters. The newest ten filters for example? (including the “testing”-filters)

Now you can refresh your filters, but you can’t see immediately what’s new. So perhaps there is a risk you miss a useful filter. If this is impossible to accomplish in “Search filters”, then maybe there is another way to show / publish a list with new filters? With that many filters ( 450+) it is a bit difficult to find the new ones. Here on PIXLS.US and GIMP CHAT some filters are announced. But not every filter get that much attention. Unknown filters can be hidden gems.

Hello, I agree. Place the Search filters field somewhere on the front page, give it a prominent place. Now it is somewhere hidden in the About section.
Second, I agree as well: an entry with Latest ten (or whatever) filters would be a good thing to highten visibility of potentially interesting things.