Hello there,

I’m happy to announce the release of the new major version 1.7.0 of the G’MIC image processing framework.

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 project page : http://gmic.eu

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

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

Thirsty note: If you appreciate the constant efforts I’m putting on G’MIC, you are welcome to reward me with a hot chocolate ! -> http://gmic.eu/morechocolate.shtml

The following is the full Changelog of the version 1.7.0, as compared to previous stable version 1.6.9.

Most of the important work done for this release has been focused on the improvement and optimization of the embedded math expression evaluator, and its JIT compiler. It opens new ways to code interesting filters that do complex operations on a pixel scale instead of filters that are expressed as more pipelined macro operations.

New features:

[core] Added a C bridge to the libgmic library, thanks to the help of Tobias Fleischer. This bridge offers a simple API in C to call G’MIC library functions. A pre-compiled DLL is available on Windows to be used by other developers to easily integrate G’MIC in their own projects (without having to recompile G’MIC itself).

[core] New functions copy() , transp() , solve() , trace() , det() , diag() , rot() , trace() , eig() , eye() , cross() , dot() , size() , sum(), prod(), mean(), std(), solve(), var() , crop() and draw() have been made available in the G’MIC math expression evaluator, to better manage vectors and matrix-valued variables and arguments, as well as to retrieve/draw patches from image using vector-valued variables.

[ZArt] The Qt-interface for G’MIC has been improved. It now manages favorites, a bit like how it’s done in the GIMP plug-in. Other various improvements have been made on the overall interface.

[stdlib] New command -apply_scales has been added. It can be used to apply a G’MIC command for several different scales of an image at the same time. This command is used by the new GIMP plug-in entry Layers / Multiscale operator.

[stdlib] Improvement of command -split_details which allows now to decompose an image into multiple detail scales, using a wavelet a trous algorithm (this should be quite similar to the well known wavelet-decompose plug-in done for GIMP by Marco Rossini). Corresponding filter Details / Split details [wavelets] has been added in the G’MIC plug-in for GIMP.

_[stdlib] New command -denoise_patchpca (and its associated GIMP plug-in filter Repair / Smooth [patch-pca]), which implements a new efficient algorithm (based on patch-pca) for removing noise in image.

Various improvements:

[core] The watershed algorithm (command -watershed ) has been completely recoded, and is more robust. Particularly, it can be used now to compute more precise 2d/3d discrete voronoi diagrams. Thanks to S. Fourey for his contribution.

[core] The math expression evaluator has been greatly optimized. Computations involving small and matrices are now optimized with loop unrolling techniques in the JIT compiler. Using vectors is now as fast (if not even slightly faster!) as using the same number of scalar variables in a math expression.

Bug fixes: