Hello all, I'm interested in 2D discrete transforms (such as Discrete Wavelet Transforms, [Curvelets][1], Ridgelets, Beamlets etc.) that operate on a discrete unit disk and: 1. Are invariant to rotations **only** 2. Output a transformed signal with relatively low informational entropy 3. Are computationally relatively efficient (in terms of computational complexity) In other words, I'm interested in 2D discrete transforms that output the same transformation for arbitrary 2D rotations of the input, but that are not invariant to any other changes of the input. Ideally, these transforms should compress the input as much as possible in terms of information entropy (i.e. necessary bits to represent the output), and be "computable" in a practical sense. As additional context to my question, I am planning on using such transforms in the domain of computer vision to train a classifier on instances of objects that might appear rotated arbitrarily around the image center point. **Update**: From what I have learned in the past few days, Zernike polynomials are orthogonal on the unit disk, and the absolute value of the Zernike coefficients are apparently invariant to rotation of the input disk. However, there are two problems with this: 1. The original Zernike transform is defined on the continuous disk, for which the spectrum is not bounded, and infinitely many coefficients may be needed to reverse the transform (this is different from the Discrete Cosine Transform (DCT) or Discrete Fourier Transform (DTFT) where the spectrum is bounded, and the number of harmonics is given by the dimensionality of the transform domain) 2. The absolute value of the Zernike coefficients may not be injective beyond rotation (i.e. perturbations of the input function, other than rotations, may be transformed to the same coefficients). Thank you ---------- [1]: http://www.curvelet.org/