# It was the help of an app called Fourier Anime that got me started. It created rubber-band animation from a standard image. I took one of the frames, simplified it further using Inkscape’s “simplify” to get here. App page for Fourier Anime says it uses this process, which I’d like to figure out to do by hand: 1. Edge Detect Differentiate the luminosity value of the monochrome input image, then we can get the edges where the luminosity are changing significantly. 2. Find Contours Extract contour curves from the edge image one by one. 3. Fourier Transform Contours are the sequences of points. Convert this complex sequences into Fourier coefficients by Fourier transform. 4. Low-pass Filter Leave only the coefficients of low-frequency parts. 5. Inverse Fourier Transform Reconstruct the complex sequences of points from low-pass filtered Fourier coefficients. And draw the curves in the display (parametric representation).

It was the help of an app called Fourier Anime that got me started. It created rubber-band animation from a standard image. I took one of the frames, simplified it further using Inkscape’s “simplify” to get here.

App page for Fourier Anime says it uses this process, which I’d like to figure out to do by hand:

1. Edge Detect
Differentiate the luminosity value of the monochrome input image, then we can get the edges where the luminosity are changing significantly.

2. Find Contours
Extract contour curves from the edge image one by one.

3. Fourier Transform
Contours are the sequences of points. Convert this complex sequences into Fourier coefficients by Fourier transform.

4. Low-pass Filter
Leave only the coefficients of low-frequency parts.

5. Inverse Fourier Transform
Reconstruct the complex sequences of points from low-pass filtered Fourier coefficients. And draw the curves in the display (parametric representation).
====