Hello there,

I’m happy to announce the release of a new version (numbered 1.7.9) of the G’MIC image processing framework. As always, I encourage upgrading to this new version as soon as possible .

This version should be backward-compatible with the previous one (1.7.8), meaning that all added filters that do not use new core features of version 1.7.9 should work also with version 1.7.8.

Important note: This new version 1.7.9 is the last of the 1.7.x serie, so I expect it to be a long-term release. We have planed a lot of new cool features for next version 1.8.0, but this will require a lot of work before we can release (this will be a major release though).

What is G’MIC?

G’MIC 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.

G’MIC main project page : http://gmic.eu

G’MIC plug-in for GIMP : http://gmic.eu/gimp.shtml

G’MIC web service : https://gmicol.greyc.fr/

G’MIC language tutorial pages : http://gmic.eu/tutorial/basics.shtml

The following is the full Changelog of the version 1.7.9, as compared to the previous stable version 1.7.8.

Enjoy !

New features:

[core] New (native) command -screen grabs a screenshot (optionally with specified coordinates), and inserts it at the end of the image list (looks like it does not work on Mac OSX).

[gimp] New button Change layout allows to move the preview on the right, in the dialog window.

[gimp] New filter Artistic / Highlight bloom enhances photographies by adding details and contrast. It is inspired by this tutorial) (but does not follow it strictly).

[gimp] New filter Colors / Retro fade renders a grainy image with a only few colors from an original image.

[gimp] New filter Artistic / Posterize is another posterization filter with nice rendering options.

[gimp] New filter Patterns / Camouflage, renders (as its name suggests) a Camouflage pattern:

[gimp] New filter Black & White / Colorize [auto-fill lineart] tries to auto-fill a lineart wiith random colors.

[gimp] New filter Repair / Smooth [antialias] slightly blurs the contours of an image to add anti-alias.

[gimp] Main dialog parameters are now persistent when the plug-in or GIMP is closed and restarted.

Improvements / Changes:

[core] A few improvements in the embedded math parser: New function xor(a,b) to compute bitwise exclusive or. New function pseudoinv(A,_nb_colsA) computes the Moore-Penrose pseudo-invert of specified matrix A . New function svd(A,_nb_colsA) computes the SVD of specified matrix A . New function breakpoint() introduces a computation breakpoint in complex expressions with loops. Function mp_print() and mp_display() only print a limited number of vector components on the console, if the vector to print/display is large. Expression compiler has now a cache memory for constants so that specifying the same constant value twice (or more) in an expression does not duplicate it in memory. Multiplication operator can be now used to write matrix*vector multiplication, when size(matrix)==size(vector)^2 . Initialization of vector variables has been optimized: memory copy is avoided when possible. Vector with const size (given by an expression Expr can be now defined as vectorExpr(value0,...) , e.g. const N = w#0*h#0; X = vectorN(0) . Function normP() can be invoked with P being a constant. If P is omitted the L2 norm is returned. Optimization of the math_lib functions thanks to newly added function draw_scanline() . Adding a space character before a ( (for a function call) or a [ (value accessor) is now possible. Bug fix in the function sum() which was counting twice the first argument.

[stdlib] Add 10 new HaldCLUTs that define new color mapping. Those CLUTs are provided by Marc Roovers on his web page, as a part of the PictureFX pack. Thanks Marc!

[stdlib] Command -compress_clut has been slightly improved, and should compress when desired compression compression quality is not fulfilled.

[stdlib] Command -quiver is now implemented as a custom command (instead of a native one) and thus, can be updated via the regular command update mechanism.

[stdlib] Command -scale_dcci2x has been recoded from scratch and is faster when multiple cores are available.

[stdlib] Some existing commands have been renamed: Command -input_sample (eq. to -is ), renamed to -sample (eq. to -sp ). Command -input_clut , renamed to -clut . Command -input_string , renamed to -string .

[stdlib] Command -negative recoded from scratch and renamed as -negate . An optional base_value argument can be now specified for this command.

[stdlib] Commands -rgb2xyz , -rgb2lab , -xyz2rgb , -lab2rgb now accept arguments to choose the illuminant used for the conversion (either D50 or D65 ).

Bug fixes: