G'MIC 3.3.5

G'MIC (GREYC's Magic for Image Computing) is a portable and scriptable image processing framework. It comes as C++ library, can be used as command line tool, as Gimp plugin, as web service, or with its Qt application. G'MIC allows image conversion, manipulation, applying complex filters and visualization pipelines. Various image types can be used, 1D/2D/3D sources, multi-spectral and volumetric images or 3D vector objects, regardless of pixel depths. The "gmic" command line tool is often an alternative to ImageMagick or GraphicsMagick.

Tags c++ libgmic image-processing gimp graphics-conversion visualization
License GNU GPL
State stable

Recent Releases

3.3.512 Mar 2024 14:31 minor feature:
3.3.215 Nov 2023 14:48 minor feature:
3.2.629 Jul 2023 16:37 minor feature:
2.9.204 Sep 2020 03:15 minor feature: Bump to 2.9.1. . . . . . . . . . Start working on 2.9.2_pre. . Auto-commit for release 2.9.2_pre. . Filter 'Apply External CLUT': Implement 'Strength' control. . Merge branch 'develop' of github.com:dtschump/gmic into develop. . cmake: bump minimal version. . . . . . Allow perfect 3D sphere to be defined from a pair (center,point) rath . . Make '+echo' a native command. . Command 'echo': better manage messages starting with CR. . Install.desktop files and icons when doing 'make install'. . . . behavior of '+e' (regression of 2.9.1). . Allow '+warn' for output in stdout. . Add link to G'MIC for Python to the download page. . . . Merge branch 'develop' of github.com:dtschump/gmic into develop. . . . 'make install'. . . . typo in doc. . Merge branch 'develop' of github.com:dtschump/gmic into develop. . . . . . . . . . . . . . . . . . . . . . . . . 'x_landscape' to work with new version of 'discard'. . . . 'uncommand' to work with newest behavior of 'CImg::get_split()'. . . . . . . . . . . . . . . . Function : New argument to choose between L1 and L2-norms for toleran . . cmake: CImg linking without Fftw::Threads. . . . command 'colormap', for some degenerated cases. . Merge branch 'develop' of github.com:dtschump/gmic into develop. . Add new filter 'Artistic/Doodle'. . Merge branch 'develop' of github.com:dtschump/gmic into develop. . . . . . Add command 'orthogonalize'. . Remove support for double-hyphen pre, i.e. '--command' instead of . . . . . . Code cleaning. . . . . . Suppress links to uTip. . CImg::deriche() : do calculus in 'double' precision by default. . . . Force computation in double precision when using commands 'solve' and . . . . Add 'rgb2jzazbz', 'xyz2jzazbz', 'jzazbz2rg
2.9.111 Jun 2020 08:45 minor feature: Remove 'cats()' function in math parser. . Revert "Remove 'cats()' function in math parser.". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Command 'palette': Compress palette data for smooth palettes. . . . . . . . Make default selection to 'all parent images' for command 'pass'. . Add command 'boundingbox3d'. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 'register_rigid' for large images. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add 'Patterns / Voronoi'. . . . . . . . . . . . Add commands 'input_565' and 'output_565' to read/write RAW565 files. . . . . . . . . . . . . . . . . . . . . . . . Avoid systematic allocation of 4096 bytes for formula. Now allocated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Auto-commit for release 2.9.1_pre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add percentile filter. . . . . . . . . . . . . . . . . . . . . . . . . . Remove unused function 'gmic::check_filename()'. . Add an EditorConfig file. . . . . . . . call to 'argmax()'. . . . . . Add support for UTF-8 paths on Windows. . cmake: Move all dependencies to separate targets. . cmake: Support opencv4. . cmake: manpage bash-completions generation. . cmake: Install bash-completion. . . . . . . . . . . . . . . . . . . . . . . . . . . . Add support for environment variable 'GMIC_CACHE_PATH' in command 'pa . . Attempt to OpenMP support when using clang++ compiler. . . . . . Command 'network': can now set the timeout when loading data from the . . . . . . . . . . . . . . Add native
2.9.029 Mar 2020 03:15 minor feature: Add filter 'Sequences / Moiré animation'. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add '-flto' optimization flag into CMakeList. . Allow help to work on distant command files, when include with 'comma . . Move update of '' directly in function 'add_commands()'. . . . bashcompletion script when '_init_completion' and '_filedir' not . . . . . . . . . . . . Add function 'inrange()' in math parser. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Merge branch 'develop' of github.com:dtschump/gmic into develop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . in bashcompletion script generator. . . . Add filter 'Rendering / Tree'. . . . . . . . . . . . . . . . Use '-Ofast' only for the cli tool. Use '-O2' for others (libgmic,lib . . Rendering/Tree : Add X/Y ratio parameters. . parse_gui_update : Add code to force 'color()' arguments to use short . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add functions 'minabs()' and 'maxabs()' in math parser. . Add native commands 'minabs' and 'maxabs'. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.8.411 Feb 2020 06:25 minor feature: Final release 2.8.3 . . . . . . . . . Auto-commit for release 2.8.4_pre. . Auto-commit for release 2.8.4_pre. . . . Add command 'shape_dragon'. . . . . . . . . . . . . . Add filter 'Silhouettes / Others / Dragon Curve' in G'MIC-Qt. . Add command 'struppercase'. . . . Add new colormaps. . . . . . . . . . . . . . . . . . . . . . . . substitution of 0. . Slight optimization. . . . . . . . . . .
2.8.324 Jan 2020 03:15 minor feature: Final release 2.8.2 . . . Command 'output': Allow ANALYZE 7.5 files (.hdr and.nii) to be saved . . Start working on v.2.8.3. . Add v.2.8.3 for generating update files. . . . Auto-commit for release 2.8.3_pre. . . . mispelling errors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Merge branch 'develop' of https://github.com/dtschump/gmic into develop. . . . Merge branch 'develop' of https://github.com/dtschump/gmic into develop. . . . . . Merge branch 'develop' of https://github.com/dtschump/gmic into develop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.8.215 Jan 2020 03:15 minor feature: Final release 2.8.1 . . . . . . . . . . . . . CMake: add libcurl support for the cli app and base library. . . . Sync with framagit. . . . . . Auto-commit for release 2.8.2_pre. . . . . . . . . . . . . . Allow explicit definition of entrypoint '_main_' in a.gmic file. . . . Split command 'map' in native/custom command, depending on the type o . . Split command 'index' in native/custom command, depending on the type . . . . . . Optimize command parsing by skipping string comparisons in case of no . . . . . . . . . . . . . . . . . . . . . . Add 'csin()' and 'ccos()' functions to math evaluator. . Add complex tangent function 'ctan()'. . . . . . . . . . Add command 'newton_fractal'. . . . . . . . Add 'Rendering / Newton fractal' filter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add command 'remove_copymark'. . . . Add command 'transfer_pca'. . . . . . . . . . . . . . . . . . Add optionnal argument 'constant_case_ratio' to command 'normalize'. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.8.120 Dec 2019 06:05 minor feature: Final release 2.8.0 . . . initial call to cli_start, and start 2.8.1. . Auto-commit for release 2.8.1_pre. . Auto-commit for release 2.8.1_pre. . Auto-commit for release 2.8.1_pre. . . . . . Auto-commit for release 2.8.1_pre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . with option 'Discard contours guide' in filter 'Colorize Sma . . . . . . Add autorun of 'start()' functions in.gmic files, when imported with . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hide g++ warnings due to the inclusion of OpenEXR header files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.8.005 Dec 2019 06:05 minor feature: Final release 2.7.5 . . . . . . . . . . . . . . . . . . . . . . . . . Auto-commit for release 2.8.0_pre. . . . . . . . . . . . . . . . . . . . . . . . Add commands to manage neural networks in G'MIC (early stage !). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Auto-commit for release 2.8.0_pre. . . . . . . . . . Add milliseconds precision to math function 'date()'. . Add CIEDE2000 color comparison function in math_lib. . . . Add command 'ciede2000'. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Correct lab2xyz transformation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Auto-commit for release 2.8.0_pre. . . . . . . . . . . . . . . . Merge branch 'master' of framagit.org:dtschump/gmic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.7.526 Oct 2019 03:15 minor feature: Final release 2.7.4 . . . Merge branch 'master' of framagit.org:dtschump/gmic. . . . . . . . . . . . . . . . Auto-commit for release 2.7.5_pre. . Auto-commit for release 2.7.5_pre. . . . . . . . Merge branch 'master' of framagit.org:dtschump/gmic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Merge branch 'master' of framagit.org:dtschump/gmic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.7.413 Oct 2019 16:25 minor feature: Final release 2.7.3 . Final release 2.7.3. . . . . . . . . . . . . . . . . . . . . . . . Merge branch 'master' of framagit.org:dtschump/gmic. . .
2.7.309 Oct 2019 06:05 minor feature: Final release 2.7.2 . . . . . . . . . . . . . . . . . . . . . Auto-commit for release 2.7.3_pre. . Auto-commit for release 2.7.3_pre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add input/output support for '.flo' files. . . . . . . . . . . . . . . . . . . . .
2.7.224 Sep 2019 06:05 minor feature: Final release 2.7.1 . . . . . . . . . . . . . . . . . command 'colormap' when used with 'half-float' images. . command 'colormap' when used with 'half-float' images. . . . . . . . . . . . . . Auto-commit for release 2.7.2_pre. . Auto-commit for release 2.7.2_pre. . Auto-commit for release 2.7.2_pre. . . . Auto-commit for release 2.7.2_pre. . Add commands 'img2var' and 'var2img'. . . . . . small in 'unserialize()'. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Auto-commit for release 2.7.2_pre. . . . . . . . . . . . . . . . Merge branch 'master' of framagit.org:dtschump/gmic. . . . . . . . . . . . .
2.7.103 Sep 2019 03:15 minor feature: Final release 2.7.0 . . . . . . . . . . . . . . . . . . . OpenFx link on download page. . . . . . Auto-commit for release 2.7.1_pre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.7.015 Aug 2019 03:15 minor feature: Final release 2.6.7 . . . . . . . . . . . Auto-commit for release 2.6.8_pre. . . . . . . . . . . . . . . . . . . . . . Auto-commit for release 2.7.0_pre. . . . . . . . . . . . . . . . . . . . Auto-commit for release 2.7.0_pre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reduce minimum required cmake version to 3.8 and remove obsolete BUIL . . Merge branch 'patch-1' into 'master'. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Auto-commit for release 2.7.0_pre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Auto-commit for release 2.7.0_pre. . Auto-commit for release 2.7.0_pre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6.729 Jun 2019 07:25 minor feature: Final release 2.6.6 . . . Start working on version 2.6.7. . Auto-commit for release 2.6.7_pre. . .
2.6.619 Jun 2019 13:45 minor feature: Final release 2.6.5 . Enable rounding to nearest integer when saving float-valued images in . . Auto-commit for release 2.6.6_pre. . . . . . . . Merge branch 'master' of framagit.org:dtschump/gmic. . . . Add new filter 'Symmetric 2D Shape'. . . . . . .
2.6.510 Jun 2019 07:25 minor feature: Final release 2.6.4 . . . result name in 'extract_region'. . . . . . Auto-commit for release 2.6.5_pre. . . . . . Merge branch 'master' of framagit.org:dtschump/gmic. . . . Update 'spiralbw'. . . . . . . . . . . . . . . . .
2.6.425 May 2019 21:25 minor feature: Final release 2.6.3 . . . . . . . . . . . . . . . . . . . Auto-commit for release 2.6.4_pre. . . . . . . . Merge branch 'master' of framagit.org:dtschump/gmic. . . . Auto-commit for release 2.6.4_pre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Auto-commit for release 2.6.4_pre. . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6.318 May 2019 16:45 minor feature: Final release 2.6.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Auto-commit for release 2.6.3_pre. . . . .
2.6.214 May 2019 15:05 minor feature: Final release 2.6.1 . . . . . Add functions to manage min-heap in math_lib. . . . in Frames / Droste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Auto-commit for release 2.6.2_pre. . . . Remove interactive modes for native commands 'resize','crop','thresho . . Merge branch 'master' of framagit.org:dtschump/gmic. . . . . . . . . . . . . . . . . . . . . . . . . . . . Add command 'crop_interactive' (shortcut 'zi'). . Command 'fitscreen': Add new new possible syntax for arguments. . . . Add command 'threshold_interactive'. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . shadow variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . in doc preventing the generation of the bash completion script. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Auto-commit for release 2.6.2_pre. . . . Use custom command 'display2d' by default for displaying 2D images. . . . . . . . . . . . . . . . compiling with OpenCV 4. . . . for commands 'break' and 'continue' when used in 'local...end . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.717 Apr 2019 15:40 minor feature: Filter Deformations / Morph Interactive
2.5.609 Apr 2019 09:45 minor feature: Final release 2.5.5 . . . warnings for new clang. . . . . . Auto-commit for release 2.5.6_pre. . . . . . . . . . . . . . . . . . . . . . . . Add command 'x_warp' for interactive image warper. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.530 Mar 2019 06:45 minor feature: Final release 2.5.4 . . . Merge branch 'master' of framagit.org:dtschump/gmic. . . . . . . . . . Add color basis conversion RGBRYB. . Add support for RYB colorspace in 'apply_channels' and filters that u . . Optimize 'ellipsionism'. . Add command 'lightness'. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Auto-commit for release 2.5.5_pre. . . . . . . . . . . . . . . . . . . . . . .
2.5.423 Mar 2019 03:15 minor feature: Final release 2.5.3 . Linux: Decompressing CLUT in ' XDG_CACHE_HOME' when possible. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.318 Mar 2019 20:13 major feature:
2.4.522 Feb 2019 12:36 major feature:
1.6.0.021 Aug 2014 19:42 major feature: Release 1.6.0.0 encompasses various new features, improvements, and bug fixes. New native command '-pass' that allows to insert images from parent contexts in custom commands and local environments. This allows to design custom commands that can take images as arguments. New native command '-noargs' that allows to discard arguments in a custom command. This can be used to write custom commands that accept arguments or not. New command '-is_image_arg' that checks if a string looks like ' ind '. New command '-gimp_error_preview' that displays a custom error message on a preview image for GIMP filters. New command '-outputx' (eq. to '-ox') that saves images with same base filenames but with different extension(s). New command '-names' (eq. to '-nms') that can set different names to multiple selected images, with a single command. New command '-mul_channels' that multiply each channel of an image with different provided values. New command '-oneminus' computes, for each of the selected images, one minus image.