Figure 1: Jean Cocteau's right eye in 1923.
Somewhere around here ('Here' being an apartment in Brooklyn) I have a few post cards of Prospect Park produced around the turn of the Twentieth Century. So far as I know they were lithographed in Germany in nineteen oh something.
They are drop-dead beautiful.
Their most remarkable aspect is their printing. Lots of colors, more than four, but I'm not sure how many. The halftoning is not anything like today. Not a rotated column-and-row ordering of different sized elliptical dots, but something that squiggles around snake-like; it is not a periodic pattern at all. The best theory that I've heard that it was some sort of chemical etching of metal, perhaps an intaglio process which cut away metal and the ink would be retained in the cup-like depressions. Some sort of photographic negative regulated the chemical etching somehow.
Fast forward a century. There's a discussion on Gimp Chat about Stippling and Hedcuts, the sort of thing Randy Glass, Noli Novak et. al. do for the Wall Street Journal and other papers of Serious Note. The discussion rolls around to thoughts about whether a filter of some sort could do this. And I start fooling around with G'MIC, thinking of German post cards. So in a few hours I don't have a filter that Does Dots, but I have one that Does Snakes, and these follow image geometry, well, sort of, and that's part of the charm. Maybe the Snakes follow the geometry, and maybe they follow their own tails. Dots. Schmots. I like them snakes anyway.
The Hedcut Filter goes about its business in three phases. Phase One entails Feature Extraction. The filter tries to extract as many sharp transition edges as possible from a given image. It will pick up some edges; maybe pick up some noise too. Phase Two entails plotting offset lines from the extracted features. Go run Contours → Edges Offset by David Tschumperlé (Ronounours) and see what I mean. The Third phase entails running Spectral Filters → Bandpass over the extracted features with offset curves, a low pass filter, which generates an interference pattern: The Snakes. Add the Snakes to the Image and Threshold. Done.
Details. Yes. I've left some out. All that will be packaged up in a Beginners Cookbook dissecting the G'MIC command -hedcut, which encapsulates the logic and can do everything mentioned here from the command line without the paint program overhead. So let's mention everything here:
The first item to choose is Pattern Size. If you are just exploring, leave this at the smallest value. If you wish to have patterns smaller than the smallest setting on the filter, consider enlarging your image as a pre-step, then scaling it back down again in post. You may set a larger pattern, but you will find that it becomes harder to set Contrast and Luminance level as the pattern gets larger.
With the pattern size chosen, do a trial run at default settings and contemplate the results. set Contrast and Luminance Levels, then run another trial. Iterate until you are satisfied. Technically (if that means anything) the "Ideal Settings" will give you mere black-on-white hairline patterns in the highlights, and mere white-on-black hairline patterns in the shadows. Play with Contrast an Luminance levels until you reach that state or whatever state you are reaching after.
With luminance and contrast chosen, experiment with Pattern Smoothing and Pattern Step. If you want the pattern to trace the image geometry, set both Pattern Smoothing and Step to large values. Otherwise set them to smaller values, which tend to turbulence patterns. Try not to treat these pair as ganged controls. Each affects pattern details but in different ways. These two controls are worth the experimentation.
Garry Osgood