Generating random image animation sequences

Introduction

A random animation sequence is sometimes useful as a controlled, noisy background for visual stimulus studies. The following programs use Fourier synthesis of image sequences from filtered, random, complex frequency distrubutions. A 3D complex array (x,y,time) is shaped according to the desired filter function, inverse-Fourier transformed, and displayed as an image sequence. Fourier synthesis guarantees periodicity in time (for seamless looping). The programs we used were either band-limited to a certain spatial and temporal frequency range, or fractal in space and bandlimited in time. Example animations are given below. Programs were written in Matlab 6.5.

The programs

The first program produces a bandlimited (in space and time) animation. You can select the bandwidth in terms of cycles/image-width and cycles/total-animation-length. This example used spatial frequencies between 4 and 10, and temporal frequencies below 3. The second example uses spatial frequencies between 1 and 5, and temporal frequencies below 3. The third example uses spatial frequencies between 1 and 5, and temporal frequencies below 6. Higher spatial frequencies mean more fine detail. Higher temporal frequencies mean faster motion. A bigger example with spatial frequencies between 4 and 10, and temporal frequencies below 3.

The second program produces an approximate fractal (in space) animation. This is done by filtering the spatial frequency amplitudes by a power-law of frequency. The first example used a -2.5 spatial power law, and a time bandwidth of 3. As the power law strength is reduced toward -1, the image becomes "rougher". The second example has a power law of -1.5, but the same time bandwidth. The third example has a power law of -2.0. A bigger example with fractal dimension -2 and bandlimited to 4 cycles.