Archive for the ‘image-processing’ Category

G’MIC: Image Processing Pipeline(s) Scripting Language

Saturday, January 19th, 2013

GMIC: An Image Processing Pipeline(s) Scripting Language
I found this by accident, but it looks really handy for “industrial-scale” image processing.

    • G’MIC stands for GREYC’s Magic Image Converter. This project aims to:
      • Define a lightweight but powerful script language (G’MIC) dedicated to the design of image processing operators and pipelines.
      • Provide an interpreter of this language, distributed as a C++ open-source library embeddable in third-party applications.
      • Propose four different user interfaces for this image processing framework:
        • The 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
        • The interactive and extensible plug-in gmic_gimp to bring G’MIC capabilities to the image retouching software GIMP.
        • ZArt: a real-time interface for webcam images manipulation.
        • G’MIC Online, a web service allowing users to apply image processing algorithms directly from a web browser.
    • 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 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 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.
    • 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 dataset.
      • 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 importation 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 easily 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.