GlitchSort

GlitchSort is a Processing application that uses interrupted pixel-sorting to create glitchy images. Since it has found an audience among glitch artists, I’m setting up this page as a point from which to download a current version and reference materials, as these become available. I’ll also post news or links to news about GlitchSort here.

GlitchSort 1.0b10, for Processing 2.0, is available as of June 7, 2013: GlitchSort_v01b10.zip. Processing 2.0 fixes the image memory leak that plagued previous releases. Note that GlitchSort for Processing 2.0 requires ControlP5 2.0.4, which is not bundled with the Processing application (it is bundled with the standalone applications).

There are bundled applications for Windows32, Windows64, MacOSX, Linux32 and Linux64: YMMV as far as running these. If you have Java installed, they should run, but I have only tested them on MacOS.

The bundled documentation is for version 0.1b8, but I describe new features below and in the source code.  Here is a higher resolution version of the manual (33M PDF) with much better image quality. The print version (60M PDF) offers the highest resolution, for printing. Online reference manual can be viewed here (1.6M PDF). Download or view the optimized high resolution version (33M PDF) here. Very high resolution print version (61.5M PDF) here.

GlitchSort2 Manual Cover

GlitchSort2 Manual Cover

Version 1.0b10 adds commands that use capital letters (shift key + key). These change the behavior of the save, revert, open and turn 90° commands. See the changes.txt file or comments in the code for details. 1.0b10 also allows you to set a percentage of zigzag sorting.

GlitchSort 1.0b9, the last version for Processing 1.5.1, is available here: GlitchSort_v01b9.

Version 1.0b9 revised the zigzag sorting by providing check boxes to set zigzag sorting to random angles, aligned angles,  or angles permuted in blocks of four. It also adds the scaledLowPass method, a low pass filter on each RGB channel with a different FFT block size (64, 32, 16) for each channel. The component order depends on current Component Sorting Order setting, when the RGB channels are used. If you are using HSB channels, a random RGB order will be selected.  Currently this command is only triggered by the ‘)’ (right parenthesis) key command. It works best when pixel dimension are multiples of 64. After it executes, you can immediately use the statistical FFT command (‘k’) to sharpen the image. Amazingly, most of the detail that was lost with the low pass filtering will be restored by the default statistical FFT setting (set by the command to operate on 16 x 16 pixel blocks). The command takes time to execute because it’s really a long series of commands bundled together. It was an experiment that proved very rich in the variety of images it could create. Here’s an example.

Version 1.0b8a fixed the denoise command to handle edge and corner pixels correctly, and changed the ‘_’ (underscore) hack to repeat the last command four times, with a 90 degree rotation between executions, when last command is in “gl<>9kjdGLKJD”.

Version 1.0b7, a substantial update, supported Fast Fourier Transforms on images. It also saves JPEGs using current Java libraries, instead of the deprecated com.sun.image.codec.jpeg. Version 1.0b8 fixes a bug in the audify command, and adds a “denoise” filter and spatial shifting of color channels: that was enough to justify the new version number. I discussed GlitchSort version 1.0b7 pre-release on December 7, at a Share Session at GLi.TC/H.

Version 01b5, released on August 23, 2012, was the first public release named  “GlitchSort” instead of “GlitchSort2.” Version 01b5 provided a new sorting tool that operates on zigzag-scanned blocks of pixels using any of the available algorithms, and a color quantizing tool.

Version 1.0b4, released on August 1, 2012, offered four different sorting algorithms, each of which has a different behavior that can be used to affect images in different ways. It added the “munge” feature that does glitchy compositing, and the “degrade” command that uses JPEG compression to degrade an image.

My own images created with GlitchSort can be found at http://www.flickr.com/photos/ignotus/sets/72157629445337238/.

Jack Koo

Hi this is Jack. I’m an intern at Ignotus Editions. This blog will help me keep track of what I’ve done!

 

Jan 27, Friday 10am-4    | Nozzle Check, Color Calibration, Printer Operations.

First day at Ignotus. My first surprise working with Paul Hertz is how much better color looked on print than on the screen. We set up the printer to clean the nozzles since Paul had been in Spain and we don’t want clogged nozzles. Printers need to be constantly in use to prevent the nozzles from being clogged up by dry paint. After the nozzles were cleaned, we went over basic concepts of Color Workflow. We calibrated the the monitor with colormunki to make sure the prints color looked almost identical to the monitor. Then we went over some basic steps to operating the digital printer. Loading/unloading paper, loading unloading inc, printer settings, printing etc.

 

