<< Chapter < Page | Chapter >> Page > |
The remaining nine lines indicate something about the quality of the forward and inverse transforms in terms of the ability of the inverse transform toreplicate the original spatial surface. These lines also indicate something about the correctness of the overall scaling from original input to finaloutput.
Each of the last nine lines contains a pair of values. The first value is a sample from the original spatial surface. The second value is a sample from thecorresponding location on the spatial surface produced by performing an inverse transform on the wavenumber spectrum. The two values in each pair of valuesshould match. If they match, this indicates the probability of a valid result.
(Note however that this is a very small sampling of the values that make up the original and replicated spatial data and problems could arise inareas that are not included in this small sample.)
The match is very good in the example shown above. This example is from Case #12.
Usage information for the program is shown in Figure 3 .
Figure 3. How to use the program named ImgMod31. |
---|
Usage: java ImgMod31 CaseNumber DisplayType
CaseNumber ranges from 0 to 13 inclusive.DisplayType ranges from 0 to 2 inclusive.If a case number is not provided, Case 2 will be run by
default.If a display type is not provided, display type 1 will be
used by default. |
A description of each case is provided by the comments in this program. In addition, each case will be discussed in detail in this module.
See ImgMod29 in the earlier module titled Plotting 3D Surfaces using Java for a definition of DisplayType .
You can terminate the program by clicking on the close button on any of the display frames produced by the program.
The beginning of the class and the beginning of the main method is shown in Listing 5 .
Listing 5. Beginning of the class named ImgMod31. |
---|
class ImgMod31{public static void main(String[] args){int switchCase = 2;//default
int displayType = 1;//defaultif(args.length == 1){
switchCase = Integer.parseInt(args[0]);
}else if(args.length == 2){switchCase = Integer.parseInt(args[0]);displayType = Integer.parseInt(args[1]);}else{
System.out.println("Usage: java ImgMod31 "+ "CaseNumber DisplayType");
System.out.println("CaseNumber from 0 to 13 inclusive.");
System.out.println("DisplayType from 0 to 2 inclusive.");
System.out.println("Running case "+ switchCase + " by default.");
System.out.println("Running DisplayType "+ displayType + " by default.");
}//end else |
The code in Listing 5 gets the input parameters and uses them to set the case and the display format. A default case and a default display format are used ifthis information is not provided by the user.
Listing 6 calls the method named getSpatialData to create a test surface that matches the specified case. This surface will be used fortesting the transform process.
Notification Switch
Would you like to follow the 'Digital signal processing - dsp' conversation and receive update notifications?