Clone this wiki locally
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.
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.
The mathematical and transform engine of G'MIC operates on CImg data, usually in-memory, 32 bits float-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
- What does the G'MIC language look like?
- About the image stack
- Images and formats
- Custom commands
- Using commands arguments and variables
- Managing 3d vector objects
- Multi threading commands
- Tips and curiosities
- Processing many files
Interface: command line tool 'gmic'
Interface: plug-in for GIMP
- The command line behind the Gimp plug-in
- How to create a custom filter in the G’mic plug-in
- Making better custom filters