Current stable version:

Gmicky, the G'MIC mascot, by Mahvin.

Gmicky, the G'MIC mascot
(by Mahvin)

Support the G'MIC Project
to help develop the project !

You can also donate Bitcoin at: 1N5BsWvLRGHq42KLdCEtXuGvu9pat93kHD
      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. Technically speaking, what it does is:
  • Define a lightweight but powerful script language (the G'MIC language) dedicated to the design of image processing operators and pipelines.

  • Provide several user interfaces embedding the corresponding interpreter:

    • A command-line executable gmic, to use the G'MIC framework from a shell.
      In this setting, G'MIC may be seen as a serious (and friendly) competitor of the ImageMagick or GraphicsMagick software suites.

    • A plug-in gmic_gimp, to bring G'MIC capabilities to the GIMP image retouching software.

    • A web service G'MIC Online, to allow users applying image processing algorithms directly in a web browser.

    • A Qt-based interface ZArt
      Screenshot of ZArt in action.
      , for real-time manipulation of webcam images.

    • A thread-safe and multi-threaded C++ library libgmic, to be linked to third-party applications.
G'MIC is focused on the design of possibly complex pipelines for converting, manipulating, filtering and visualizing generic 1d/2d/3d multi-spectral image datasets. This includes of course color images, but also more complex data as image sequences or 3d(+t) volumetric float-valued datasets.

G'MIC is an open framework: the default language can be extended with custom G'MIC-written commands, defining thus new available image filters or effects. By the way, G'MIC already contains a substantial set of pre-defined image processing algorithms and pipelines (more than 1000). G'MIC is natively multi-threaded. It uses OpenMP to take advantage of multiple cores for speeding up the computation of image processing operations.

G'MIC has been designed with portability in mind and runs on different platforms (Windows, Unix, MacOSX). It is distributed under the CeCILL license (GPL-compatible). Since 2008, it is mainly developed in the Image Team of the GREYC laboratory, in Caen/France, by permanent researchers working in the field of image processing on a daily basis.

These other open-source projects are known to use some of the G'MIC features:
  • Krita, a free digital painting and illustration application.
  • Photoflow, a fully non-destructive photo retouching program.
  • EKD, a free software dedicated to postproduction processing for videos and images.

Main features
G'MIC defines a complete image processing framework (provides interfaces for C++, shell, gimp and web), and can manage generic image data as other image-related tools. More precisely:
  • 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, or 3d vector objects. Images with different pixel types are supported, allowing to process flawlessly images with 8bits or 16bits integers per channel, as well as float-valued datasets.

  • It internally works with lists of images. Image manipulations and interactions can be done either grouped or focused on specific items.

  • It provides small but efficient visualization modules dedicated to the exploration/viewing of 2d/3d multi-spectral images, 3d vector objects (elevation map, isocurves, isosurfaces,...), or 1d graph plots.

  • It is highly extensible through the possible inclusion of custom command files which add new commands that become understood by the language interpreter.

  • It proposes commands to handle custom interactive windows where events can be managed by the user.

  • It is based on the latest development versions of the CImg Library, a well established C++ template image processing toolkit, developed by the same team of developers.
Here are some screenshots illustrating various uses of G'MIC. It shows how it is able to process and visualize different types of 1d/2d/3d image datasets. G'MIC is actually a handy toolbox for many image/signal processing applications. See also the Gallery section for more detailed examples on its use. You can also try the online version of G'MIC to see some of its possibilities!

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 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:
If you appreciate G'MIC, feel free to hang a flyer somewhere to make this project more visible! To learn more about the G'MIC project, you can also look at the presentation slides!
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.