Sunday, October 9, 2011

Wavelab with GNU Octave

GNU Octave is the Free Software used for mathematical computation. With an extensive support for versatile library functions, and code compatibility with Matlab, GNU Octave is a sweet treat to every engineer and researcher.

Apart from the officially supported libraries and application toolboxes, GNU Octave also has abundant support and addons from extraneous efforts.

The Signal processing toolboxes, are exhaustive enough and consist of speech processing, image processing and video processing functionalities, which provide a common, stable and evolving platform for any of these domain specific applications.


Taking signal processing to the next level, when one is looking for some advanced signal processing functions, rendezvous with Wavelet Transforms is assured.


While GNU Octave does not officially, as yet , support a Wavelet Transform toolbox, the Wavelab toolbox from the Stanford University project works like a charm. With this extensive background to the toolbox itself, I present the procedure for incorporating this Wavelab toolbox with GNU Octave.
  • Unzip the archive; A folder Wavelab850 will be created with the contents of the toolbox
  • Create a directory /usr/toolbox to dump the Wavelab toolbox
sudo mkdir /usr/toolbox
  • Copy the unzipped contents to the location /usr/toolbox 
sudo cp -r Wavelab850 /usr/toolbox
  • To link the Wavelab library to GNU Octave, open the GNU Octave interpreter in the GNU/Linux terminal, and add the path of the previously added Wavelab850 directory, so that GNU Octave can fetch the Wavelab library files when the function call is made 
octave:2> addpath /usr/toolbox/Wavelab850
  • Now, invoke the functions from Wavelab by running the Wavelab file WavePath.m in the octave terminal, by just typing WavePath in the interpreter.
octave:2> WavePath
  • If the WaveLab has been invoked a welcome message as shown below would appear  

  • Now all the amazing Wavelab functions are available in GNU Octave! 
  • To take a stroll into WaveLab, type WTBrowser. "Chapter 2 Fourier Kingdom" is something every science enthusiast must look into and understand! 

  • Further one particluar example code I was deeply impressed with is the 2-D analysis of synthetic objects ( like images). Type in toon0231 in the interpreter to have some pleasing revelations of Wavelet Transforms
octave:2> toon0231
 Happy Hacking, Happy Learning !
PS: In subsequent posts I will try to regress and give some more fundamental features of GNU Octave. 

3 comments:

  1. Do you by chance have installation instructions for Wavelab on Windows to work with Octave?

    ReplyDelete
    Replies
    1. Hi, I think this can help you, was written in Portuguese, but a translator is enough, with google translator to help: http://carlosdelfino.eti.br/matematica/wavelets/Wavelabs-install/

      Delete
  2. Thanks for the information, I was wondering if Wavelab was worth trying on Octave, and appreciate the tour and reference to "A Wavelet Tour of Signal Processing."

    ReplyDelete