From f618466c25d43f3bae9e40920273bf77de1e1149 Mon Sep 17 00:00:00 2001 From: leochanj105 Date: Mon, 19 Oct 2020 23:09:30 -0400 Subject: initial sd-vbs initial sd-vbs add sd-vbs sd-vbs --- .../texture_synthesis/src/matlab/wpyrLev.m | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 SD-VBS/benchmarks/texture_synthesis/src/matlab/wpyrLev.m (limited to 'SD-VBS/benchmarks/texture_synthesis/src/matlab/wpyrLev.m') diff --git a/SD-VBS/benchmarks/texture_synthesis/src/matlab/wpyrLev.m b/SD-VBS/benchmarks/texture_synthesis/src/matlab/wpyrLev.m new file mode 100755 index 0000000..18f30ae --- /dev/null +++ b/SD-VBS/benchmarks/texture_synthesis/src/matlab/wpyrLev.m @@ -0,0 +1,30 @@ +% [LEV,IND] = wpyrLev(PYR,INDICES,LEVEL) +% +% Access a level from a separable QMF/wavelet pyramid. +% Return as an SxB matrix, B = number of bands, S = total size of a band. +% Also returns an Bx2 matrix containing dimensions of the subbands. + +% Eero Simoncelli, 6/96. + +function [lev,ind] = wpyrLev(pyr,pind,level) + +if ((pind(1,1) == 1) | (pind(1,2) ==1)) + nbands = 1; +else + nbands = 3; +end + +if ((level > wpyrHt(pind)) | (level < 1)) + error(sprintf('Level number must be in the range [1, %d].', wpyrHt(pind))); +end + +firstband = 1 + nbands*(level-1) +firstind = 1; +for l=1:firstband-1 + firstind = firstind + prod(pind(l,:)); +end + + +ind = pind(firstband:firstband+nbands-1,:); +lev = pyr(firstind:firstind+sum(prod(ind'))-1); + -- cgit v1.2.2