<< Chapter < Page | Chapter >> Page > |
Listing 4 also signals the end of the class definition for the class named ImgMod30.
The purpose of this program is to exercise and to test the 2D Fourier transform methods and the axis shifting method provided by the class namedImgMod30.
The main method in this class reads two command line parameters and uses them to select:
The program performs a 2D Fourier transform on that surface followed by an inverse 2D Fourier transform. Six different plots are produced in this processshowing different aspects of the transform and the inverse transform.
There are 14 different cases built into the program with case numbers ranging from 0 to 13 inclusive. Each of the cases is designed such that the results ofthe analysis should be known in advance by a person familiar with 2D Fourier analysis and the wavenumber domain. Thus, these cases can be used to confirmthat the transform code was properly written.
The cases are also designed to illustrate the impact of various space domain characteristics on the wavenumber spectrum. This information will be usefullater when analyzing the results of performing 2D transforms on photographic images for example.
Each time the program is run, it produces a stack of six output images in the top-left corner of the screen. A brief description of each of the outputimages is provided in the following list. The top-to-bottom order of the stack is:
To view the images near the bottom of the stack, you must physically move those on top to get them out of the way.
In addition, the program produces some numeric output on the command line screen that may be useful in confirming the validity of the forward and inversetransform processes. Figure 2 shows an example of the numeric output.
Figure 2. Numeric output. |
---|
height = 41
width = 41height = 41
width = 412.0 1.9999999999999916
0.5000000000000002 0.499999999999998450.49999999999999956 0.4999999999999923
1.7071067811865475 1.70710678118655260.2071067811865478 0.20710678118654233
0.20710678118654713 0.207106781186554351.0 1.0000000000000064
-0.4999999999999997 -0.49999999999999484-0.5000000000000003 -0.4999999999999965 |
(Note that I manually inserted some and spaces line breaks in Figure 2 to cause the numeric values to line up in columns so as to be morereadable.)
The first two lines of numeric output in Figure 2 show the size of the spatial surface for the forward transform. The second two lines show the size ofthe wavenumber surface for the inverse transform.
Notification Switch
Would you like to follow the 'Digital signal processing - dsp' conversation and receive update notifications?