annotate util/Rice Wavelet Toolbox/mirdwt.mhelp @ 99:e22f8494c5ff

Merge
author Mark Plumbley <mark.plumbley@eecs.qmul.ac.uk>
date Tue, 12 Apr 2011 14:33:24 +0100
parents f69ae88b8be5
children
rev   line source
ivan@78 1 function [x,L] = mirdwt(yl,yh,h,L);
ivan@78 2 % function [x,L] = mirdwt(yl,yh,h,L);
ivan@78 3 %
ivan@78 4 % Function computes the inverse redundant discrete wavelet
ivan@78 5 % transform x for a 1D or 2D input signal. (Redundant means here
ivan@78 6 % that the sub-sampling after each stage of the forward transform
ivan@78 7 % has been omitted.) yl contains the lowpass and yl the highpass
ivan@78 8 % components as computed, e.g., by mrdwt. In the case of a 2D
ivan@78 9 % signal, the ordering in
ivan@78 10 % yh is [lh hl hh lh hl ... ] (first letter refers to row, second
ivan@78 11 % to column filtering).
ivan@78 12 %
ivan@78 13 % Input:
ivan@78 14 % yl : lowpass component
ivan@78 15 % yh : highpass components
ivan@78 16 % h : scaling filter
ivan@78 17 % L : number of levels. In the case of a 1D signal,
ivan@78 18 % length(yl) must be divisible by 2^L;
ivan@78 19 % in the case of a 2D signal, the row and
ivan@78 20 % the column dimension must be divisible by 2^L.
ivan@78 21 %
ivan@78 22 % Output:
ivan@78 23 % x : finite length 1D or 2D signal
ivan@78 24 % L : number of levels
ivan@78 25 %
ivan@78 26 % HERE'S AN EASY WAY TO RUN THE EXAMPLES:
ivan@78 27 % Cut-and-paste the example you want to run to a new file
ivan@78 28 % called ex.m, for example. Delete out the % at the beginning
ivan@78 29 % of each line in ex.m (Can use search-and-replace in your editor
ivan@78 30 % to replace it with a space). Type 'ex' in matlab and hit return.
ivan@78 31 %
ivan@78 32 %
ivan@78 33 % Example 1:
ivan@78 34 % xin = makesig('Leopold',8);
ivan@78 35 % h = daubcqf(4,'min');
ivan@78 36 % L = 1;
ivan@78 37 % [yl,yh,L] = mrdwt(xin,h,L);
ivan@78 38 % [x,L] = mirdwt(yl,yh,h,L)
ivan@78 39 % x = 0.0000 1.0000 0.0000 -0.0000 0 0 0 -0.0000
ivan@78 40 % L = 1
ivan@78 41 %
ivan@78 42 % Example 2:
ivan@78 43 % load lena;
ivan@78 44 % h = daubcqf(4,'min');
ivan@78 45 % L = 2;
ivan@78 46 % [ll_lev2,yh,L] = mrdwt(lena,h,L); % lena is a 256x256 matrix
ivan@78 47 % N = 256;
ivan@78 48 % lh_lev1 = yh(:,1:N);
ivan@78 49 % hl_lev1 = yh(:,N+1:2*N);
ivan@78 50 % hh_lev1 = yh(:,2*N+1:3*N);
ivan@78 51 % lh_lev2 = yh(:,3*N+1:4*N);
ivan@78 52 % hl_lev2 = yh(:,4*N+1:5*N);
ivan@78 53 % hh_lev2 = yh(:,5*N+1:6*N);
ivan@78 54 % figure; colormap(gray); imagesc(lena); title('Original Image');
ivan@78 55 % figure; colormap(gray); imagesc(ll_lev2); title('LL Level 2');
ivan@78 56 % figure; colormap(gray); imagesc(hh_lev2); title('HH Level 2');
ivan@78 57 % figure; colormap(gray); imagesc(hl_lev2); title('HL Level 2');
ivan@78 58 % figure; colormap(gray); imagesc(lh_lev2); title('LH Level 2');
ivan@78 59 % figure; colormap(gray); imagesc(hh_lev1); title('HH Level 1');
ivan@78 60 % figure; colormap(gray); imagesc(hl_lev2); title('HL Level 1');
ivan@78 61 % figure; colormap(gray); imagesc(lh_lev2); title('LH Level 1');
ivan@78 62 % [lena_Hat,L] = mirdwt(ll_lev2,yh,h,L);
ivan@78 63 % figure; colormap(gray); imagesc(lena_Hat);
ivan@78 64 % title('Reconstructed Image');
ivan@78 65 %
ivan@78 66 % See also: mdwt, midwt, mrdwt
ivan@78 67 %
ivan@78 68 % Warning! min(size(yl))/2^L should be greater than length(h)
ivan@78 69 %
ivan@78 70
ivan@78 71 %File Name: mirdwt.m
ivan@78 72 %Last Modification Date: 08/07/95 15:14:21
ivan@78 73 %Current Version: mirdwt.m 2.4
ivan@78 74 %File Creation Date: Wed Oct 19 10:51:58 1994
ivan@78 75 %Author: Markus Lang <lang@jazz.rice.edu>
ivan@78 76 %
ivan@78 77 %Copyright (c) 2000 RICE UNIVERSITY. All rights reserved.
ivan@78 78 %Created by Markus Lang, Department of ECE, Rice University.
ivan@78 79 %
ivan@78 80 %This software is distributed and licensed to you on a non-exclusive
ivan@78 81 %basis, free-of-charge. Redistribution and use in source and binary forms,
ivan@78 82 %with or without modification, are permitted provided that the following
ivan@78 83 %conditions are met:
ivan@78 84 %
ivan@78 85 %1. Redistribution of source code must retain the above copyright notice,
ivan@78 86 % this list of conditions and the following disclaimer.
ivan@78 87 %2. Redistribution in binary form must reproduce the above copyright notice,
ivan@78 88 % this list of conditions and the following disclaimer in the
ivan@78 89 % documentation and/or other materials provided with the distribution.
ivan@78 90 %3. All advertising materials mentioning features or use of this software
ivan@78 91 % must display the following acknowledgment: This product includes
ivan@78 92 % software developed by Rice University, Houston, Texas and its contributors.
ivan@78 93 %4. Neither the name of the University nor the names of its contributors
ivan@78 94 % may be used to endorse or promote products derived from this software
ivan@78 95 % without specific prior written permission.
ivan@78 96 %
ivan@78 97 %THIS SOFTWARE IS PROVIDED BY WILLIAM MARSH RICE UNIVERSITY, HOUSTON, TEXAS,
ivan@78 98 %AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
ivan@78 99 %BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
ivan@78 100 %FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RICE UNIVERSITY
ivan@78 101 %OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
ivan@78 102 %EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
ivan@78 103 %PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
ivan@78 104 %OR BUSINESS INTERRUPTIONS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
ivan@78 105 %WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
ivan@78 106 %OTHERWISE), PRODUCT LIABILITY, OR OTHERWISE ARISING IN ANY WAY OUT OF THE
ivan@78 107 %USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
ivan@78 108 %
ivan@78 109 %For information on commercial licenses, contact Rice University's Office of
ivan@78 110 %Technology Transfer at techtran@rice.edu or (713) 348-6173
ivan@78 111 %
ivan@78 112 %Change History:
ivan@78 113 %
ivan@78 114 %Modification #1
ivan@78 115 %Mon Aug 7 15:09:51 CDT 1995
ivan@78 116 %Rebecca Hindman <hindman@ece.rice.edu>
ivan@78 117 %Added L to function line so that it can be displayed as an output
ivan@78 118 %
ivan@78 119 %Modification #2
ivan@78 120 %Thursday Mar 2 2000
ivan@78 121 % Added Example 2
ivan@78 122 % Felix Fernandes <felixf@rice.edu>
ivan@78 123
ivan@78 124
ivan@78 125
ivan@78 126
ivan@78 127
ivan@78 128
ivan@78 129
ivan@78 130
ivan@78 131
ivan@78 132
ivan@78 133
ivan@78 134
ivan@78 135
ivan@78 136
ivan@78 137
ivan@78 138