|
|
Log in / Subscribe / Register

Visual legerdemain abounds in G'MIC 1.6.0

By Nathan Willis
August 27, 2014

A new stable release of the G'MIC image-processing framework was recently released. Version 1.6.0 adds a number of new commands and filters useful for manipulating image data, as well as changes to the codebase that will hopefully make G'MIC easier to integrate into other applications. Because most users will employ G'MIC scripts written by others—rather than directly altering image files—the integration features are arguably the most important aspect of the program. Recently, the project has been putting extra emphasis on documentation and on working with G'MIC power users to deliver the best possible presentation of G'MIC's capabilities.

David Tschumperlé announced the release of version 1.6.0 in the G'MIC discussion group on Flickr. To the average free-software fan, Flickr might sound like a peculiar venue on which to post a release announcement, but it is home to a large community of G'MIC's most active constituency: photographers. The new release is available through several means. There are source bundles and binaries of the command-line G'MIC tool provided for download through SourceForge.net, the GIMP plugin can be downloaded separately, and a personal package archive (PPA) for Ubuntu is available. The code is distributed under the CeCILL license, which is GPL-compatible.

Learning G'MIC

Most users will likely want to choose the GIMP plugin, since it is easier to get started with. The precompiled plugin itself needs to be installed, which is done by uncompressing the downloaded archive into ~/.gimp-2.x/plug-ins/. The next time GIMP is run, there will be a "G'MIC" menu item, which launches the G'MIC filter-selection window. This window resembles GIMP's other filter-preview windows in the most basic sense: there is a small-scale thumbnail showing a live preview image of what the chosen filter's current settings will do to the image file (or selection), plus a box of sliders, drop-down selectors, and other widgets with which one can fiddle with the settings.

