You are on page 1of 11

Some Software Toolboxes

WAVELAB and LASTWAVE Toolboxes


Numerical experimentations are necessary to fully understand the algorithms and theorems in this book. To avoid the painful programming of standard procedures, nearly all wavelet and time-frequency algorithms are available in the WAVELAB Package, programmed in MATLAB; WAVELAB is a freeware software that can be retrieved through the nternet. The correspondence between algorithms and !"#$%"& subroutines is explained in "ppendix "&. "ll computational figures can be reproduced as demos in WAVELAB' LASTWAVE is a wavelet signal and image processing environment, written in C for X11/Unix and Macintosh computers. This stand-alone freeware does not require any additional commercial package. t is also described in "ppendix "&. The textbook algorithms are implemented in WAVELAB and LASTWAVE which are freeware softwares that can be retrieved through the nternet. Nearly all the computational figures of the book are reproduced as demos. (ther freeware toolboxes are listed in )ection "&.*. Pointers to new software and information concerning the !avelet +igest newsletter is available at http,--www.wavelet.org . Here a recall: Section 1.5 (TRAVEL !"#E$

Reproducible Computational Science,


The book covers the whole spectrum from theorems on functions of continuous variables to fast discrete algorithms and their applications. )ection ..*.. argues that models based on continuous time functions give useful asymptotic results for understanding the behavior of discrete algorithms. /et, a mathematical analysis alone is often unable to predict fully the behavior and suitability of algorithms for specific signals. $xperiments are necessary and such experiments ought in principle be reproducible, 0ust like experiments in other fields of sciences. n recent years, the idea of reproducible algorithmic results has been championed by 1laerbout 234 in exploration geophysics. The goal of exploration seismology is to produce the highest possible quality image of the subsurface. Part of the scientific know-how involved includes appropriate parameter settings that lead to good results on real datasets. The reproducibility of experiments thus requires having the complete software and full source code for inspection, modification and application under varied parameter settings. #ono%o has advocated the reproducibility of algorithms in

wavelet signal processing, through the development of a !"#$%"& toolbox, which is a large library of &ATLAB routines.
[#] J Claerbout !"pertext documents about reproducible researc#$ %&&' http,--sepwww.stanford.edu .

He summarizes C aer!out"s insi#ht in a s o#an$ %&'$ An article about computational science in a scient(c publication is not t#e sc#olars#ip itsel)* it is merel" ad+ertisin, o) t#e sc#olars#ip T#e actual sc#olars#ip is t#e complete so)t-are en+ironment and t#e complete set o) instructions -#ic# ,enerated t#e )i,ures
%&' J B Buc.#eit and / L /ono#o Wa+elab and reproducible researc# 0n Wa+elets and Statistics( )a#es *+,-1. S)rin#er,Ver a#( Ber in( 1//*. A. Antonia0is an0 1. 2))enheim e0itors.

5ollowing this perspective, all wavelet and time-frequency tools presented in this book are available in !"#$%"&. The figures can be reproduced as demos and the source code is available. The %")T!"#$ package offers a similar library of wavelet related algorithm that are programmed in 1, with a user-friendly shell interface and graphics.

