# Circularly multiplying a bitmap image

I would like to do the following:

1) Take an image inside a circle and a radius of the circle, and imagine that there are 2 copies of the radius like the handles of a Japanese fan fully opened to 360 degrees.

2) Squeeze the image by the factor n, sort of like closing the above Japanese fan from 360 to 360/n degrees. The image now occupies 1/nth of the circle.

3) Copy/paste the squeezed image n times inside the circle so that the combined image would occupy the entire circle again with n circularly squeezed copies of itself.

An alternative description of the same (just corrected "disk" to "punctured disk", etc):

I'd like to project an image on the unit disk in $z\in\mathbb{C}, |z|\leq 1$ onto the part the Riemann surface of $z^{1/n}$ above the unit disk, with all the points on the branches above $z$ receiving the same pixel as on $z$. Then I would like to "unwind" the punctured Riemann surface (less zero) onto the punctured unit disk (less zero) and exporting the resulting image.

The map from the punctured disk to each branch of the Riemann surface: $z=(|z|,\arg z)\to (|z|, (\arg z)/n)$. The map from the Riemann surface to the disk: $u=(|u|, \arg u)\to (|u|,n\arg u)$.

How do I do that in Mathematica?

• Some legwork of your own to do: are you aware of any (hopefully conformal) maps from a disk to a sector? – J. M. is away Aug 5 '16 at 16:37
• @J.M.: I'm interested in a very specific map, from (open disk - radius) to (open sector): $(|z|,\arg z)\to (|z|,(\arg z)/n)$, which is not conformal. – Michael Aug 5 '16 at 18:10
• Alright... have you seen ImageTransformation[] and ImageForwardTransformation[]? But even before that: test your purported mapping with ParametricPlot[] to be certain that it does what you think it does. – J. M. is away Aug 5 '16 at 18:22
• Possibly related question – Thies Heidecke Aug 6 '16 at 13:44