I'm reading a paper about texture synthesis using pyramids, and the very first section mention two methods for constructing pyramids, one is the Laplacian Pyramid (which I'm quite familiar with), the other one is "steerable pyramid". I got the idea of what the latter cope with in comparison with the former, but I do struggle to understand how they work (if I wanted to implement them from scratch for example).

Is there a sufficient simple explanation of how they work?

There's a diagram extrapolated from one of the papers I've been reading through, the intuition I have behind it is that I need to perform these operation in the fourier domain, but I might be wrong. Can anyone expound it?

Thank you

enter image description here

  • $\begingroup$ Can I please ask you to add a link to the paper (?). Also, in case you have missed it, please see this $\endgroup$ – A_A May 21 '18 at 15:40
  • $\begingroup$ The paper is this: E P Simoncelli, W T Freeman, E H Adelson and D J Heeger. Shiftable Multi-Scale Transforms [or, "What's Wrong with Orthonormal Wavelets"]. IEEE Trans. Information Theory, Special Issue on Wavelets. Vol. 38, No. 2, pp. 587-607, March 1992 $\endgroup$ – user8469759 May 21 '18 at 15:59
  • $\begingroup$ Hi, I read the link. Still is not clear to me how it is implemented. $\endgroup$ – user8469759 May 22 '18 at 13:20
  • $\begingroup$ Hi, got back to this topic, just tried to pull the C code from that web site, it gives me segmentation fault. Can anyone explain to me how steerable pyramids work? $\endgroup$ – user8469759 Jul 18 '18 at 14:26

We give a precise description of the pyramid algorithm in this paper: http://www.ipol.im/pub/art/2014/79/

It's a wavelet transform.

If you like to use the exact filters you can use Fourier transform but the filters are usually well approximated in spatial domain on a small support (8 x 8 px^2). Note that the direct convolution is faster than the Fourier implementation when the filters have few pixels (less than 16 x 16 px).

| improve this answer | |
  • $\begingroup$ Where's the steerable bit? $\endgroup$ – user8469759 Oct 21 '18 at 7:33
  • $\begingroup$ Steerability is a property of this transform ie filters can be written as a linear combination of themselves (see en.wikipedia.org/wiki/Steerable_filter and the original reference of Freeman and Adelson). $\endgroup$ – Jonathan Vacher Oct 22 '18 at 15:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.