A''en(ix B:
Appendix B in t#e textboo. explains #o- to retrie+e t#ese toolboxes$ and relates t#eir subroutines to t#e al,orit#ms described in t#e boo.1 T%e )i*+re Demonstration:
The Wa+elab (irector, has a folder called !aveTour. t contains a subdirectory for each chapter 6!T1h7., !T1h78, . . . 9' these subdirectories include all the files needed to reproduce the computational figures. $ach directory has a demo file. 5or example, the figures of 1hapter : are reproduced by invoking the file !T1h7:+emo in 2ATLAB. " menu bar appears on the screen, listing all computational figures of 1hapter :. !hen a figure number is acti3ate0 !4 a mouse,c ic5, the calculations are reproduced and the resulting graphs are displayed in a separate window. The command window gives a narrative explaining the results. The file !T1h7:+emo.m is in the directory !T1h7:. The 2ATLAB source code that computes 6i#ure 7.X is in the file wt7:f ig;.m in that same directory. $quivalent names are used for all other chapters.

AB % WAVELAB
WAVELAB is a library of &ATLAB routines for wavelets and related timefrequency transforms. t is improved and maintained at )tanford <niversity by +avid +onoho with contributions to earlier versions by =ohn &uckheit, )haobing 1hen, ;iaoming >uo, ain =ohnstone, $ric ?olac@yk, =effrey )cargle, and Thomas /u 2A4. t requires buying &ATLAB which offers an interactive environment for numerical computations and visuali@ations. &ATLAB is a product of The Bathworks 1ompany based in Natick, Bassachusetts. The WAVELAB +ersion 3 (33 has more than C77 files including programs, data, documentation and scripts, which can be retrieved at, http,--www-stat.stanford.edu-Dwavelab.
%&' 8. B. Buc5heit an0 9. L. 9onoho. Wa3e a! an0 re)ro0uci! e research. :n Wa3e ets an0 Statistics( )a#es *+,-1. S)rin#er,Ver a#( Ber in( 1//*. A. Antonia0is an0 1. 2))enheim e0itors.

Versions are a3ai a! e ;or 4nix <or5stations( Linux( 2acintos#( an0 =C >Windo-s?. " partial list of directories inside Wa-eLab is provided 6in bol(9. 5or each directory, we give the names of the main computational subroutines, followed by the sections that describe the algorithms and the figures that use them.

T%e &ain .om'+tational S+bro+tines: #atasets )ynthetic and real signals.


Rea(Si*nal Eeads a )ignal from a data set of one-dimensional signals. 5igures :.F, G.F, C..H, H.H and H.... Rea("ma*e Eeads an mage from an image data set. 5igure H..7. &a/esi*nal Bakes a synthetic one-dimensional )ignal. 5igures 8.., :.*, :..:, :..*, :..C, G.*, G.G, H.., .7.., .7.I. &a/e"ma*e Bakes a synthetic mage. 5igure F.8G. &a/e0rocess Bakes a reali@ation of a stochastic Process. )ection .7.G.*. 5igure .7..H. &a/eBrownian Bakes a reali@ation of a fractional &rownian motion. )ection G.:.*. 5igure G.87. &a/ecantor Bakes a generali@ed 1antor measure. )ection G.:... 5igures G..G and G..C.

.ontin+o+s: 1ontinuous wavelet transform tools.


RWT Eeal !avelet Transform. )ections :.*.. and :.*.*. 5igures :.F, G.., G.*,

G.I, G.G, G..G and G.87. "RWT nverse Eeal !avelet Transform. )ections :.*.. and :.*.*. &&1RWT Bodulus Baxima of a Eeal !avelet Transform. )ection G.8. 5igures G.I, G.G, G.F, G..G and G.87. S/el&a' )keleton Bap of maxima curves. )ection G.8. 5igures G.I, G.G, G.F and G..G. AWT "nalytic !avelet Transform. )ections :.*.8 and :.*.*. 5igures :..., :..G and :..F. "AWT nverse "nalytic !avelet Transform. )ections :.*.8 and :.*.*. Ri(*e1AWT Eidges of an "nalytic !avelet Transform. )ection :.:.8. 5igures :..I, :..G and :..F.

)ractals 5ractal computations.


)rac0artition 5ractal Partition function based on wavelet modulus maxima. )ection G.:.8. 5igure G..C. )racScalEx' 5ractal )caling $xponent of the partition function. )ection G.:.8. 5igures G..C and G.87. )racSin*S'ect 5ractal )ingularity )pectrum. )ection G.:.8. 5igures G..C and G.87.

Time)re2+enc, Time-frequency distributions.


Win(ow)T !indowed 5ourier Transform. )ection :.8. 5igures :.*, :..* and :..:. "Win(ow)T nverse !indowed 5ourier Transform. )ections:.8.. and:.8.*. Ri(*e1Win(ow)T Eidges of a !indowed 5ourier Transform. )ection :.:... 5igures :..8,:..* and :..:. Wi*ner#ist !igner-#ille +istribution. )ections :.I.. and :.I.:. 5igures :..C and:..H. .o%en#ist 1ohen class time-frequency +istributions. )ections :.I.* and :.I.:. 5igures :.87 and :.8..

3rt%o*onal Periodic (rthogonal wavelet transforms.


)WT103 5orward !avelet Transform, Periodi@ed and (rthogonal. )ections

