This is the changelog for the release of the 3.5.0 version of the G’MIC software, released on 2024/12/31.
It lists all new features and changes done since the previous version 3.4.0.
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 : https://gmic.eu
- G’MIC download : G'MIC - GREYC's Magic for Image Computing: A Full-Featured Open-Source Framework for Image Processing - Download
- G’MIC web service : https://gmicol.greyc.fr/
- G’MIC language tutorial pages : Start Here
What’s new in version 3.5.0?
New features:
- [gmic-qt-350] New filter Patterns / Stripes makes it easy to create complex stripe patterns in images.
-
[math-core-350] Add optional argument to functions
c2o()ando2c()to allow returning-1is specified argument corresponds to a pixel that is out of image. -
[math-core-350] Implementation of the
softargmin()andsoftargmax()functions. -
[core-350] Native implementation of the
softmin()function, both with commandsoftminand math functionsoftmin(). -
[stdlib_350]
nn_lib: Multiple neural networks can now be handled at the same time within the library. -
[gmic-qt-344] New filter Repair / Upscale [CNN2x] doubles image size using a small convolutional neural network (CNN).
-
[stdlib_344]
nn_lib: Implementation of gradient clipping and L2 weight regularization for neural networt trraining. -
[core-342] Native implementation of the
softmax()function, both with commandsoftmaxand math functionsoftmax(). -
[gmic-qt-341] Add native preview splitter in the G’MIC-Qt interface.
-
[stdlib-341] New command
input_normalized(shortcut:in) loads an image and ensures its value range is inside [0,255]. Useful to load images that can be either 8bits/channel or 16bits/channels without worrying about normalizing the value range. -
[stdlib-343] New commands
isinfandisnanselect respectivelyinfandnanvalues in selected images. -
[core-343] Add native I/O support for
.webpfiles (enabled by default for Linux builds).
Modifications / Optimizations :
-
[packages-350] Use the full clang toolchain for compiling
gmicand G’MIC-Qt on Windows, as it seems to generate more optimized binaries. -
[core-350] Command
output: When saving .png files, it is now possible to force the bit depth used in the saved file. -
[core-350] Command
window: When command is invoked with a single argument like200%, makes it also the default value for the second argument. -
[core-350] Commands
convolveandcorrelatehave been partially recoded. List of arguments have changed to reflect these changes. -
[gmic-qt-342] Add code to be compatible with upcoming GIMP 3.0 plug-in API (cool contribution from Host/Gimp: convert to new GimpProcedureConfig APIs by berrange · Pull Request #208 · c-koi/gmic-qt · GitHub).
-
[gmic-qt-342] New keyboard shortcut
CTRL+SHIFT+Penables/disables preview splitter. -
[core-341] Command
mprojhas been recoded and optimized. -
[stdlib-341] Hide non-native preview splitter of G’MIC-Qt filters, when G’MIC version number is 3.4.1+ (use native G’MIC-Qt preview splitter instead).
-
[stdlib-343] Command
autocropconverted from native to custom command of thestdlib, with newaxesoption added. Commandautocrop_coordshas been recoded from scratch, with newaxesoption added as well. -
[stdlib-344]
nn_lib: Implements Cosine Annealing LR scheduler as an option for the trainer. Also implements pixel shuffle layer for image up/down-scaling. -
[math-core-343] Function
sort(): Add optional argument that specifies the index of the sorted values, when dealing with multi-valued blocks. -
[math-core-344] Function
isin(): Detect and optimize case where every given argument is a constant (so returned boolean can be computed at compile time).
Bugfix :
-
[stdlib-344]
nn_lib: A lot of bug fix and various improvements in various kind of network layers (normalization, strided convolution). -
[stdlib-343] Command
input_gpl: Fix file parsing bug. -
[gmic-qt-342] Fix bug in native preview splitter (reported here: https://discuss.pixls.us/t/half-preview-left-or-right-bug-in-3-4-1
-
[core-341] Command
polygon: Fix argument parsing bug that prevented filling a polygon with a negative-value color. -
[math-core-343] Fix/recode function
v()that generates random integers to make it work correctly with larger ranges. -
[math-core-343] Fix functions
operator=(),find()andsame(), when value or value sequence to search for or to compare containNaNvalues.









