Goodies Overview

This menu has most of the major tools of the program. You will find yourself using these frequently either directly from this menu or from their equivalents in the scripting window.

Mag. Squared - Replaces the real part with the magnitude squared of the current contents. Imaginary part = 0.

Gaussian... - Generates a real circularly symmetric Gaussian distribution. You have the option of either replacing the current contents by the new function or multiplying by it. -explained here

Phase Only - Normalizes the value of the array at each pixel to as to have magnitude one with the original phase angle.

Invert Array Values - Inverts current value of complex array

Rect.. to Polar - and .

Polar to Rect - and .

Random - Places a random number between -1 & 1 in real puts zero in imaginary part.

Zonal Phase Factor... - explained here.

Circular Harmonics... - explained here.

Direct Propagation... - Produces a simulation of the action of propagating the contents of the big array. More Explanation

Axicon... Produces a phase pattern varying linearly with radius. The wave length number is the number of pixels per wave length. It does not need to be an integer.

Big Window... - The function of the big window is to permit the display of the results in a window displaying the contents of the main window in a location of your choice in a size of your choice. This permits you to use an external monitor of some type, such as a light valve to export the output of this program to experimental apparatus. The output can shaped by the "Filter" function to compensate for the behavior of the experimental apparatus. This overlaps in function with the display icon's capability to produce a separate window when running a script.

Rescale... - Presents you with a window into which you may enter a complex number which can be multiplied into the whole array or added to the whole array. You may enter formulas to be used in calculations. etc. --> More Explanation

Rotate/Flip... - Permits the rotation or flipping of either the big array of only the screen. When using this you must read carefully what has been checked or not checked the results will be unexpected.

Graph (3D)... - Well sort of 3D. The value of the display aspect of your choice is plotted in relief and displayed as seen from above and from the left front. You have the option of stopping the display at a "y" value of your choice so that you can see a sliced view. This can be put on the "paste board" for placement in another program. If you choose you can also clip the numbers along a line, so that they can be pasted into a spread sheet. Perhaps you may wish to graph them.

Clear screen - Does just that. If you want to clear the big array, enter the blank screen in one-zero mode.

Times i - Moves real part to the imaginary part, and the negative of the imaginary to the real part.

Real part -> zero - sets the real part of the array to zero.

Im part -> zero - sets the imaginary part of the array to zero.

Complex Conjugation - changes the sign of the imaginary part of all pixels.

1 dim. Vert. Fourier - Perform a Fourier transform in vertical direction only.

1 dim. Inv. Vert. Fourier - Perform an inverse Fourier transform in vertical direction only.

1 dim. Horiz. Fourier - Perform a Fourier transform in horizontal direction only.

1 dim. Inv. Horiz. Fourier - Perform an inverse Fourier transform in horizontal direction only.

2 dim. Walsh transform (Hadamard transform) - Performs a two dimensional Walsh transform on the real part of the big array. The imaginary part is unchanged. To change it requires a little manipulation. To see what these functions look like make a diagonal line running from upper left to the lower right, and then choose 1 dim. Walsh (below). This way you can see the result generated from each dot in the vertical direction. The Walsh function is linear like the Fourier transform. But, unlike the Fourier, it is its own inverse function.

1 dim. Walsh transform (Hadamard transform) - Performs a one dimensional Walsh transform on the real part of each column. The imaginary part of the big array is unchanged.