Jan 31, Tuesday 10am-3    | Packaging Paper, Image Processing.

We were preparing for the opening of QuadCore exhibition. Learnt about packaging paper for transport. As always, Paul is very delicate with the paper. Each print has paper layered between to prevent friction damage. The paper is then put into a plastic bag to prevent rain damage, and then put into a hard cardboard case. Paul got called that he couldn’t install that day, so we went over Image Processing. Raw photo files had a lot of information that we could pull out and show details in monotone sections of the photo that we can pull out. We also sharpened areas for clearer print, and got rid of camera artifacts.

 

Feb 1, Wednesday 6pm-9    | Java Syntax, Eclipse Functions, Swing Layouts.

Paul wanted me to learn Java for the collage web application that he’s been planning to make. I’m very familiar with C++ and Processing, which made java a breeze to learn. I learnt about basic syntax, eclipse functions, and swing layouts.

 

Feb 3, Friday 8:30am-4    | Transporting Paper, Installing Prints.

Preparing more prints and transporting it to the QuadCore exhibition for installation. We printed an extra print to take to the exhibition (You should print daily to ensure nozzle hygiene). At the gallery we measured the space we had and calculated how many prints would fit with reasonable margins. The 36 inch print in the middle almost took three people to set up. Two people needed to hold it, and on person had to snap the magnets to the screws that we inserted into the walls.

Lens Distortion and Perspective Correction

A review of PTLens, lens distortion correction software for Windows and Mac OS, with further notes on correction in Photoshop and Bridge CS4.

PTLens uses a database of lens characteristics for correcting barrel, pincushion, and complex distortion caused by lenses. It also provides tools for correcting perspective distortion and chromatic aberration. The lens distortion correction, in my brief test, proved markedly better than what I could achieve with Photoshop. I used the Photoshop plug-in (the software also provides a standalone application and a plug-in for shift lenses): it identified my lens and focal length and applied an automatic correction. Although I could have tweaked the correction, it turned out to be as close to spot-on as I could detect.

PTLens does have one drawback: it presents as a preview a scaled-down image in its dialog box. Photoshop does the same–neither tool lets you preview in the image itself–but Photoshop’s Lens Correction tool permits you to zoom in over a comparatively large image. PTLens can zoom, though only for chromatic aberration, apparently, and it provides a small area to preview. This makes PTLens decidedly awkward to work with if you need to see zoomed in views. PTLens does provide a grid, which facilitates distortion, perspective, and rotation corrections, but even for these more global corrections, a larger zoomable image than PTLens provides can be handy. For its modest price, PTLens provides some excellent functionality, from what I can tell on first impression, but its limitations mean that you will still use Photoshop’s tools for some corrections.

Comparing PTLens with Photoshop

Photoshop correction on the left, PTLens on right

The above images were corrected for lens distortion. The PS example used the Filter > Distort > Lens Correction tool, with distortion, perspective and rotation corrections. For the PTLens example, distortion was corrected with PTLens and perspective, rotation, and warping corrections were applied in Photoshop. The image was shot at 18mm with a Nikon 18-200mm f/3/5-5.6 zoom lens, Nikon D300 body.

In Photoshop, it proved very difficult to get the precise correction, and I think this shows in the comparison. Quite possibly, the distortion had both barrel and pincushion distortion–common in wide angle lenses, according to the PTLens web site. Photoshop can’t correct such “complex” distortion; PTLens can. The combination of corrections in Photoshop also warped the image considerably, more than occurred with PTLens. I cropped the Photoshop image to remove warped edges. The PTLens image, after minor perspective and rotation correction, was easy to correct with the Edit > Transform > Warp tool. The Perspective correction had scaled the image down in the lower portion. Applying the warp transformation only on the lower portion distorted only the garden. Because the garden has no straight lines, the distortion isn’t even noticeable.

By the way, for chromatic aberration correction, if you are using RAW images, the best tool in my pack is Adobe Bridge. Photoshop’s correction is less fine-tuned. It’s a good idea to correct chromatic aberration before you even begin working in Photoshop.

