[ Main ] [ Download ] [ GIMP Plug-in ] [ Gallery ] [ Reference ] [ Tutorial ] [ Repository ] [ Forum ] [ Poll ] [ Flickr   ]

Summary
This project aims at defining a script language (G'MIC) dedicated to image processing. The interpreter of this minimal but powerful language is distributed as an open-source module/library embeddable in third-party applications. G'MIC can be used to define complex image processing pipelines for converting, manipulating, filtering and visualizing generic 1D/2D/3D multi-spectral image datasets. Of course, it is able to manage color images, but also more complex data as image sequences or 3D volumetric data.

G'MIC is an open framework : it is possible to extend it with custom commands, defining thus new image filters. By the way, the default language already contains a substantial set of pre-defined image processing algorithms.

Here you will find packages providing the sources of the G'MIC interpreter, as well as two usable instances of it :
  • A binary executable gmic, allowing to use the G'MIC interpreter from the command line.
  • An interactive plug-in gmic_gimp for extending the capabilities of the image retouching software GIMP.
G'MIC has been designed with portability in mind and runs on different platforms. It can be easily re-used in any other free software, as an external library since it is distributed under the CeCILL license (GPL-compatible). It is developed in the Image Team of the GREYC laboratory, in Caen/France, by permanent researchers working in the field of image processing.

Features
G'MIC is an image processing framework, and it can process image data like any other image processing tool. Anyway, it has specific features that make it particular :
  • It defines a complete script language and provides its corresponding open-source interpreter that can be easily embedded in any free software.
  • It internally works with lists of images. Image manipulations and interactions can be done either grouped or focused on specific items.
  • It can process a wide variety of image types, including multi-spectral (arbitray number of channels) and 3D volumetric images as well as image sequences.
  • It considers typed image pixels. It can process flawlessly images coded with 8bits or 16bits integers per channel, as well as float-valued datasets.
  • It provides minimal but efficient visualization and exploration modules, including the visualization of 3D multi-spectral images, 3D objects (elevation map, isocurves, isosurfaces,...), and 1D graph plots.
  • More generally, it is able to display custom interactive windows where user events can be managed easily.
  • It is highly extensible through the use of custom command files which extend the interpreter capabilities.
  • It can be used directly inside GIMP, allowing end-users to define and apply all G'MIC operations from a nice GUI, without much coding efforts.
  • It is based on the latest development versions of the CImg Library, a C++ template image processing toolkit.
Screenshots
Here are some screenshots illustrating the various uses of G'MIC. It shows how it is able to process and visualize different types of 2D/3D image datasets. G'MIC is actually a handy toolbox for many image processing applications. See also the Gallery section for more detailed examples.

G'MIC screenshot G'MIC screenshot G'MIC screenshot G'MIC screenshot G'MIC screenshot G'MIC screenshot G'MIC screenshot G'MIC screenshot G'MIC screenshot

The Team
Project Manager and Main Developer : Contributors :
G'MIC is an open-source product distributed under the CeCILL License (GPL-compatible).
Copyrights (C) From July 2008, David Tschumperlé - GREYC UMR CNRS 6072, Image Team.
Support This Project