Version Notes ============= 1.13 31 October 03 Cleaned up documentation in src. Made libraries and test programs ANSI C++ compliant. Added special cases to rasterops for alignment to word boundaries. Fixed pngio.c to work with most recent libpng (1.2.5). 1.12 30 June 03 Implemented border chain representation from a binary image, writes/reads a compressed version, and renders the original image back from the borders. Also writes outline file out in svg format. Number arrays (numa) and point arrays (pta) are also extended to 2nd level arrays (numaa, ptaa). Serialized I/O for boxa, pta, and pixa. 1.11 31 May 03 Implemented generic list handling, for doubly-linked list cons cells and arbitrary objects. 1.10 14 Apr 03 Implemented simple image enhancements in gray and color: gamma correction, contrast enhancement, unsharp masking. Extended smoothing via block convolution to color. Implemented auto-gen'd DWA version of hit-miss transform; the code for generating these hmt routines is very similar to that for DWA auto-gen'd erosion and dilation. 1.9 28 Feb 03 Implemented a safe, expandable byte queue. As an example of its use, implemented memory-to-memory compression and decompression using zlib. Generalized PS write to include RGB color. Implemented a method to find image skew. 1.8 31 Jan 03 Implemented a simple 1-pass color quantization with dithering, and improved the 2-pass octree color quantization. Documented with an application page, that includes jbig2. Added new general sampling operations and made a table that summarizes the available scaling operations. 1.7 31 Dec 02 Added pixHtmlViewer(), a formatter that allows portable viewing of a set of images (like a slide show) in a browser. Implemented better octree color quantization, with variable number of colors, pruning the octree for good color clusters, and fast traversal for pixel assignment to colormap. 1.6 30 Nov 02 Generalized shear and shear rotation to arbitrary locations about which the operation is performed. Implemented in-place translation using pixRasteropIP(). Implemented arbitrary affine transform of image two ways: pointwise and sequential. Added binarization by error diffusion. Added simple color quantization by octree. 1.5 31 Oct 02 Put jpeglib.h in local directory. This, along with the jmorecfg.h file there prevents compiler warnings about redefined typedefs. Compiled everything with g++ to make strictly ansi C compatible. Added interface gplotFromFile() for simple file-based plotting with gnuplot 3.7.2. Added functions to convert 2, 4 and 8 bpp color-mapped (i.e., palletted) images to 24 bpp color or 8 bpp grayscale. Added several jbig2 application cores that only require a simple wrapper to make into programs. 1.4 30 Sep 02 Added interface to gnuplot 3.7.2 and to x11 display of images. Added new functions with arrays of images for use in applications such as jbig2 encoders, along with a simple jbig2 implementation using either hausdorff or correlation scoring. Added centroid finder for images. For accessing image arrays from arrays of image arrays, added a "new reference" (NEW_REF) flag, with a ref count attached to the array. Added power-of-2 binary expansion and reduction. 1.3 30 Jun 02 Extended connected components to 8. Added morphological operations tophat and hdome, along with clipped arithmetic operators on grayscale images. Fixed memory error in rasteropGeneralLow() that was found using valgrind. Tested most operations with valgrind for memory errors. Replaced integer arrays with number arrays, to include floats. Added arithmetic functions on grayscale images. 1.2 30 May 02 Added connected component utility, stack utility, pix arrays, line drawing and seed filling. Binary reconstruction, both morphological and raster-oriented, are now supported for 4 and 8 connected fills. Added the distance function on binary images, grayscale reconstruction, and grayscale morphology using the Gil-Werman method. 1.1 30 Apr 02 Added orthogonal rotations, binary scaling, PS output, binary reconstruction, integer arrays, structuring element input/output. 1.0 25 Feb 02 Initial distribution, with rasterops, binary morphology (two implementations: rasterops and dwa), affine transforms (translation, shear, scaling, rotation), fast convolution, and basic i/o (BMP, PNG and JPEG).