Release of G'MIC 2.7.0

This is the no-changelog for the release of the 2.7.0 version of the G’MIC software.

What is G’MIC?

G’MIC (GREYC’s Magic for Image Computing) is a full-featured open-source framework for image processing. It provides several different user interfaces to convert/manipulate/filter/visualize generic image datasets, ranging from 1D scalar signals to 3D+t sequences of multi-spectral volumetric images, thus including 2D color images.



What’s new in version 2.7?

Lots of things!

I “forgot” to write a Changelog. It takes a long time and lately I’ve had very few, so I’ve preferred to focus on developing the software itself. Basically, a lot of code cleaning has been done, some optimizations (parallelization of some algorithms), and a lot of small bug fixes.
I invite you to read the news posted on the Twitter account (and there are many!) to see what has been done lately.

I am preparing a summary of the work done over the past year, which should be more fun to read than a Changelog:)


Thanks for the head’s up, David. Just finished downloading (not installed yet). Have to say, I like how fast fosshub is compared to past downloads (near instant). Cool that you now have them to host G’MIC’s files. Hope it stays fast. :slight_smile:


Do have one favor. If you ever do update Half-tone shapes, I would like the min scale settings changed from 10 to 5 (higher rez). Have to manually do so every time and when I update G’MIC, I have to re-edit it. lol



Just updated my presets and the 5 stuck. Thanks a heap, David. :slight_smile:

1 Like

I noticed that inpaint_diffusion disappeared.

It has been renamed inpaint_pde.

Just found out after searching the commit history. :slight_smile:

PS 3x faster than inpaint_matchpatch on my laptop.

It cannot be used for the same kind of missing data. PDE’s are only able to reconstruct smooth interpolations, while patch-based inpainting can recreate textures locally.

The method used by inpaint_pde is actually the one used for CLUT decompression in G’MIC.

Smooth interpolation is good enough as long as the mask patches are small. I also limit the scales and iterations. Shakes fist at forum members with powerful computers. :fist:


Because in the “mixer [PCA]” filter, using the Factor sliders induces clipping / Out of gamut very quick, It would be nice to have more control over this.

Factor makes the distance bigger between min and max on an axis. I want to have the possibility to make an s-curve/ tone- curve between min and max. I think that there must be an extra slider for this. Is this possible?

Your edit makes much more sense. Seconded, though I am still uncomfortable with the filter itself. Haven’t found a use for it yet. :blush:

@afre, the nice thing with PCA is that each different image has it’s own color space. The colors of an image are statistical represented in a 3d point cloud. You can imagine a ellipsoid exactly wrapped around that point cloud. this ellipsoid has three principal axes.

Those axes are depicted in the mixer [PCA] filter as primary, secondary and tertiary axes (the unique"complementary" colors for that unique image)

The mixer [PCA] does the following:

Factor: uniform stretching or shrinking this unique color space along these axes (from midpoint ellipsoid). The distance between min and max changes. The unique colorspace gets bigger or smaller,

Shift: moves the unique color space along the axis, distance between min and max remains the same. The position changes. The colorspace doen’t change in size.

Twist: rotating the unique colorspace around one axis, this axis doesn’t change, the other two axes rotate around this axis. The colorspace doesn’t change in size.

So if you think about it, I asked for the possibility to (uneven) deform a unique color space along an axis. But do it in a nice way, similar to gamma or s-curve, mapped between the min and max of this (one dimensional) axis. I don’t mean bending of these axis of course. So the color space will not change its size, but the points of the point cloud will be distributed in different way, more dense on one place and less dense on another place, inside this unique color space.

The nice thing about PCA is that you can easy amplify or reduce the unique characteristics of an image.


I’ve added new ‘Gamma’ sliders for this filter. I’m not sure they have much interest, but at least I would have tried, and they’re probably not completely useless either!


David, thank you very much. :smiley:

Looking at the code, I think this was already a rather complicated filter. Difficult to change and add something in. In addition, many “$ variables” that had to be changed. Therefore extra compliments.

I think this was one of the trickiest things I ever asked for G’MIC. I also thank you for understanding what I meant.

Now, the filter can do something that I had thought of for quite a while.

One thing I don’t understand: you said that because of your work, you hardly have time left for things like that in G’MIC? :wink:

The positive is: an even more interesting and special filter!

That is true yes, but I’m a bit addict at the same time, and I don’t want to give up the project completely :slight_smile: But I’m not sure I’ll be able to continue doing this kind of things in the future.


Minor quibble with the site. When I hover over the top two icons, they enlarge and push down the horizontal rule and the 10 YEARS logo. Make both hover and non-hover icons the same dimensions.


@David_Tschumperle Do you think it would be possible to have something like error_en, error_es, error_it? It would be nice to be able to support as much language, and it’s something I plan to do for my filter down the road.

Thanks, it should be OK now.

I don’t get the idea, why not calling error with different messages, depending on the locale?

The thing is I do not know how to do that.