JWave - Java implementation of a discrete fourier transform (DFT), a fast wavelet transform (FWT), and a wavelet packet transform (WPT) algorithm in 1-D, 2-D, and 3-D using normalized orthogonal (orthonormal) Haar, Daubechie, and Legendre wavelets