123456789101112131415161718192021222324252627282930313233343536373839 |
- % RES = wpyrBand(PYR, INDICES, LEVEL, BAND)
- %
- % Access a subband from a separable QMF/wavelet pyramid.
- %
- % LEVEL (optional, default=1) indicates the scale (finest = 1,
- % coarsest = wpyrHt(INDICES)).
- %
- % BAND (optional, default=1) indicates which subband (1=horizontal,
- % 2=vertical, 3=diagonal).
- % Eero Simoncelli, 6/96.
- function im = wpyrBand(pyr,pind,level,band)
- if (exist('level') ~= 1)
- level = 1;
- end
- if (exist('band') ~= 1)
- band = 1;
- end
- if ((pind(1,1) == 1) | (pind(1,2) ==1))
- nbands = 1;
- else
- nbands = 3;
- end
-
- if ((band > nbands) | (band < 1))
- error(sprintf('Bad band number (%d) should be in range [1,%d].', band, nbands));
- end
-
- maxLev = wpyrHt(pind);
- if ((level > maxLev) | (level < 1))
- error(sprintf('Bad level number (%d), should be in range [1,%d].', level, maxLev));
- end
- band = band + nbands*(level-1);
- im = pyrBand(pyr,pind,band);
|