LibWavelet: A library for using wavelets

LibWavelet is a library for working with wavelets to analyze and manipulate data. The library is written in C# for use with the .NET Core platform and has been tested to work on Ubuntu and Windows. The current implementation includes the 1D and 2D Haar wavelet transforms.


To apply a wavelet transform to your data, the data must first be contained in either a double[] or double[][] array (for 1D and 2D transforms, respectively). Then just pass the array to the constructor of the desired transform and then call the .Forward() method on the resulting instance. This will modify the contents of the given array. Also, the lengths of the arrays must be a power of 2.

For example:

var myData = new double[] { 1, 2, 3, 4 };

var transform = new Haar1DTransform(myData);


And to transform the wavelet data back to its original domain:


Note that moving your data to and from the wavelet domain will introduce small differences due to floating point errors.

The LibWavelet project on GitHub contains more examples.

View the LibWavelet library on GitHub