Menu

Tree [db692a] master /
 History

HTTPS access


File Date Author Commit
 .ProjectCache 2005-04-08 herbert herbert [cd95e4] Added sniff data.
 .sniffdir 2005-04-08 herbert herbert [cd95e4] Added sniff data.
 WImage 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 WTools 2011-11-17 herbert herbert [08ec4e] Small extension to ImageComparison: the L_q-rel...
 Wave 2007-05-25 herbert herbert [4a8a32] Added WaveletTransform::highMax() method.
 debian 2012-02-04 Herbert Herbert [1807ba] files changed for ebian build
 images 2004-10-18 herbert herbert [c649da] initial
 latex 2004-10-18 herbert herbert [c649da] initial
 man 2004-12-08 herbert herbert [85c2fb] renamed histogram normalization to histogram eq...
 test 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 tools 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 .gitignore 2012-07-27 Herbert Herbert [8b1363] Added .gitignore.
 AviReader.cc 2007-08-07 herbert herbert [4607ff] Various bugfixes, added ImageResizer tool class...
 AviWriter.cc 2007-09-19 herbert herbert [f7c16b] Some syntax fixes for g++ 4.2 compatibility
 COPYING 2004-10-18 herbert herbert [c649da] initial
 COPYING.BSD 2021-01-13 Martin Dietze Martin Dietze [db692a] Added new, alternative BSD-2 license for the code.
 ChangeLog 2008-04-17 herbert herbert [9caf38] new version number, minor fixes to debianisation
 CoeffInformation.cc 2007-08-07 herbert herbert [4607ff] Various bugfixes, added ImageResizer tool class...
 ColorBuffer.cc 2009-04-13 herbert herbert [d4a775] Fixed critical bug in ColorImage, ColorVideo, C...
 ColorImage.cc 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 ColorVideo.cc 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 ColumnVector.cc 2005-08-10 herbert herbert [97bcec] adapted namespace stuff for openwatcom
 Doxyfile.in 2005-07-12 herbert herbert [127903] Fixed doxygen documentation.
 FileName.cc 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 Filter.cc 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 FullVector.cc 2005-08-10 herbert herbert [97bcec] adapted namespace stuff for openwatcom
 GreymapFile.cc 2005-08-10 herbert herbert [97bcec] adapted namespace stuff for openwatcom
 GreymapReader.cc 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 GreymapWriter.cc 2007-08-07 herbert herbert [4607ff] Various bugfixes, added ImageResizer tool class...
 Histogram.cc 2007-08-07 herbert herbert [4607ff] Various bugfixes, added ImageResizer tool class...
 INSTALL 2004-10-18 herbert herbert [c649da] initial
 INSTALL.W32 2005-03-29 herbert herbert [4d7288] clarified INSTALL files
 INSTALL.Watcomc 2005-08-15 herbert herbert [2ad3cf] Use ColorVideo::destroy() in ~ColorVideo(), fix...
 Image.cc 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 ImageArray.cc 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 ImageComparison.cc 2011-11-17 herbert herbert [08ec4e] Small extension to ImageComparison: the L_q-rel...
 ImageDenoiser.cc 2007-08-07 herbert herbert [4607ff] Various bugfixes, added ImageResizer tool class...
 ImageInformation.cc 2008-04-17 herbert herbert [a1d0ea] Optional support for using ImageMagick's Magick...
 ImageResizer.cc 2012-02-04 Herbert Herbert [1807ba] files changed for ebian build
 ImageVector.cc 2007-08-07 herbert herbert [4607ff] Various bugfixes, added ImageResizer tool class...
 JpgReader.cc 2009-05-29 herbert herbert [a0bab7] fixed out-of-bounds access in new fill function...
 JpgWriter.cc 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 MagickInter.cc 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 Makefile.in 2009-10-16 herbert herbert [5dbc09] graphics magick support added
 Makefile.mdd 2007-08-07 herbert herbert [4607ff] Various bugfixes, added ImageResizer tool class...
 Makefile.msc 2008-04-17 herbert herbert [a1d0ea] Optional support for using ImageMagick's Magick...
 Makefile.watcomc 2012-02-04 Herbert Herbert [fa7c29] New version in header and Watcom makefile.
 MirrorPosition.cc 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 NTree.cc 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 PeriodicPosition.cc 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 PfcReader.cc 2007-08-07 herbert herbert [4607ff] Various bugfixes, added ImageResizer tool class...
 PfcWriter.cc 2007-08-07 herbert herbert [4607ff] Various bugfixes, added ImageResizer tool class...
 PfgReader.cc 2007-08-07 herbert herbert [4607ff] Various bugfixes, added ImageResizer tool class...
 PfgWriter.cc 2007-08-07 herbert herbert [4607ff] Various bugfixes, added ImageResizer tool class...
 PgmReader.cc 2007-08-07 herbert herbert [4607ff] Various bugfixes, added ImageResizer tool class...
 PgmWriter.cc 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 PixmapFile.cc 2007-08-07 herbert herbert [4607ff] Various bugfixes, added ImageResizer tool class...
 PixmapReader.cc 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 PixmapWriter.cc 2007-08-07 herbert herbert [4607ff] Various bugfixes, added ImageResizer tool class...
 PpmReader.cc 2008-04-17 herbert herbert [a1d0ea] Optional support for using ImageMagick's Magick...
 PpmWriter.cc 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 PyramidTransform.cc 2008-04-17 herbert herbert [a1d0ea] Optional support for using ImageMagick's Magick...
 PyramidTree.cc 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 README 2004-10-18 herbert herbert [c649da] initial
 RawReader.cc 2007-08-07 herbert herbert [4607ff] Various bugfixes, added ImageResizer tool class...
 RawWriter.cc 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 RowVector.cc 2005-08-10 herbert herbert [97bcec] adapted namespace stuff for openwatcom
 StandardTransform.cc 2005-08-10 herbert herbert [97bcec] adapted namespace stuff for openwatcom
 StillImage.cc 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 TODO 2004-10-19 herbert herbert [ea3fbb] Added AviReader class, video2grey now working (...
 VectorPosition.cc 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 VidReader.cc 2007-08-07 herbert herbert [4607ff] Various bugfixes, added ImageResizer tool class...
 VidWriter.cc 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 VideoArray.cc 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 VideoFile.cc 2005-08-10 herbert herbert [97bcec] adapted namespace stuff for openwatcom
 VideoFrame.cc 2007-08-07 herbert herbert [4607ff] Various bugfixes, added ImageResizer tool class...
 VideoReader.cc 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 VideoWriter.cc 2007-08-07 herbert herbert [4607ff] Various bugfixes, added ImageResizer tool class...
 WImage.hh 2008-04-17 herbert herbert [a1d0ea] Optional support for using ImageMagick's Magick...
 WTools.hh 2005-07-12 herbert herbert [127903] Fixed doxygen documentation.
 Wave.hh 2005-07-12 herbert herbert [127903] Fixed doxygen documentation.
 Wavelet.cc 2008-04-17 herbert herbert [a1d0ea] Optional support for using ImageMagick's Magick...
 WaveletTransform.cc 2007-05-25 herbert herbert [4a8a32] Added WaveletTransform::highMax() method.
 avilib.c 2009-10-19 herbert herbert [b9e9a9] Ubuntu fixes, repaired check for GraphicsMagick...
 avilib.h 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 config.guess 2012-02-04 Herbert Herbert [1807ba] files changed for ebian build
 config.sub 2012-02-04 Herbert Herbert [1807ba] files changed for ebian build
 configure 2012-07-27 Herbert Herbert [ed4300] Added option to disable ImageMagick support in ...
 configure.in 2012-07-27 Herbert Herbert [ed4300] Added option to disable ImageMagick support in ...
 debug.cc 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 do_configure 2012-02-04 Herbert Herbert [870c2d] Two configure wrapper scripts.
 do_configure.macos-x 2012-02-04 Herbert Herbert [870c2d] Two configure wrapper scripts.
 install-sh 2004-10-18 herbert herbert [c649da] initial
 ppmlib.cc 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 ppmlib.h 2005-07-12 herbert herbert [127903] Fixed doxygen documentation.
 tools.cc 2012-02-04 Herbert Herbert [1fdf80] Numerous compatibility changes for Open Watcom ...
 wave_version.h 2012-02-04 Herbert Herbert [fa7c29] New version in header and Watcom makefile.

Read Me

Wave - an Wavelet framework for images
======================================

The Wave classes include images, wavelets, two-dimensional wavelet
transforms, and a number of utilities, like file names and statistical
information on images.

The Wavelet-part has been largely inspired by Geoff Davis' Wavelet
toolkit, but it does a number of things differently (e.g. the Wavelet
transforms are strictly one-dimensional, so that two-dimensional
decomposition algorithms can be added easily).

Documentation-wise there is currently only the reference extracted
from the sources available. A users' guide will have to be there
someday, but this will have to wait at the moment. For getting an
idea about how to use the library I recommend taking a look at the
programs in the tools/ directory and generating a class hierarchy
diagram using whatever appropiate tool.

To build the library follow the (generic) instruction in the INSTALL
file. A self test can be performed using the `test' target ("make 
test"). The tested platforms are: Linux (g++ 2.95 and higher), IRIX
(SGI CC), Win32 (MSC 6.0 and cygwin g++ 2.95 and higher), OS/2 
(OpenWatcom with STLPort).


Programming Interfaces
======================

The library is divided into three subpackages: `WImage' (images and 
some basic type definitions etc.), `Wave' (Wavelet transforms) and
`WTools' (image-related tools, some using Wavelet transforms).

