The GIT System


  • The GIT Matrix Generator

    The current user interface

    Purely synthetic images lack at least two things that make paintings visually interesting: impasto and juxtaposition. Impasto is the texture of the paint as applied; as synthetic images are simply a bunch of numbers, they have no physical texture. Justaposition is the mixing of colors on the macroscopic scale, as in a Van Gogh brushstroke or Seraut's many colored dots. Obtaining impasto is alien to our entirely digital approach, but we can obtain juxtaposition; the GIT matrix generator is a tool for doing so.

    The basic idea is to put up a random scatter plot representing the color distribution for a continuous texture, and allow interactive variation of that distribution. The result is a 4 x 4 transfromation matrix which is loaded into a renderer, for use in the continuous procedural texture.

    "Pleiades" and the later "Slickrock" images represent my first artistic use of this tool. The resulting colors are, in my humble opinion, splendid! The large prints of the Slickrock images by Nash Editions are, at last, the kind of artworks I've always envisioned creating; I feel I've finally arrived as an artist.

    Myeong Lim, my first official grad student here at GWU, is doing most of the work on this project. He presented a technical sketch

  • GIT Filtering

    Myeong's GIT rendition of my photo of my wife Beth.
    Another texturing method.

    Another salient observation is that juxtaposition, as used by painters, is a two dimensional, image-plane phenomenon (as opposed to the the 3-D solid textures described above and below). Thus we reasoned that it might be profitable to devise a scheme or schemes to provide justaposiion in the image plane of digitized images.

    Our approach is abstruse: We apply principle components analysis (via the Hotelling transform) on a local area of the input image, to derive the GIT transformation matrix. (That matrix corresponds to the eigenvectors and eigenvalues provided by the Hotelling transform.) We filter the input image, perturbing the original color by random samples of Gaussian distribution along those eigenvectors (in the rgb color space). We sometimes expand the image in the process, to preserve original image information. We then apply LIC (line integral convolution) based on the intensity gradients of a low-pass filtered version of the image, to smear the filtered image in an attempt to get a brush-stroke effect. The LIC can follow the gradient or go perpendicular to the gradient.

    At the time of this writing, this is very much work in progress. For the latest results, see Myeong's web page on the topic. Preliminary results show some promise, but we really need to do more work on the brush-stroke effects. (Help, Mr. Haberli!)

  • Random Color Textures

    An example of synthetic, procedural color juxtaposition

    In an independent approach I'm pursuing, we can generate juxtaposition in a procedural texture (which is entirely random, lacking the control exerted in the GIT scheme). The idea of the above image was to take the neutral grey background of the standard Web page and lend it visual interest through subtle color modulation. By design, the average color is exactly the neutral grey we started with.

    This texture is expensive, as it's a combination of multifractals, fractal domain perturbation, and a random fractal color-space rotation matrix. It's not too simple, but not extremely complex, in terms of implementation. I think the effect is pleasing; I hope that this approach will prove useful, artistically (though is seems that this is an image-plane problem, while all of my fancy textures work in world space; thus this may have to be used as an image-processing or post-processing procedure).

    A less subtle example of procedural color juxtaposition

    Here is the same texture with a darker base color and higher contrast. It shows the details of the color modulation more clearly.


    Last Change: March 6, 1996