Fresnelab: Multiresolution Fresnel transform for Matlab
A Fresnel transform Matlab Package written by M. Liebling and N. Chacko
(b) its discrete equivalent when the ratio of the second to the first sampling step is M and (c) its corresponding inverse framework for reconstruction. 
Introduction
This package provides several functions to compute the Fresnel(et) transform
of complex wavefronts, as described in [1].
For a given parameter τ, the continuous unitary Fresnel transform of a function f(x), x in R^{D} (D=1 or 2), is defined
as the convolution:
g(x) =( f * k_{τ} ) (x),
where the convolution kernel,
k_{τ}(x)=(1/τ)^{D} exp(i π (x/τ)^{2})
fresnelet_transform
is essentially a numerical implementation of the efficient multiresolution Fresnel transform algorithm elucidated in [1]. The Fresnelet transform computes inner products of the
function to transform with Fresnelets, wavelets that
result from the Fresnel transform of Bsplines.
A complete description of the algorithm and of some
applications can be found in [1].
A good starting point to explore these functions is 'demo_fresnelet_wt.m'
and the comments therein, and of course, the functions themselves.
Syntax
d=fresnelet_transform(c, tau, T)
d=fresnelet_transform(c, tau, T, m)
d=fresnelet_transform(c, tau, T, m, deg)
ct=inv_fresnelet_transform(d, tau, T)
ct=inv_fresnelet_transform(d, tau, T, m)
ct=inv_fresnelet_transform(d, tau, T, m, deg)
Description
fresnelet_transform(c, tau, T)
computes the Fresnelet
transform of f, with a parameter tau.
f contains the samples characterizing function f(x) and sampled
with a sampling step T. It assumes the same sampling
step for the transformed function and sinc
interpolation.
fresnelet_transform(c, tau, T, m)
computes the same as above, but the
sampling step on the transformed side is T' = mT. The
default is m=1
. If f has size N x M the output image
will be of size N/m x M/m.
fresnelet_transform(c,tau, T, m, deg)
computes the same as above, but
the degree of the used Fresnelets is given by deg
.
The default is deg=inf
.
inv_fresnelet_transform(d, tau, T, ...)
returns the leastsquare estimate of the input approximation coefficients from the output samples computed using fresnelet_transform
, where all parameters mean same as before.
Examples
1) Consider a onedimensional complex wave field in a reference plane, represented as a weighted sum (with associated weights, c, spaced apart by T1=1 and periodic by N=5 of Bspline functions (of degree=3).
The discrete samples of its Fresnel transform (with say tau=2.5) spaced apart by T2=1 may be computed using:
d=fresnelet_transform(c, 2.5, 1, 1, 3)
2) Fresnel transform being seperable, the concept may readily be extended to higher dimensions.
For any given parameter tau, discrete samples of the Fresnel transform of the image is obtained by,
d=0.1; lambda=632.8e9; tau=sqrt(lambda*d); T=10e6;
fres=fresnelet_transform(c,tau,T)


3) By changing the subsampling factor in a subsequent manner, a pyramidic structure may be obtained, as is depicted in 'demo_fresnelet_wt.m'.
4) The multiresolution version of the Fresnel transform described may be implemented using FRENELET_TRANSFORM and the fractional wavelet transform package written by Dr. Thierry Blu, available at http://bigwww.epfl.ch/demo/fractsplines/, to realize a multistage wavelet decomposition, as depicted in 'demo_fresnelet_wt.m'.
Going in the inverse direction, the original image may be reconstructed while retaining only a portion of the wavelet coefficients possessing the highest energy.
5% of the wavelet coefficients
Reference
[1] M. Liebling, T. Blu, M. Unser, "Fresnelets: new multiresolution wavelet bases for digital holography", IEEE Trans. Image Proc., vol. 12, no. 1, pp. 2943, January 2003.
Acknowledgements
Michael Liebling has written this library while a PhD student with Prof. Michael Unser at the Biomedical Imaging Group, EPFL. The program is based on code initially written by Thierry Blu. Further modifications and this page have been done by Nikhil Chacko at UCSB.
Download
By downloading this software from this site, you agree to the following terms and conditions.
Copyright © 2012 The Regents of the University of California. All rights reserved.
IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OF ANY KIND WHATSOEVER, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF HE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION IS PROVIDED "AS IS". THE COPYRIGHT HOLDER HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
If you publish results that are based on any of the functions included in the FRESNELAB distribution, I expect you to acknowledge our work by citing the following paper:
M. Liebling, T. Blu, M. Unser,
"Fresnelets: new multiresolution wavelet bases for
digital holography", IEEE Trans. Image Proc., vol. 12,
no. 1, pp. 2943, January 2003.
In that paper, you will also find the mathematical details concerning this algorithm.
Download:
Fresnelab v. 0.1.
Note: In order to function properly, Fresnelab requires the fractional wavelet transform package written by Thierry Blu, available at http://bigwww.epfl.ch/demo/fractsplines/ .
Feedback
Please send bug reports and comments about Fresnelab and this page to M. Liebling, but please understand that this software is provided "AS IS" and that I cannot provide any support.
Copyright
Copyright © 2012 Michael Liebling. All rights reserved.