[G'MIC Mighty details filter]

But unlike standalone items in GIMP's "Filters" menu, the G'MIC selector is really a front end for G'MIC's own library of pre-built filters—so the window also includes a lengthy, scrollable list of all of the available choices. The 1.6.0 plugin advertises 395, although that number does not include a large set of effects marked "testing"—the G'MIC site says that there are currently 714 available in total. Plenty of them are variations on a similar theme, of course, but almost every effect one can think of is available: from image-enhancement tools (like local-contrast enhancement to bring out details) to artistic mutations akin to Instagram effects, plus a wide assortment of what one might call purely mathematical filters (Fourier transforms, discrete Laplacian operators, etc.).

The good news is that G'MIC's selector makes it simple to familiarize oneself with what could otherwise become a dizzying assortment of possibilities. The installed filters are grouped by category and the majority of them offer a near-instant preview of the final effect they will produce. Those that do not offer a preview tend to be the ones that require interactive editing, such as the famous "inpainting" filter used to remove objects from a scene—the user has to select the object to remove in the image, so no automatic preview is possible. Each filter also has its author and last update listed in the interface. Some have additional text metadata, such as instructions.

Under the hood, though, even the most complex G'MIC filter is nothing more than a series of commands passed to the G'MIC interpreter. All of the filters seen in the GIMP plugin can be duplicated by running G'MIC commands in the gmic command-line tool. It is quite similar to ImageMagick or GraphicsMagick in this respect; the GIMP plugin merely provides an easy-to-use interface for a suite of predefined "scripts." Although whether G'MIC commands are complex enough to qualify as true scripts is debatable; there are some control structures available, but a lot of limitations—including the fact that only image data can be operated upon.

The project has considerably detailed documentation about the available commands and how they are interpreted, for those interested in digging a bit further. In a nice touch, the documentation's command reference now links to tutorials from each command's definition, for those commands that have a tutorial available.

New tricks

Because the GIMP plugin is merely a front end for the command-line tool (which is the focus of development), G'MIC release notes tend to describe new features in their command-line terms. 1.6.0 is no exception. The release notes highlight a handful of new and changed commands, plus several new filters that have been added to the library. New image-operation commands include -oneminus, which computes (1 - pixelvalue) for each pixel in an image and -mul_channels, which can be used to multiply each channel of an image by a different value. Several existing commands have been improved: the -map command accepts a boundary parameter, the -median command accepts a threshold argument, and the -blend command now accepts an opacity argument between zero and one. Some non-functional cleanups include renaming some commands to better reflect their functionality and adding shortcuts for others.

[G'MIC Various film-emulation presets]

Considerably more commands have been added to those used to manipulate files and interact with the system. G'MIC filters can now create their own custom error messages in GIMP, name output files according to more flexible rules (such as renaming multiple input files to multiple distinct output filenames), and use color terminal output in Bash. The command-line gmic tool now automatically looks for a custom command file at startup (at ~/.gmic on Linux systems).

Although the changes to the command language are of most interest to users who write their own effects, some new pre-built filters have also been added to the default set included in the GIMP plugin. One of these is "Film emulation / Various," which alters the colors of an image to simulate the effects of different real-world film stocks. The main set of film emulations was created with the help of photographer Pat David (who presented some of the work at Libre Graphics Meeting 2014 in Leipzig).

There are about 20 new emulation presets available in this release. These are mostly useful for artistic effect, of course, but as older film stocks like Kodachrome (and the associated developing chemicals) are discontinued, computer simulation becomes the only option to match the old look. Many of the "Various" presets, rather than targeting a specific film stock, implement more generic effects to simulate vintage and aged photographs.

Another new filter is "Mighty details," one of several options that can be used to heighten the clarity of details in an image. Detail enhancement is a convoluted process, the effectiveness of which varies considerably from image to image (and overdoing it can heighten the visibility of unpleasant artifacts). So the name "Mighty details" may not communicate much more than "Freaky details" (another filter), other than suggesting that one will see a less extreme outcome. This is understandable, but can be a source of frustration. Some of G'MIC's filters are better documented on the web than others; there does not seem to be a detailed look at "Mighty details" available so far, but the G'MIC GIMP plugin does include links to other filters' documentation (including "Freaky details").

[G'MIC Montage filter]

On the other hand, David did thoroughly document the creation of another new filter, "Montage," in a blog post. This filter can be used to intelligently rescale a set of images to fill an arbitrary page size. Unlike manually arranging images, it is fast and easy to rearrange the component images in the preview window, so this filter may attract plenty of fans.

Last but not least, David also wrote a post exploring the new "patch-based inpainting" filter. Inpainting, as mentioned earlier, is an intelligent fill operation that removes an object from an image by blending in samples from the surrounding image. The patch-based technique is better for situations where larger or distinct objects are in the surrounding image. Blending with random shapes like clouds and grass is fairly simple; blending with samples taken from human faces or buildings tends not to produce natural-looking results.

From the perspective of a casual GIMP user, G'MIC's greatest strength—the vast array of effects it can produce—is a double-edged sword. Even the pre-built filters that ship with the G'MIC GIMP plugin have the potential to be overwhelming to sort through. But this is a problem that the project has put considerable effort into fixing, with improved documentation accessible from multiple sources and with well-organized tools and settings presented in the user interface. Die-hard image manipulators will likely be pleased with the new commands available for writing custom G'MIC scripts and filters, but for everyone else, the 1.6.0 release provides easy access to a wealth of effects that would otherwise demand considerable time and experimentation with another image-editing tool.


to post comments

Visual legerdemain abounds in G'MIC 1.6.0

Posted Aug 28, 2014 0:16 UTC (Thu) by dashesy (guest, #74652) [Link] (2 responses)

I always wanted to try some HDR with gimp and was waiting for GEGL to be finished in Gimp to get nondestructive filtering. It seems this Freaky Details is what I was looking for (?). There was one other tool with very odd name for HDR, that had to search again to find qtpfsgui but being part of the Gimp will do wonders, thanks for this great software, and write-up to enlighten us.

Visual legerdemain abounds in G'MIC 1.6.0

Posted Aug 28, 2014 0:30 UTC (Thu) by n8willis (subscriber, #43041) [Link] (1 responses)

Obviously it's hard to say without knowing exactly what effect you're looking for, but "Freaky details" does more things than a typical HDR tone-mapping operation does. The G'MIC plugin does have a Tone-mapping filter, though (which is presumably what you're looking for for HDR-like effects). So it's worth trying.

The app you mention for HDR is now called Luminance HDR (*much* easier on the ears...). In addition to the tone-mapping stuff, it also handles the merging of multiple photos into a single high-dynamic-range image, which is where all that HDR stuff originally started.

Visual legerdemain abounds in G'MIC 1.6.0

Posted Aug 28, 2014 17:21 UTC (Thu) by dashesy (guest, #74652) [Link]

Yes, by HDR I mean capturing multiple exposures, registration, then applying spacial Gaussian blur before final tone mapping. I think the only real remaining piece now is image registration, but if the shots are taken fast enough and with the same lens, that is not needed.

Visual legerdemain abounds in G'MIC 1.6.0

Posted Aug 28, 2014 1:48 UTC (Thu) by wrobbie (guest, #39320) [Link]

"Detail enhancement is a convoluted process".

Hehe. Heh.

Visual legerdemain abounds in G'MIC 1.6.0

Posted Aug 30, 2014 3:37 UTC (Sat) by yodermk (guest, #3803) [Link]

Thanks a dang lot, I needed to go to bed!


Copyright © 2014, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds