This is a program to read a binary color image file and convert it to a series of Lite-Britetm pages. The program is geared toward generating multi-page, large-format displays.
This version is a prototype, currently developed in the X-Windows (ViewKit( Motif)) implementation on Silicon Graphics IRIX 6.5. An effort is underway to port toLiteBrite to Apple's MacOS X (Darwin) and Linux.
The output of toLiteBrite consists of one or more pages in Adobe PostScript (V. 1.0) form. The user interface contains the option to direct the output pages directly to a printer.
When launched, toLiteBrite creates several windows: The source image window, the toLiteBrite Control GUI and the Lite-Britetm output preview window.
The science of the program is to convert a pixel, or group of pixels in the binary color source image to a pattern of Lite-Britetm pegs which will accurately render the image, when viewed from a distance.
The control interface allows the user to interactively adjust the number of Lite-Britetm pages into which the source image will be divided by using the Image Page Divisions slider. The source image window has drawn over the source image an outline of the page divisions. The currently previewed page is highlighted.
The color gamut defined by the eight Lite-Britetm pegs
(+ BLACK = 9) is a sparse sub-sampling of
RGB color space
To reproduce a binary RGB image in
Lite-Britetm pegs requires the program's color sampling
algorithm to dither between the closest peg values to the given color.
The toLiteBrite user interface includes a color editor window, to aid in matching the output Lite-Britetm page to the source image.
The color editor UI window is launched from the edit pulldown menu in the toLiteBrite Control GUI.
The range of values in the Gamma sliders may be a little less than obvious. The left-hand end (0.1), corresponds to an actual function newcolor = pow(oldColor, 4) (color to the 4th power), where 'color' is between 0 and 1. Neutral (no color modification) is the slider's middle, default value (5.0). newcolor = pow(oldColor, 1) The right-hand end (10.0) corresponds to an actual function newcolor = pow(oldColor, 1/4). The intent is to make this more intuitive in the MacOS X version.
The file pulldown menu in the toLiteBrite Control GUI contains open..., save..., print... and quit items. open... launches a file browser for selecting an input image file. save... and print... launch the same GUI, with options set to either save the output to a sequence of files per page or to pipe the equivalent to a series of printer jobs.
Part of the proposed project is to create a two-foot by four-foot, modular light box, containing a large-format perforated image plane, registered to the pages output by the software program. The artist proposes to create large murals in Lite-Britetm by assembling many of these modular units.
The prototype program on IRIX currently only reads Paul Haeberli's SGI/RGB format image files. GIF, JPEG, PNG, TIFF and X-PixMap (etc...) format image files are supported in the MacOS-X and Linux versions using ImageMagick.
The source image window is currently implemented in a glxMDraw widget. This is an X-Motif wrapper for Iris-GL, at the moment -- and it is largely unnecessary. It is only an historical artifact of having been derived from Paul Haeberli's ipaste, which pre-dated X.
The ports to Darwin (MacOS X) and Linux use the FastLight Toolkit (FlTk).
The printer interface is currently handled through the Unix lpr (CUPS) printer drivers, and assume the ultimate destination is a PostScript printer. Batch printing to non- PostScript printers can be done using Lemke's Graphic Converter.