For each subpackage there is a header file which should be included
for using the library: `WImage.hh' (image stuff only), `Wave.hh'
(image and Wavelet stuff) and `WTools.hh' (image, Wavelet and tools).


Features
========

Subpackage `WImage':

 Class `StillImage' (greyscale images):

  - Access to pixels using row/col tuples and absolute offsets
  - Max, min or average pixel value
  - Beautification of Wavelet-transformed image for saving in bitmap
    format
  - Comparison
  - Inner product
  - Normalization
  - PGM import and export
  - Clone, Cut and Paste, Sub-image
  - Resize, Shift
  - Row- and column-wise pixel access using `ReferenceVector' objects

 Class `ColorImage' (color images): 

  - Load and save color images (PPM and JPEG format)
  - Switch between color models RGB and YUV
  - Produce average greyscale image
  - Delegate any operation on greyscale images to its color channels


Subpackage `Wave':

 Class `WaveletTransform':

  - Analysis and Synthesis using a given number of steps
  - Produce subimage from a given subband channel (e.g. HL2)
  - Calculate the coordinates of a given subband channel
  - Fill a given subband channel


Subpackage `WTools':

 Class `Histogram':

  - Set deltas
  - Print the histogram values to stdout

 Class `ImageComparison':
 
  - Distance in MSE, PSNR, LQ, LQ^d
  - Difference Image

 Class `ImageInformation':

  - Max, min or average pixel value
  - Sort pixel values
  - Clone, Head, Tail operation
  - Standard deviation
  - Variance
  - Shuffle values

BUGS
====

When using some of the filters (Haar, Daub4, Daub6, Daub8, Villa3, 
Villa5) on images with side lengths which are not powers of two, 
the precision is far from satisfactory. This was inherited from 
Geoff Davis' Wavelet sources which show the same behaviour, and a 
cure to this has not yet been found.

THIS IS BETA SOFTWARE!
======================

The code has been in use for a while now and can thus be considered
fairly stable. Still it is of course not free of bugs! If you use 
this software you know what you are doing. I am not responsible for 
any damage it does to your system.

License
=======

This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.

This software is free software in terms of the GNU General Public
License which can be found in the COPYING file which is part of this 
package.


Author
======

  Herbert Martin Dietze <herbert@spamcop.net>


Homepage:

  http://herbert.the-little-red-haired-girl.org/en/software/wavelet