This is the running changelog of the G’MIC software, until version 4.1 is released. It lists all new features and changes done since latest major version 4.0.
New features
G’MIC-Qt plug-in:
- [gmic-qt-407] New filter Rendering / Perspective Water Waves procedurally renders a choppy water surface, in perspective.
- [gmic-qt-407] New filter Rendering / Paint Background generates a painted-wall / oil-sky style background (cloudy pigment layers, impasto, splatters).
- [gmic-qt-406] New filter Patterns / Penrose Tiling generate Penrose tilings by Robinson-triangle deflation.
- [gmic-qt-406] New filter Deformations / Page Curl curls up a corner of the image, as on a sheet of paper.
- [gmic-qt-406] New filter Deformations / Glass Door simulates optical distortion as if your image is seen through a glass block door.
- [gmic-qt-406] New filter Rendering / Cosmic Nebula generates a procedural cosmic nebula.
- [gmic-qt-406] New filter Rendering / Chladni Figures, mathematically simulates complex sand shapes created by 2D wave interference.
- [gmic-qt-404] New filter Rendering / Variable-Density Hilbert Curve draws a single variable-density Hilbert Curve that reproduces an input image.
- [gmic-qt-404] Filter Arrays & Tiles / Montage has been recoded to use the newest
arrangecommand, with a few additionnal improvements (support a larger number of input layers, better memory management, etc.).
Core functionalities:
- [gmic-core-408] Add new native commands
sigmoid,logitandlog1p.
G’MIC Standard Library:
-
[stdlib-408] New command
perspectivedraws an image into another one, as a 3D quadrilatere in perspective. -
[stdlib-404] New command
arrangearranges selected images according to a specified layout, described as a string (see post: https://discuss.pixls.us/t/new-command-arrange-a-better-version-of-montage/). -
[stdlib-404] New command
shape_peanocreates a 2D image of the Peano curve.
Improvements / Modifications
G’MIC-Qt plug-in:
- [gmic-qt-407] Filter Deformations / Perspective has been rewritten from scratch to make it more interactive and easy to use.
Core functionalities:
-
[stdlib-406] Comprehensive code review has been done for
nn_lib, with many small bugs fixed and performance improvements. -
[math-core-408] Optimizations (x6) of vector-valued functions
vmax(),vmin(), … when only two arguments are provided. -
[math-core-406] Optimizations done in parsing macro definitions. Avoid multiple string reallocations.
-
[core-404] Interpreter now pre-counts number of arguments given to a native command, to speed up argument parsing.
-
[core-404] When interpreter parses a string that is expected to be a single double value, it now uses
std::strtod()rather thanstd::sscanf(), which is 5 to 10 times faster (it does not make a huge difference on execution time of G’MIC scripts though). -
[math-core-404] Function
find()has an extramax_iterationsparameters that allows to narrow search in an image or vector subset.
G’MIC Standard Library:
-
[stdlib-406] Library
nn_libhas been greatly improved after a full code review. Calculations of network modules have been verified and corrected when necessary. -
[stdlib-405] Command
mapnow proposes an adaptiverandomcolormap option. -
[stdlib-404] Command
colormapnow implements a multi-threaded algorithm to extract the full colormap of images.
Bug fix
-
[stdlib-406] Library
nn_lib: Fix calculus in backprop when using convolutional layers withboundary_conditions!=0. -
[stdlib-404] Commands
display,printandplot: Fix error occurring when one of the selected images has an empty name. -
[math-core-407] Fix bug in double assignment expression as
x = X[k] = y. -
[math-core-405] Fix loading PNM files from
stdin. -
[math-core-404] Better catch exceptions occuring in parallelized evaluations.
-
[math-core-404] Fix bug in math evaluator, related to optimization attempts for certain expressions that led to a wrong memory access in some cases.
-
[build-system-406] Fix Makefile to allow parallel compilation with
make -j.













