This is the changelog for the release of the 2.2.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.
- 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
Enjoy !
What’s new in version 2.2.0?
New features:
-
[core-220] Math parser gets a new function
fsize(filename)
which returns the size (in bytes) of the specified filename. -
[gmic-qt-220] New filter Details / Equalize local histograms is yet another filter based on local histogram equalization to bring out the details in images.
- [gmic-qt-220] New filter Arrays & tiles / Drawn montage allows to create photo montage quickly, just by drawing the montage layout with color shapes on a top layer. The filter then automatically resize and move the layers to fit the montage layout.
-
[stdlib-220] Command
math_lib
gets new macros available in the math parser, to draw shaded triangles and quadrangles in images. -
[gmic-qt-220] New filter Deformations / Crease.
- [gmic-qt-219] New filter Colors / Equalize HSI-HSL-HSV allows to apply offsets to hue,saturation and intensity/lightness/value for different image tones. This filter has been created in collaboration with our friend David Revoy.
CC-By David Revoy/blender.org
- [gmic-qt-219] New filter Details / Magic details proposes a new algorithm to make the details pop-up in a photograph, either slightly or in a more aggressive over-HDR-style!
- [gmic-qt-219] New filer Rendering / Gear let you generate gears with different shapes.
-
[stdlib-219] New commands
uchar2str
andstr2uchar
which can be used to encode an image ofunsigned char
values into a string, and decode it afterwards. Useful to store binary data as a compact form in G’MIC scripts. -
[gmic-qt-218] New filter Degradations / Streak generates a pixel stretching effect on a given user mark:
-
[core-217] Some evolutions in math parser:
- New function
stats(#ind)
returns the statistics vector of running image#ind
. - New function
avg(val1,val2,...)
returns the average value of specified arguments. - Functions
xm(), ym(), zm(), cm(), xM(), yM(), zM(), cM(), im(), iM(), ia(), iv(), is(), ip()
has been removed, as they can all be replaced bystats()
. - Function
gcd(a,b)
returns the greatest common divisor betweena
andb
.
- New function
-
[stdlib-217] New command
linify
takes an input image and generates a render of the input with only colored lines. It implements roughly the algorithm described on this page.
- [stdlib-217] New command
slic
generates a partition of an input image into super-pixels, using the SLIC algorithm.
- [stdlib-217] New command
run
just executes the G’MIC pipeline given as the command argument. Useless, except when used from a shell (e.g.bash
) to prevent bash substitutions using quotes, like in the example below:
$ gmic run 'repeat 10 echo $> done'
instead of having to write:
$ gmic repeat 10 echo "$>" done
- [gmic-qt-217] New filter Contours / Super-pixels generates image partition using the
slic
command:
- [gmic-qt-217] New filter Artistic / Linify renders an input image with only plain lines.
- [gmic_qt-217] New filter Patterns / Satin renders a satin-like texture image from scratch.
Modifications / Improvements:
-
[core-220] Loading and saving of
.yuv
video files now allows to choose the type of chroma subsampling (can be4:2:0
,4:2:2
or4:4:4
). -
[core-220] Slightly improved the interactive display, by allowing zooming of a 3d volumetric image (with crop or mouse wheel) so that the zoom is only performed in the considered plane (x,y), (x,z) or (y,z).
-
[core-219] Most source files of the G’MIC core are now dual-licensed CeCILL-C (LGPL-like) or CeCILL (GPL-compatible). This means using the G’MIC library is now allowed in closed-source software as long as modifications done on the source code is given back to the community. Note that this licensing change does not concern the code of the GTK or Qt plug-in, but only the core functionalities (the G’MIC script interpreter and the implementation of the filters).
-
[gmic-qt-219] Important restructuring and cleaning of the plug-in code, which fixes several small inconsistencies in the use of the GUI :
- New option in preferences to hide/display the institution logos.
- New option in preferences to set the preview timeout.
- New location of the input/output parameters, now under the filter parameters to maximize the size of the preview window.
- Add a vertical splitter between filter parameters and in/out parameters to be able to reduce the size of the in/out panel if needed.
- Add a reset button for the in/out parameters, so that they can be reset to default values.
- Improve logging behavior.
-
[core-219] Optimized the image construction from a list of values (e.g.
input (1,2,3,4)
), now running x5 faster. -
[core-218] Math parser functions
echo()
andext()
now convert scalar arguments into a string representation of the number rather than a single character. Allows to simplify a syntax such asext('blur ',vtos(alpha));
asext('blur ',alpha);
-
[core-217] Command
name
now accepts several arguments to rename multiple image with different names at the same time, e.g.name[0,1,2] first,second,third
.
Bug fixes:
- [core-220] Fix bug when using function
ext()
in math parser that raises an exception. - [core-219] Fix bug in command
unserialize
: unserializing buffer without compression was sometimes not working as expected (leading to issues in commandcast
). - [gimp_qt-218] Fix zero filter issue in the plug-in when launched without connection to the Internet.
- [core-217] Fix command
median
when used with a threshold on an image containinginf
values. - [gimp_qt-217] Fix a few parsing bugs happening in case of incomplete filter parameters.
- [gimp_qt-217] Take ‘silent’ filter parameters into account (parameters that do not trigger preview re-computation when value is changed).
- [gimp_qt-217] Pressing the Cancel button when a filter preview is currently rendering now quits the interface.