ivan@78: function [y,L] = mdwt(x,h,L); ivan@78: % [y,L] = mdwt(x,h,L); ivan@78: % ivan@78: % Function computes the discrete wavelet transform y for a 1D or 2D input ivan@78: % signal x using the scaling filter h. ivan@78: % ivan@78: % Input: ivan@78: % x : finite length 1D or 2D signal (implicitly periodized) ivan@78: % h : scaling filter ivan@78: % L : number of levels. In the case of a 1D signal, length(x) must be ivan@78: % divisible by 2^L; in the case of a 2D signal, the row and the ivan@78: % column dimension must be divisible by 2^L. If no argument is ivan@78: % specified, a full DWT is returned for maximal possible L. ivan@78: % ivan@78: % Output: ivan@78: % y : the wavelet transform of the signal ivan@78: % (see example to understand the coefficients) ivan@78: % L : number of decomposition levels ivan@78: % ivan@78: % 1D Example: ivan@78: % x = makesig('LinChirp',8); ivan@78: % h = daubcqf(4,'min'); ivan@78: % L = 2; ivan@78: % [y,L] = mdwt(x,h,L) ivan@78: % ivan@78: % 1D Example's output and explanation: ivan@78: % ivan@78: % y = [1.1097 0.8767 0.8204 -0.5201 -0.0339 0.1001 0.2201 -0.1401] ivan@78: % L = 2 ivan@78: % ivan@78: % The coefficients in output y are arranged as follows ivan@78: % ivan@78: % y(1) and y(2) : Scaling coefficients (lowest frequency) ivan@78: % y(3) and y(4) : Band pass wavelet coefficients ivan@78: % y(5) to y(8) : Finest scale wavelet coefficients (highest frequency) ivan@78: % ivan@78: % 2D Example: ivan@78: % ivan@78: % load test_image ivan@78: % h = daubcqf(4,'min'); ivan@78: % L = 1; ivan@78: % [y,L] = mdwt(test_image,h,L); ivan@78: % ivan@78: % 2D Example's output and explanation: ivan@78: % ivan@78: % The coefficients in y are arranged as follows. ivan@78: % ivan@78: % .------------------. ivan@78: % | | | ivan@78: % | 4 | 2 | ivan@78: % | | | ivan@78: % | L,L | H,L | ivan@78: % | | | ivan@78: % -------------------- ivan@78: % | | | ivan@78: % | 3 | 1 | ivan@78: % | | | ivan@78: % | L,H | H,H | ivan@78: % | | | ivan@78: % `------------------' ivan@78: % ivan@78: % where ivan@78: % 1 : High pass vertically and high pass horizontally ivan@78: % 2 : Low pass vertically and high pass horizontally ivan@78: % 3 : High pass vertically and low pass horizontally ivan@78: % 4 : Low pass vertically and Low pass horizontally ivan@78: % (scaling coefficients) ivan@78: % ivan@78: % ivan@78: % ivan@78: % ivan@78: % See also: midwt, mrdwt, mirdwt ivan@78: % ivan@78: ivan@78: %File Name: mdwt.m ivan@78: %Last Modification Date: 08/07/95 15:13:25 ivan@78: %Current Version: mdwt.m 2.4 ivan@78: %File Creation Date: Wed Oct 19 10:51:58 1994 ivan@78: %Author: Markus Lang ivan@78: % ivan@78: %Copyright (c) 2000 RICE UNIVERSITY. All rights reserved. ivan@78: %Created by Markus Lang, Department of ECE, Rice University. ivan@78: % ivan@78: %This software is distributed and licensed to you on a non-exclusive ivan@78: %basis, free-of-charge. Redistribution and use in source and binary forms, ivan@78: %with or without modification, are permitted provided that the following ivan@78: %conditions are met: ivan@78: % ivan@78: %1. Redistribution of source code must retain the above copyright notice, ivan@78: % this list of conditions and the following disclaimer. ivan@78: %2. Redistribution in binary form must reproduce the above copyright notice, ivan@78: % this list of conditions and the following disclaimer in the ivan@78: % documentation and/or other materials provided with the distribution. ivan@78: %3. All advertising materials mentioning features or use of this software ivan@78: % must display the following acknowledgment: This product includes ivan@78: % software developed by Rice University, Houston, Texas and its contributors. ivan@78: %4. Neither the name of the University nor the names of its contributors ivan@78: % may be used to endorse or promote products derived from this software ivan@78: % without specific prior written permission. ivan@78: % ivan@78: %THIS SOFTWARE IS PROVIDED BY WILLIAM MARSH RICE UNIVERSITY, HOUSTON, TEXAS, ivan@78: %AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, ivan@78: %BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ivan@78: %FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RICE UNIVERSITY ivan@78: %OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, ivan@78: %EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, ivan@78: %PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; ivan@78: %OR BUSINESS INTERRUPTIONS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, ivan@78: %WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR ivan@78: %OTHERWISE), PRODUCT LIABILITY, OR OTHERWISE ARISING IN ANY WAY OUT OF THE ivan@78: %USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ivan@78: % ivan@78: %For information on commercial licenses, contact Rice University's Office of ivan@78: %Technology Transfer at techtran@rice.edu or (713) 348-6173 ivan@78: % ivan@78: %Change History: ivan@78: % ivan@78: %Modification #1 ivan@78: %Mon Aug 7 11:42:11 CDT 1995 ivan@78: %Rebecca Hindman ivan@78: %Added L to function line so that it can be displayed as an output ivan@78: % ivan@78: %Change History: ivan@78: % ivan@78: %Modification #1 ivan@78: %Thu Mar 2 13:07:11 CDT 2000 ivan@78: %Ramesh Neelamani ivan@78: %Revamped the help file ivan@78: % ivan@78: ivan@78: ivan@78: