Hello folks !
This is the changelog for the release of a new minor version (numbered 2.0.3) of the G’MIC image processing framework. This new stable version stays (mostly) compatible with the previous version 2.0.2.
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.
- G’MIC main project page : http://gmic.eu
- G’MIC download : http://gmic.eu/download.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 2.0.3, as compared to the previous stable version 2.0.2.
Enjoy !
New features:
- [gmic-qt] A new G’MIC plug-in for Krita has been implemented, based on our latest Qt-based generic plug-in code, thanks to the tremendous work of Boudewijn Rempt and Sébastien Fourey. This means we should be able to update the plug-in for Krita more regularly, just like the plug-in for GIMP. The G’MIC-Qt plug-in for Krita is already provided in the latest stable release of Krita (3.2.0).
- [gmic-qt] New filter Deformations / Square to circle implements a square to circle mapping (forward and backward), as described in this page.
- [gmic-qt] New filter Degradations / JPEG artefacts simulate the effect of JPEG compression with low quality on an image, based on the quantization of 8x8 DCT blocs.
- [stdlib] New command
-tensors3d
which generates a 3d representation of a 3x3 tensor field.
-
[stdlib] New command
-resize_mn
which implements the Mitchell-Netravali filter for image upscaling (one family of bicubic kernels). -
[stdlib] Filter Colorize lineart [smart-coloring] gets a new mode to automatically ‘clean’ a color layer done (quickly) by the user.
- [core] New substituting expression
$[]
(in a command) is replaced by the list of image indices composing the image selection used when invoking that command.
Improvements:
-
[core] Math parser defines a bunch of new functions
im(), iM(), ia(), iv(), is(), ip(), ic(), xm(), xM(), ym(), yM(), zm(), zM(), cm()
andcM()
which compute the minimum, maximum, average, variance, sum, product, median and min/max coordinates in a possibly dynamic-sized image (same as variablesim, iM, ia, iv, is, ip, ic, xm, xM, ym, yM, zm, zM, cm, cM
but used when the image has a dynamic size, i.e. when functionresize()
has been used in the expression). -
[core] New math parser functions
floor()
andceil()
in math parser, that can replace the use orround()
with parameterrounding_mode
set to-1
or1
. -
[core] Overloads of math parser functions
print(#ind)
anddisplay(#ind)
now allows to print info or display an image from a math expression. New functionprints()
allows to print a char-valued vector-expression as a string. -
[core] Math parser function
end()
has now a silent return, so that it can be located at the very end of the math expression without interfering with its values. -
[core] Image viewer now limits the display of pixel values with a label containing at max 16 channels (8 first, and 8 last), in case the image has more than 16 channels. It also displays the length of the selected vector (diagonal of the selection box).
-
[stdlib] Command
-close_binary
gets a hatch detection module (hence also filter B&W / Smart coloring), so that less small color regions are produced when using the filter to auto-color a lineart.
- [gmic_qt] In case of filter using randomness, filter rendering is now using the same random seed than the last preview, to get a closer match between preview and rendering results.
Bug fixes:
-
[core] Fix issue with variables starting with letter
Z
that couldn’t be assigned. -
[gmic-qt] Fix order of layer when Input mode is set to Active and above.
-
[gmic-qt] Fix access to folder names containing accentuated characters, when required (e.g. in filter Film emulation / User-defined). Thanks to @sguyader for the bug report !
-
[gmic-qt] Fix on-the-fly changes of the
color()
parameter in a filter, when passing from RGBA to RGB colors and vice-versa. -
[gmic-qt] Better management of filters that output layers located at different positions.
-
And as always, many minor bug fixes !