CE 261: Lab #3
Mid-level Vision Operators on GOES and SAR data
Spring 1996
Instructor: Dr. Craig M. Wittenbrink
Office: Applied Science Bldg. #309
Phone: (408) 459 4099
craig@cse.ucsc.edu
Due: Friday May 24. Labs are due at the beginning of class.
Lab Environment: Computer Engineering/Computer and Information Sciences educational lab. Silicon Graphics Indy's and Indigos.
Location: Applied Sciences 213
Lab Hours: Any time, but you need a keycode
1.0 Mid-Level Processing
Mid-Level Image processing involves the creation of features. Two such example features, are the discovery of connected related pixels, called connected components, and the distance transformation which can be used to compute the size of the components. In this lab you are to implement both connected component analysis and distance transform in C/C++, using the ImageVision libraries and adding new routines. To show that the algorithms work properly, you are to run them on the SAR imagery and the GOES imagery. It is also necessary to graph the components with component labels or colors, and to plot the distance transformation with colors as well. This will help you to debug your algorithm.
To perform connected components, you first need to create a binary image from the grayscale images provided. This may be done through a thresholding operation or a more sophisticated segmentation algorithm. An intensity level is chosen with which to threshold, creating a binary image that represents regions. You may use thresholding or other operations for the lab. One means to process the images is the following:
Preprocess, Via Sobel, thresholding, Laplacian, etc. The ImageVision libraries [1] provide a variety of approaches. Please see the graphical examples in the rear of the Image Vision libraries programming guide.
Segment, Is it easiest to see areas of discontinuities or areas of similarities? Divide the satellite data into clouds/ocean, coastline in any method you see fit. Work on a scheme to combine segmentations into reasonable objects. It's recommended to work with different threshold values to segment, and you may be able to avoid preprocessing (maybe not).
Connected components, an algorithm for connected components identifies adjacent pixels, and picks a unique label for all components in an image. See Section 2.0.
Decision vectors (Optional). Once you have done the connected components there are a variety of simple methods to separate classes. Lab 4 will focus on this higher level processing classification. Examples are how many pixels belong in a given component (area), what is the long axis of a component, the short axis, the ratio of long to short axes etc. For this lab, you are to compute the distance transformation on the connected components.
Illustration of components (Required). Show in the image the separate components, either with number labels overlaid on the original image, pseudo colors with a key, or a similar scheme to illustrate the effectiveness of your algorithm. An executable version of the program is to be placed in your home directory, along with a script which will run the program on the images of your choice. Please chmod a+rx your program and script.
2.0 Connected Components Analysis
The connected components analysis algorithm is described in Haralick and Shapiro, pages 28-48 [5]. Pseudo code is given for various algorithm variants. The classical algorithm, similar to the algorithm described in Gonzalez and Woods, chapter 2, can be used, Section 2.3.4, or the ``Space-Efficient Two-Pass Algorithm That Uses a Local Equivalence Table'', Section 2.3.5
3.0 Distance Transformation
The distance transform is described in Haralick and Shapiro, pages 221-230 [5]. The distance transformation can be implemented in a two pass algorithm that passes over the image in raster scan order, assigning distances. The first pass it left to right, top to bottom. The second pass is right to left bottom to top. Another reference for this algorithm is Rosenfeld and Pfaltz [6].
4.0 Lab 3, Lab Write-up
You must show in your write-up the pseudo code of the algorithms used for the grayscale to binary conversion, connected components, and distance transformation. Demonstrations of the processing on SAR and GOES data will be required. Also describe the implementation of your program. A listing of the program showing that the program compiles, usage etc. is to be included. I recommend that you start on the lab immediately, as programming projects often take longer than expected.
References
[1] ImageVision Library Programming Guide, by Jackie Neider and Eleanor Bassler, Document Number 007-1387-030, Silicon Graphics, 1993.
[2] NOAA POLAR ORIBTER DATA USERS GUIDE [TIROS-N, NOAA-6, NOAA-7, NOAA-8, NOAA-9, NOAA-10, NOAA-11 & NOAA-12], U.S. Department of Commerce, Edited by Katherine B. Kidwell, NOAA, Princeton Executive Square, Room 100, Washington, D. C. 20233, (301) 763-8400, December 1991.
[3] Weather Satellite Handbook, 5th Edition. Ralph E. Taggart, The American Radio Relay League, Inc. 1994.
[4] K. Castleman. Digital Image Processing. Prentice-Hall, 1979.
[5] R.M. Haralick, and L.G. Shapiro, Computer and Robot Vision, Volume I, Addison Wesley, 1992.
[6] A. Rosenfeld and J.L. Pfaltz, ``Distance Functions in Digital Pictures,'' Pattern Recognition, Vol. 1, 1968, pp. 33-61.
Last Modified: 02:49pm PDT, May 10, 1996