I do not agree with the policy of the authors of Numerical Recipes prohibiting redistribution of the source code for the Numerical Recipes algorithms. With most numerical algorithm code, including wavelet algorithms, the hard part is understanding the mathematics behind the algorithm. There is not that much "intellectual property" in the source code. In contrast to the Numerical Recipes code, you may use the wavelet code published here for what ever purpose you desire, including redistribution in source form. All I ask is that you credit me with authorship.
I recommend using the "save as" feature of your browser to save the C++ and Java source files (I'm not sure how to reliably suppress viewing and force download with all browsers).
The Daubechies D4 algorithm as a C++ class
The Daubechies D4 algorithm as a Java class
The tar file daubechies.tar below contains three files:
This version of the Lifting Scheme Daubechies D4 transform is modeled on the C code in Ripples in Mathematics, but without the temporaries. All lifting steps are included in a single transform step.
The Java lift package contains a number of Lifting Scheme algorithms, including the Daubechies D4 transform. The liftbase class is an abstract class that defines the basic structure of the lifting scheme algorithm. This class provides the split and merge functions, which all lifting scheme wavelets use.
The Lifting Scheme version of the Daubechies D4 transform described in Ripples in Mathematics. This class is derived from the liftbase abstract class.
Ian Kaplan, July 2001
Revised: November 2001