5.0

5.0 | 2 ratings Rate this file 28 Downloads (last 30 days) File Size: 718 KB File ID: #29502
image thumbnail

Toolbox Alpert Transform

by

 

The Alpert transform is a multiwavelets transform based on orthogonal polynomials.

| Watch this File

File Information
Description

The Alpert transform is a multiwavelets transform based on orthogonal polynomials. It was originally designed for the resolution of partial differential and integral equations, since it avoids boundary artifact and can be used with an arbitrary sampling.

The reference for the numerical algorithm:

Bradley K. Alpert, Wavelets and Other Bases for Fast Numerical Linear Algebra, in Wavelets: A Tutorial in Theory and Applications, C. K. Chui, editor, Academic Press, New York, 1992.
And more theoretical (continuous setting):

B.K. Alpert, A class of bases in L^2 for the sparse representatiion of integral operators, in SIAM J. Math. Anal., 24 (1993), 246-262.
The strengh of this transform is that you can transform data sampled irregularly. Of course this algorithm runs in linear time, i.e. O(n). The use of multiwavelets remove any boundary artifact (which are common with wavelet of support > 1, e.g. Daubechies wavelets), but the price to pay is that the wavelets functions are not continuous, they look like the Haar basis functions. So do not use this transform to compress data that will be seen by human eyes (although the reconstruction error can be very low, the reconstructed function can have some ugly steps-like artifacts).

In this toolbox, you can transform a signal (1D, 2D, nD) with arbitrary length and arbitrary sampling (you must each time provide sampling locations in a parameter pos).

The number of vanishing moments (which is also the degree of the polynomial approximation+1) is set via the parameter 'k' (default=3). You can provide different numbers of vanishing moments for X and Y axis, using k=[kx,ky] (default k=[3,3]).

Dichotomic Grouping Functions: All the transforms require to recursively split the data. For each transform a default splitting rule is used, but you can provide your own partition via a parameter part. The way you split the data (isotropicaly, using a prefered direction, etc) will lead to various behaviour for the transform (of course this is relevant for 2D transform only, since the splitting rule in 1D is always the same). The function to perform an automatic grouping is 'dichotomic_grouping' (it can provide orthogonal split along the axis or isotropic using k-means)

MATLAB release MATLAB 7.11 (R2010b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (2)
06 Dec 2012 Charles Nelatury

Thanks

23 Nov 2010 Michael Chan

You are amazing. I believe you will be the next upcoming Prof Mallat or Prof Meyer.

Contact us