Update: Much of the functionality offered by PTLens is now built into Adobe Bridge CS5, and I assume by extension to other Adobe Products.

Mushroom Duotones

Posted a few duotone images of mushrooms to Flickr. Didn’t mean to spend this morning making these images, but when you get the right subject matter, there is an eerie presence to toned images: Maybe it’s the intersection of image qualities that recall old photography and emulsions hand-coated onto paper coupled with high tech display and printing—or maybe the mushrooms (just shitakes) have an effect on me.

This tutorial on duotones over at Luminous Landscape was useful.

Lab Enhancements

Using Photoshop’s Lab color mode, you can perform a number of simple image enhancements. For some of these enhancements there are similar RGB operations; however, the results are subtly (and sometimes not-so-subtly) different. The international standard L*a*b* color space from which the Lab mode in Photoshop was derived was constructed to capture the range of human vision. It was based on statistical evaluations of the range of color vision (the “a” and “b” channels)  and of just-perceptible differences in brightness (the Lightness channel).

Several techniques are illustrated by Photoshop actions that you can download. Explanations and a few tips on how to perform the actions manually follow.

Continue reading ‘Lab Enhancements’

Lab Lightness

Lab color mode can be used for brightness, contrast, and color enhancements in somewhat different ways than RGB mode. Where RGB mode provides a composite channel (RGB) that is composed of red, green and blue channels, Lab mode provides a composite channel (Lab) that is a composite of Lightness, “a” and “b.” The a and b channels encode the color information, while the Lightness channel, as it name suggests, encodes the grayscale values.

Image of a man, showing Lab and lightness channels

Sample image with Lab and lightness channels

Continue reading ‘Lab Lightness’

Night Noise

You can reduce the noise in low light photography by taking multiple images and merging them to extract the statistical mean or median value. These statistical operations are available in Photoshop’s Layers > Smart Objects > Stack Mode menu. Here is a clear example of the effects of the mean and median operations on a stack of four similar images.

three images showing noise reduction by mean and median operations

Original, mean, and median images compared

The leftmost image is one of four similar images that were stacked into a smart object. In the middle image, the mean value (average) of the four images is used as the value of at each pixel position. In the right image, the median value (midpoint of the range of values) is used. You can find the full median image here.

The noise reduction is pretty dramatic (you’ll have to click on the image and view it full size to see what I mean). I find the mean image somewhat smoother, visually, than the median image, but the median image has some advantages over the mean.

A man in a yellow rainjacket walked across the view while I was shooting. You can see four images of him in the mean image: logically, one fourth of the pixels  in the stack at those points belonged to the moving man, so he has a ghostly presence. In the median image, he has practically disappeared: the influence of details or noise that appear in only one of the images is much less marked than in the mean image. The median operation is particularly useful for removing momentary details from a statistical composite.

Of course, the reason the original images were so noisy is that I was shooting hand-held at a high ISO (1600). If I had used a tripod and lower ISO with time exposure, I would not have had to resort to statistical operations for noise reduction. Knowing that the image would be noisy, I shot multiple images and used Photoshop’s File > Automate > Photomerge… command to position the images in layers. Details of how to do this can be found in an earlier post, Statistical Blending.

Layered Contrast

Here is a Photoshop technique for contrast that uses layers, one for the lights and one for the darks. Contrast can be adjusted with many commands in Photoshop: Brightness/Contrast, Levels, Curves, Exposure, to name a few. Layered contrast provides certain kinds of control you can’t achieve with the other commands. I’ll describe it step by step for you, by way of explanation, and also provide a downloadable action.

Continue reading ‘Layered Contrast’

High Pass Enhancements

Photoshop’s high pass filter can be used with layers to achieve some very useful image enhancements. This post discusses how to increase or decrease contrast along object edges and provides a few downloadable PS Actions. High pass edge contrast enhancement is a standard trick for adding “punch” to images: you probably see it all the time without even realizing it. Edge contrast reduction is a logical consequence of edge enhancement. It could be used as a “softening” filter, but probably qualifies as an “effect,” since it runs counter to expectations for good images. In other words, it’s just waiting for someone to exploit its potential.

Continue reading ‘High Pass Enhancements’