F.*.. and F.I... 5igures F.F and H.8. "WT103 nverse !avelet Transform, Periodi@ed and (rthogonal. )ections F.*.. and F.I... 5igure H.8. )WT1"3 5orward !avelet Transform, on the nterval and (rthogonal. )ections F.*.. and F.I.*. 5igure H.8. "WT1"3 nverse !avelet Transform, on the nterval and (rthogonal. )ections F.*.. and F.I.*. 5igure H.8. )WT4103 5orward !avelet Transform of images, Periodi@ed and (rthogonal. )ection F.F.*. 5igure F.8G. "WT4103 nverse !avelet Transform of images, Periodi@ed and (rthogonal. )ections F.F.*. &a/e35)ilter Bakes (rthogonal con0ugate mirror 5ilters for +aubechies, 1oiflets, )ymmlets, >aar and &attle-%emariJ wavelets. )ections F...* and F.8.*. 5igure F.:. &a/e3B)ilter Bakes (rthogonal &oundary con0ugate mirror 5ilters for 1ohen+aubechies-#ial wavelets. )ection F.I.*. &a/eWa-elet Bakes graph of orthogonal !avelets and scaling functions. )ectionF.*... 5iguresF.8, F.I, F.HandF..7. &e,er Beyer orthogonal and periodic wavelet transforms. )WT16& 5orward !avelet Transform with /ves Beyer wavelets. )ections F.8.8, C.:.8 and C.:.:. "WT16& nverse !avelet Transform with /ves Beyer wavelets. )ections F.8.8, C.:.8 and C.:.:. )WT416& 5orward !avelet Transform of images with /ves Beyer wavelets. )ections F.F.8, C.:.8 and C.:.:. "WT416& nverse !avelet Transform of images with /ves Beyer wavelets. )ections F.F.8, C.:.8 and C.:.:. Biort%o*onal &iorthogonal wavelet transforms. )WT10B 5orward !avelet Transform, Periodi@ed and &iorthogonal. )ections F.*.8 and F.:. "WT10B nverse !avelet Transform, Periodi@ed and &iorthogonal. )ections F.*.8 and F.:.

)WT410B 5orward !avelet Transform of images, Periodi@ed and &iorthogonal. )ection F.F.*. "WT410B nverse !avelet Transform of images, Periodi@ed and &iorthogonal. )ection F.F.*. &a/eBS)ilter Bakes perfect reconstruction &iorthogonal )yrmnetric5ilters. )ection F.:.*. &a/eBSWa-elet Bakes graph of &iorthogonal )ymmetric !avelets and scaling functions. 5igures F..: and F..I. "nter'olatin* Bultiscale interpolations. )WT1## 5orward interpolating !avelet Transform calculated with +eslauriers+ubuc filters. )ection F.G.8. "WT1## nverse interpolating !avelet Transform calculated with +eslauriers+ubuc filters. )ection F.G.8. "n-ariant Translation invariant wavelet transforms. )WT1ATro+ 5orward dyadic !avelet Transform calculated with the "lgorithme K Trous. )ection I.I. 5igures I.I and G.F. "WT1ATro+ nverse dyadic !avelet Transform calculated with the "lgorithme K Trous. )ections I.I and G.F. )WT1Stat 5orward dyadic !avelet Transform calculated with )tationary shifts of the signal. )ection .7.8.:. 5igures .7.: and .7.I. "WT1Stat nverse dyadic !avelet Transform calculated with )tationary shifts of the signal. )ection .7.8.:. 5igures .7.: and .7.I. &&1#WT Bodulus Baxima of a +yadic !avelet Transform. )ection G.8.8. 5igure G.F. "&&1#WT nverse reconstruction of signals from Bodulus Baxima of a +yadic !avelet Transform. )ection G.8.8. 5igure G.C. )WT41ATro+ 5orward dyadic !avelet Transform of images calculated with the "lgorithme K Trous. )ection G.*.8. 5igures G.H and G..7. &&41#WT Bodulus Baxima of an image +yadic !avelet Transform. )ection G.*.8. 5igures G.H and G..7. "&&41#WT nverse reconstruction of an image from Bodulus Baxima of a +yadic !avelet Transform. )ection G.*. 5igure G.. ..

