Function: fwtinit
FWTINIT  Wavelet Filterbank Structure Initialization
  Usage:  w = fwtinit(wdef);
          w = fwtinit(wdef,prefix);
          [w,info]=fwtinit(...)

  Input parameters:
        wdef   : Wavelet filters specification.
        prefix : Function name prefix

  Output parameters:
        w    : Structure defining the filterbank.
  
  FWTINIT(wdef) produces a structure describing the analysis 
  (field w.h) and synthesis (field w.g) filterbanks and a hop factors 
  (field w.a) of a basic wavelet-type filterbank defined by wdef.

  The analysis filterbank w.h is by default used in FWT and the
  synthesis filterbank w.g in IFWT.

  Both w.h and w.g are cell arrays of structs defining FIR filters
  compatible with FILTERBANK, IFILTERBANK and related functions.
  More preciselly, each elemement of either cell array is a struct with
  fields .h and .offset defining impulse response and the initial 
  shift respectivelly.
  
  [w,info]=FWTINIT(...) additionally returns a info struct which 
  provides some information about the wavelet filterbank:

     info.istight
        Wavelet filterbank forms a tight frame. In such case, w.h and
        w.g are identical.

  The function is a wrapper for calling all the functions with the 
  wfilt_ prefix defined in the LTFAT wavelets directory.

  The possible formats of the wdef are the following:

  1) Cell array with first element being the name of the function defining
     the basic wavelet filters (wfilt_ prefix) and the other elements
     are the parameters of the function. 

  2) Character string as concatenation of the name of the wavelet
     filters defining function (as above) and the numeric parameters
     delimited by ':' character. Examples:

     {'db',10} or 'db10'   
        Daubechies with 10 vanishing moments. It calls wfilt_db(10) 
        internally.
     
     {'spline',4,4} or 'spline4:4'  
        Biorthogonal spline wavelet filters with 4 vanishing moments. 
        Calls wfilt_spline(4,4) internally.
     
     {'dden',1} or 'dden1'
        Double density wavelet filters. Calls wfilt_dden(1) where
        the filters are stored as numerical vectors.

  3) Cell array of one dimensional numerical vectors directly defining
     the wavelet filter impulse responses.  By default, outputs of the 
     filters are subsampled by a factor equal to the number of the 
     filters. Pass additional key-value pair 'a',a (still inside of the
     cell array) to define the custom subsampling factors, e.g.: 
     {h1,h2,'a',[2,2]}.

  4) The fourth option is to pass again the structure obtained from the
     FWTINIT function. The structure is checked whether it has a valid
     format.

  5) Two element cell array. First element is the string 'dual' and the
     second one is in format 1), 2) or 4). This returns a dual of whatever
     is passed as the second argument.

  6) Two element cell array. First element is the string 'strict' and the
     second one is in format 1), 2), 4) or 5). This in the non tight case
     the filters has to be defined explicitly using 'ana' and 'syn'
     identifiers. See below.

  7) Two element cell array. First element is a cell array of structures
     defining FIR filterbank (.h and .offset fields) as in FILTERBANKWIN
     and the second element is a numeric vector of subsampling factors.
  
  One can interchange the filter in w.h and w.g and use the
  filterbank indended for synthesis in FWT and vice versa by
  re-using the items 1) and 2) in the following way:

  1) Add 'ana' or 'syn' as the first element in the cell array e.g. 
     {'ana','spline',4,4} or {'syn','spline',4,4}.

  2) Add 'ana:' or 'syn:' to the beginning of the string e.g. 
     'ana:spline4:4' or 'syn:spline4:4'.

  This only makes difference if the filterbanks are biorthogonal 
  (e.g. wfilt_spline) or a general frame (e.g. 'symds2'), in other 
  cases, the analysis and synthesis filters are identical. 

  Please note that using e.g. c=fwt(f,'ana:spline4:4',J) and 
  fhat=ifwt(c,'ana:spline4:4',J,size(f,1)) will not give a perfect
  reconstruction.

  The output structure has the following additional field:

     w.origArgs 
         Original parameters in format 1).


  References:
    S. Mallat. A Wavelet Tour of Signal Processing, Third Edition: The
    Sparse Way. Academic Press, 3rd edition, 2008.
    
    

Url: http://ltfat.github.io/doc/wavelets/fwtinit.html

See also: fwt, ifwt, wfilt_db.

Package: ltfat