David Tschumperlé Jerome Ferrari Jerome jayprich garagecoder



G'MIC is an open and full-featured framework for image processing, providing several different user interfaces to convert/manipulate/filter/visualize generic image datasets, from 1d scalar signals to 3d+t sequences of multi-spectral volumetric images.

G'MIC provides a serious tool for image processing along with flexibility for creative applications. It has a very lightweight core that is mature code and comes with a complete set of manipulation and filter commands which operate on a stack of images.

There is a [FAQ] page, and a [Jargon] page you may find useful.


. .
Built by scientists to implement novel and complex image processing algorithms via its compact, extensible script language, it has a large library of useful algorithms for many applications. In addition it includes research software for technical papers and many contributed scripts. It has an active and friendly user-group on flickr and is closely aligned with GIMP due to its plugin. gmicky

The mathematical and transform engine of GMIC operates on CIMG data, usually in-memory, double-precision arrays. It is optimised for 2d and 3d operations including animations and interactivity, it has functions for text handling, linear algebra, programming logic and other utilities.

It is very strong on multi-spectral images and tensor fields as it was built primarily for PDE work, e.g. de-noising of 3d+time medical imaging including diffusion tensor. Because the Transforms and functions work on dense arrays it is not so strong with larger than memory images or algorithms involving sparsity e.g. in patch-space.


Together the command line and the GIMP plug-in provide visualisation and quick interaction with the stack of images, this and the speed and maturity of code makes it ideal for scripting prototypes.
It reads the usual file formats ** can can be incorporated in batch scripts, or called by other programs via the C-API.


1. Technical documentation

G'MIC script language

Interface: command line tool 'gmic'

Interface: plug-in for GIMP

Interface: C++ library

Other integration


2. Artistic & filter tutorials

3. Other languages


Wiki: 2D to 3D image conversion
Wiki: About the image stack
Wiki: COMMANDS inpaint and inpaint_flow
Wiki: Custom commands
Wiki: Developing raw images with G'MIC
Wiki: FAQ
Wiki: G'MIC as a C++ 32bit float image processing library
Wiki: How to create a custom filter in the G’mic plug-in
Wiki: Images and formats
Wiki: Introduction to the G'MIC command line tool 'gmic'
Wiki: Jargon
Wiki: Making better custom filters
Wiki: Managing 3d vector objects
Wiki: Multi threading commands
Wiki: Processing many files
Wiki: TKs Animated Objects
Wiki: The command line behind the Gimp plug-in
Wiki: Tips and curiosities
Wiki: Using commands arguments and variables
Wiki: What does the G'MIC language look like?