0ac/ets &est wavelet packet and local cosine bases. 3ne7# 5or one-dimensional signals. W0To+r !avePacket tree decomposition and best basis selection. )ections C.. and H.:. 5igures C.G and C.C. &a/eWa-elet 0ac/et Bakes graph of !avepacket functions. )ection C... 5igures C.8 and C.:. .0To+r %ocal 1osine Packet tree decomposition and best basis selection. )ections C.I and H.:. 5igures C..H, H.H and H.... 8Lin.0 ?arhunen-%oLve basis estimation in a 1osine Packet tree. )ection .7.G.8. 5igure .7..H. Two7# 5or two-dimensional signals. W04To+r !avePacket 8-dimensional decomposition and best basis selection. )ections C.8 and H.:.8. .04To+r %ocal 1osine Packet 8-dimensional decomposition and best basis selection. )ections C.I.* and H.:.8. 5igures C.88 and H..7. 0+rs+it &asis and matching pursuits. W0B0+rs+itTo+r !avepacket dictionary for &asis Pursuits. )ection H.I... 5igure H.... .0B0+rs+itTo+r 1osine Packet dictionary for &asis Pursuits. )ection H.I... W0&0+rs+itTo+r !avepacket dictionary for Batching Pursuits. )ection H.I. 5igures H... and H..8. .0&0+rs+itTo+r 1osine Packet dictionary for Batching Pursuits. )ection H.I. abor0+rs+itTo+r Mabor dictionary for Batching Pursuits. )ection H.I.8. 5igures H...6b9 and H..8. #e5oisin* Eemoval of additive noises. T%res%Wa-e Thresholds orthogonal !avelet coefficients. )ection .7.8.:. 5igures .7.: and .7.I. T%res%Wa-e4 Thresholds orthogonal !avelet coefficients of images. )ection .7.8.:. 5igure .7.G.

T%res%W0 Thresholds coefficients of a best !avepacket basis. )ection .7.8.I. T%res%.0 Thresholds coefficients of a best 1osine Packet basis. )ection .7.8.I. 5igure .7.C. .o%Wa-e 1oherent threshold of orthogonal !avelet coefficients. )ection .7.I... 5igure .7..I.

AB 5 LASTWAVE
LASTWAVE is a wavelet signal and image processing environment, written in . for 91l:!nix and &acintos% computers. This stand-alone freeware does not require any additional commercial package, and can be retrieved through the nternet at, http,--wave.cmap.polytechnique.fr-soft-%ast!ave- . %")T!"#$ was created and is maintained by $mmanuel &acry, at Ncole Polytechnique in 5rance. t includes a command line language, and a high level ob0ect-oriented graphic language for displaying simple ob0ects 6buttons, strings, ...9 and more complex ones 6signals, images, wavelet transforms, time-frequency planes...9. The computational subroutines and commands are regrouped in independent packages. An extensive on-line documentation is available. New commands are added with the command language or as 1 subroutines. This software is rapidly evolving with packages provided by users across the nternet. The current contributors include &en0amin "udit, Meoff +avis, Nicolas +ecoster, =JrOme 5raleu, EJmi Mribonval, !en-%iang >wang, )tJphane Ballat, =ean 5ranPois Bu@y and )ifen Qhong. T#e )ollo-in, ,i+es a list o) current pac.a,es 6in bold7 -it# t#eir main computational commands$ and t#e sections t#e" relate to1 Si*nal )ection *.*. s= "rithmetic calculations over signals. fft 5orward and inverse fast 5ourier transforms. con- 5ast convolution. Wa-elet Transform (1($ )ections :.* and F.*. cwt 1ontinuous wavelet transform. owt(, owtr (rthogonal and biorthogonal wavelet transforms, forward and reverse. wt%res% !avelet coefficient thresholding.

