libxlg is the result of a computer science course on the topic of digital image manipulation algorithms in Java in August 2003 at the XLAB Göttingen. Nothing extraordinary, just basic algorithms to experiment with.

The worst thing that could happen in this course was that it was designed to use Java as programming language. Really none of the participants knew Java, only C-style basics (which helped a lot anyway), it was just a matter of implementing the algorithms in Java. A "picture" class was already programmed in the past, however since Java is too cumbersome to work with, I just wrote a quick implementation in C, and made it a command-line tool to read and write PPM files, which could then be displayed using xv.

Since others will probably also take part in this course some day, and I am pretty sure they do not know all of Java either, I provide the established codebase, especially the picture handling, which cost me about 2 hours of the 3 days, as an aid.

This established code base, now known as libxlg currently has three parts: the picture handling XLG_pic, general filter handling XLG_flt and matrix storage XLG_matrix.

Matrices were about half of the whole course, so this got its own chapter. The library is very flexible in that about anything can be used interchangeably.