jacquesdurden / yawtb

YAWTB : Yet Another Wavelet ToolBox
GNU General Public License v2.0
8 stars 4 forks source link

Welcome to the Yet Another Wavelet toolbox.

YAWtb

Introduction

This archive contains the code of the YAWtb toolbox. The purpose of this toolbox is to implement in Matlab:

This toolbox was under active development till about 2010 but it is no longer developed. The onlly purpose of this GitHub repository is to keep an accessible archive of the YAWtb, for instance, for possible analysis, forks, or porting into another numerical programming language (such as Python or Julia).

Documentation

If you want to know more about the content and purpose of this Matlab toolbox, you can have a look to the following documents:

You wanna help?

This toolbox should ideally be ported to Python, which is more flexible than Matlab and interfaces more naturally with the C files required for instance by the spherical wavelet transform. However, none of the toolbox's authors have time anymore to make this transfer. If you want to help, feel free to contact Laurent Jacques for more information.

License

This toolbox and all its files are provided under the "GNU GENERAL PUBLIC LICENSE, Version 2, June 1991". See this file for more information.

Warnings

This repository contains the version 0.1.1 of the YAWtb. It was still an unstable version and a lot of work had to be done especially on the documentation (use YAWtb at your own, rather limited, risk).

Requirements

The YAWtb worked for Matlab versions greater than 5 and was developped onto the 6th. It's not sure that this toolbox still works with recent version of Matlab.

Installation

In the sequel, the >> symbols represents the Matlab prompt.

Follow these steps to install the YAWtb Matlab toolbox,

  1. Unpack YAWtb where you want (say the <YAWTBDIR> directory for simplicity);

  2. Compile all the YAWtb mexfiles (provided that your mex matlab script is well configured) with the yamake utility:

    >> cd <YAWTBDIR>
    >> yamake

    (and for a more explicit compilation >> yamake debug)

Remark: If you have Microsoft Windows (9x, 2000, XP, ...), it seems that the native Matlab compiler, and also this of Windows, are not able to compile correctly the yawtb C code (e.g. cwtsph stuff). Use instead the free compiler of Borland available at http://www.borland.com (need a simple registration) and configure Matlab in function (run 'mex -setup' and read the Borland compiler FAQ and doc).

  1. Run yaload in Matlab to load the whole YAWtb path:

    >> cd <YAWTBDIR>
    >> yaload
  2. Add the following lines to a matlab startup file, either the general one (matlabrc.m) located in MATLABDIR/toolbox/local, or the local startup file (startup.m) somewhere in your home dir (see matlab doc):

    %% YAWtb installation
    olddir=pwd;
    cd <YAWTBDIR>
    yaload;
    cd(olddir);
    clear olddir;
  3. Enjoy of YAWtb !

TODO List

Here is the TODO list of things to improve, create, delete inside the YAWtb project:

Toolbox directory tree

Here is the current explanation of the yawtb tree

===
yawtb (=>:directories, ->:files)
|
|-> AUTHORS               /* GPL file */
|-> COPYING               /* GPL file */
|-> yaload.m              /* yawtb startup file (addpath, etc ...) */
|-> yamake.m              /* compilations of the yawtb mexfiles */
|
|=> doc                   /* Documentation */
|   |=> html
|   |=> ps
|   |=> ascii
|   `=> tex
|
|=> continuous            /* All the continuous transfrom */
|   |=> 1d                /* 1D CWT */ 
|   |=> 2d                /* 2D CWT */
|   |=> 1dt               /* 1D+T CWT (spatio-temporal) */ 
|   `=> sphere            /* Spherical CWT */
|
|=> discrete
|   |=> packet            /* Wavelet Packets in 1d and 2d */
|   |   |=> 1d      
|   |   `=> 2d            
|   |=> matchp            /* matching pursuit  */
|   |=> laplacian
|   `=> ortho             /* orthogonal wavelet */              
|
|=> frames                /* Wavelet Frames */
|   |=> 1d      
|   |=> 2d            
|   `=> sphere
|
|=> include               /* Directories for storing general usage
|                            C-File that may be useful for many
|=> interfaces            /* Various interfaces to external (GPL) program
|   `=> spharmonickit     /* Interface to the SpharmonicKit */
|
|=> lib                   /* MEX-File */
|
|=> src
|   
|=> tools
|   |=> display           /* universal display function (yashow.m) */
|   |=> misc              /* various utils (vect, noising, thresholding, ...) */
|   |=> cmap              /* various colormap needed by som yawtb functions (e.g. rgray, ...) */
|   |=> devel             /* The developper corner (see README inside) */
|   `=> io                /* Input/Output scripts (like pgm read & write) */
|
|=> demos                 /* some demo of yawtb */
|   `=> denoising
|   |=> 1d            /* Various techniques related to signal denoising */  
|   |=> 2d            /* Various techniques related to image denoising */
|   `=> sphere        /* Various techniques related to spherical denoising */
|
`=> samples               /* samples for the different WT */                
    |=> 1d         
    |=> 2d
    |=> 1dt 
    `=> sphere  

Authors (alphabetical order)

News

Acknowledgements

The YAWtb team want to thank you the following persons for their kind contributions to the toolbox :