Wa-elet Transform &axima (1($ )ection G.8. extrema; c%ain 1omputes the maxima of a continuous wavelet transform, and chains them through scales. Wa-elet Transform &o(+l+s &axima &et%o( (l($ )ection G.:. 'f 1omputes the partition functions and singularity spectra of multifractal signals. &atc%in* 0+rs+it )ections :.8 and H.I.8. stft( )hort time windowed 5ourier transform. m'; m'r Batching pursuit in a Mabor dictionary, forward and reverse. "ma*e )ection *.:. i< "rithmetic operations over images. 3rt%o*onal Wa-elet Transform (4($ )ection F.F.8. owt4(; owt4r (rthogonal and biorthogonal wavelet transforms of images, forward and reverse. #,a(ic Wa-elet Transform (4($ )ection G.*. (wt4(; (wt4r +yadic wavelet decomposition of images, forward and reverse. extrema4; extrecons4 1omputes the modulus maxima of a dyadic wavelet transform, and reconstructs the image from these maxima. c%ain4 1omputes the chains of modulus maxima corresponding to edges. (enoise4 +enoising by thresholding the chains of modulus maxima. .om'ression (4($ )ection ...:.8. co(e4; (eco(e4 mage compression with a wavelet transform code, and reconstruction of the coded image.

AB 8 9REEWARE WAVELET T::LB:;ES


!e give a partial list of freeware toolboxes for wavelet signal processing that can retrieved over the nternet. E&BE##E# "&A E .3&0RESS"35 is a .== software for wavelet image compression 6"mir )aid and !illiam Pearlman9, http,--ipl.rpi.edu-)P >T )RA.LAB is wavelet fractal analysis toolbox developed at NE " 61hristophe

1anus, Paulo MoncalvLs, &ertrand Muiheneuf and =acques %Jvy #Jhel9, http,--www-syntim.inria.fr-fractales- . &E AWAVE is a collection of command line 1 subroutines under <nix for wavelet, wavelet packet and local cosine processing, with sound and image processing applications 6=acques 5roment9, http,--www.ceremade.dauphine.fr-Dmw . R".E WAVELET T33LB39 is a wavelet B"T%"& toolbox with orthogonal and biorthogonal transforms and applications to denoising 6+)P group at Eice university9, http,--www-dsp.rice.edu-software-E!T . SWAVE is an S= tool box with continuous wavelet transforms and windowed 5ourier transforms, including detection of ridges 6EenJ 1armona, !en-%iang >wang and &runo TorrJani9, http,--chelsea.princeton.edu-Drcarmona-T5book- . T"&E7)RE>!E5. is a B"T%"& toolbox for the analysis of non-stationary signals with quadratic time-frequency distributions 65rancois "uger, Patrick 5landrin, (livier %emoine and Paulo MoncalvLs9, http,--www.physique.ens-lyon.fr-ts-tftb.html . 9WL; W0L"B; #E53"SE are libraries of subroutines that implement orthogonal signal decompositions in dictionaries of wavelet packet and local cosine bases, with applications to noise removal and signal compression 6wavelet group at /ale <niversity9, http,--pascal.math.yale.edu-pub-wavelets-software- . WAVELET T33LB39 "5 8H3R3S includes orthogonal and biorthogonal wavelet transforms for multidimensional signals 6=onio 1avalcanti and Eamiro =ordon9, http,--www.khoral.com-obtain-contrib.html .

T%e Useful References:


% A WAVELET T:4R :9 S0<=AL >R:CESS0=<$ Second Edition b" St@)hane Ma at Aco e =o 4techniBue( =aris; Courant :nstitute( Ce< Dor5 Uni3ersit4. 9au!echies( ETen Lectures on Wa+eletsF( S:AM( 1//+. G. Louis( =. Maass( A. Hie0er EWa+elets T#eor" and ApplicaitonsF( In0 e0.( 8ohn Wi e4( IJJI.

5 8

?. 5or %earning and teaching, formatted overhead transparencies with enlarged figures are available on the nternet, http,--www.cmap.polytechnique.fr-Dmallat-!avetourRfig-. 5. 5rancois 1haplais also offers an introductor" Web tour o) basic concepts in t#e boo. at, http,--cas.ensmp.fr-Dchaplais-!avetourRpresentation-. @. Wavelet Signal Processing courses in electrical engineering departments at MIT and Tel Aviv University, and in applied mathematics departments at the Courant Institute and Acole ol!te"#ni$ue (Paris) B. Computation o) t#e +ectors motion as a least s?uare solution o) t#ese -a+elet optical )lo- s"stems, /ou may see and compare your implementation with the &ATLAB co(e available at, %tt':::wa-e.crna'.'ol,tec%ni2+e.fr:soft:3):. C @ou ma" see problem %% %( pa,e A(&.