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.
To do so,
G'MIC defines a lightweight but powerful
script language
(the
G'MIC language) dedicated to the design of
image processing operators and pipelines.
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).
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.
Other interesting technical aspects of
G'MIC are:
- It can process a wide variety of image types, including multi-spectral
(arbitrary 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 light 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. Thus, users can design their own
image processing library on top of G'MIC.
- It proposes commands to handle custom interactive windows where events can be managed by the user.
- It is based on the latest development version of the CImg Library,
a well established C++ template image processing toolkit, created and maintained by the same team of developers since 1999.