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, 2018 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$ May 21, 2018 at 15:59
  • $\begingroup$ Hi, I read the link. Still is not clear to me how it is implemented. $\endgroup$ May 22, 2018 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$ Jul 18, 2018 at 14:26

1 Answer 1


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).

  • $\begingroup$ Where's the steerable bit? $\endgroup$ Oct 21, 2018 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$ Oct 22, 2018 at 15:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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