Monday, May 10, 2010

Color Vision with ColorLookupTables

Any color correction can be expressed as a color look-up table (CLUT); a mechanism used in image processing to transform a range of input colors into output colors.  There are 16,777,216 colors available in the standard RGB color space.  One way of representing this data is to create an image containing 4096 x 4096 pixels — when arranged in a specific way, this image is called a Hald CLUT (see "Identity" for normal vision below).  Hald CLUTs are supported by ImageMagick, and GraphicsMagick.  Other possible uses would be to offload the data onto an FPGA or an ICC profile, thereby filtering the entire display.

The following images were created using Photoshop's PixelBender plugin and the Color Vision Library.  Google Chrome, and Safari were both fast enough to process this data without timing out, unfortunately, they don't allow right-click to save the <canvas> as a PNG.

Normal Vision

Simulate missing red-cone
Daltonize missing red-cone

Simulate missing green-cone
Daltonize missing green-cone

Simulate missing blue-cone
Daltonize missing blue-cone