DEVELOPMENT OF SUPERCOMPUTER IMAGE PROCESSING SOFTWARE WITH X-WINDOW USER-INTERFACE FOR THE PROCESSING OF THE REMOTELY SENSED DATA Young-Kyu Yang, Hyun-Ok Nam, Kyoung-Ok Kim, Seong-Ik Cho Systems Engineering Research Institute Korea Institute of Science and Technology 1 Eoeun-dong, Yoosung-ku Taejeon, Korea 305-333 COMMISSION II ABSTRACT This paper presents the design concept, the functions, and the examples of utilization of C-ERIMS (Environment and Resources Integrated Management System for CRA Y) image processin~ software package under development on Cray-2 supercomputer system. C-ERIMS is equipped wlth almost all the commonly used image processing algorithms as well as special features like parallel processing, neural network, 3-D perspective animation, etc. It has interactive true color display capability utilizing x-window on the CRA Y supercomputer system under UNICOS operating system. KEY WORDS: Image Processing, l. INTRODUCTION Supercomputer, This software is code named C-ERIMS which is an acronym for Environment and Resources Integrated Management System for CRA Y. CERIMS is designed to operate as a complete user-friendly interactive system with integrated software and open Graphic User Interface (GUI), i.e. X Window system. 2.2 C-ERIMS system can: The philosophy behind the developing C-ERIMS was to take advantage of the computing power and large main memory of supercomputer and provide the resource mangers and other decision makers with a powerful tool necessary for their national scale resource management. X Window System The architecture of the X Window system is based on a client-server model. The X server controls all resources which include windows, bitmaps, fonts, colors, and other data structures used by the window system to enable clients to use and share these data structures transparently. Network transparency implies that applications can run on whatever CPU is most convenient. For example, applications requiring extensive computations ,can run on a networkconnected supercomputer and the result can be displyed on the terminal or workstation. BASIC DESIGN CONCEPT Software Design A complete survey processing software X-window The X Window system developed at the MIT (Massachusetts Institute of Technology) seems to satisfy the needs of users for highperformance, high functionality, network based system for high-resolution graphics. The purpose of the X Window system is to provide a network-transparent and vendor-independent operating environment for workstation software and to maintain portability with a common programming interface across multiple vendor platforms. o directly access satellite images and other remotely sensed data, o extract subsections or full scene to disk files, o act upon these files to perform the generally available image processing functions, and o generate hard copies of processed images. 2.1 Parallel Processing, maximum efficient design of the C-ERIMS system. The CSADIE (Samayoa, 1983) and GIPSY (Gu and Samayoa, 1988) software packages available on Cray computer system seem to have limited capability due to their batch oriented operation and lack of true color manipulation capability. They were originally developed on smaller computer system such as workstation or Cyber system and later ported to the Cray computer. Other systems including VICAR, ELAS (NASAjERL, 1988), and LARSYS (Williams, et at, 1976) were also surveyed and analyzed. A comprehensive image processing software was successfully designed to handle full scene satellite imagery in interactive way using X Window protocol. A powerful supercomputer based remote sensing image processing software package is being developed at the Korea Institute of Science and Technology (KIST). KIST have experience of developing image processing software on microcomputer and main frame computers (Yang, et aI., 1989a; Yang, et aI., 1989b). 2. Neural Network, for the existing image was performed for 235 3. 3.1 SUPERCOMPUTING 4. ENVIRONMENT PROCESSING MODULES Most of commonly available image procesing functions are being implemented. It includes preprocessing, image enhancement, image transformation, image classification, overlaying and mosaicking, data compression, and some utility functions. Cray-2S System Cray-2s/4-128 supercomputer was used as the platform for software development. It has four CPU s and equipped with 128 mega word SRAM main memory and 40 giga bytes of high speed disk. The clock cycle is 4.1 nano second and its peak performance is 2 GFLOPS (Giga Floating Point Operations per Second). The operating system is UNICOS system which is based on AT & T UNIX System V and enhanced to support both batch and interactive processing in a large scale scientific computer environment. UNICOS supports CAL, the Cray Macro Assembler, and the high level languages including Fortran, C, and Pascal. The Fortran compiler has capability of automatically vectorizing inner DO-loops, and thus provides program optimization functionalty. 3.2 IMAGE 4.1 Preprocessing The sources of geometric error are instrument error, panoramic distortion, earth rotation and platform instability. The geometric correction process comprises the determination of a relationship between the coordinate system of map and image. It establishes a set of points defining pixel centers in the corrected image that, when considered as a rectangular grid, defines an image with the desired cartographic properties, and the estimation of pixel values to be associated with those points. The cubic, bilinear, and nearest neighborhood method are available as the resampling methods. Network The Cray-2S system is connected to IBM 3083, and MicroVax system through 100 mega bytes/ second HYPER Channel (Figure 1). Local Ethernet network is also connected to Cray system through TCP/IP networking protocol. A remotely located NAS AS/XL V50 and a CDC Cyber 960-31 mainframe computers are connected to Cray system via dual 1. 5 mega bits per second T1 communication line. The Unix workstations including Sun, Silicon Graphic's IRIS are connected to Ethernet network and thus provides users with accessibility to any of the existing computer resources including Cray, NAS, Cyber, Vax, and other workstations. 4.2 Image Enhancement Image enhancement is to enhance the weakened image and to increase visible effect. Contrast stretch method (linear, normalized, histogram equalization, exponential, and logarithmic methods) for image enhancement were implemented. Spatial filtering with mean, mode, Roberts gradient, difference operator, and sobel operator were also implemented. FFT (Fast Fourier Transformation), contouring, and color enhancement is also available. 4.3 Image transformation Various image transformation algorithm is available. They can be summarized as follows: 1) Arithmetic operation: o band ratio o band difference 2) Vegetation index o normalized difference o leaf area index o transformed vegetation index o tasselled cap transformation o perpendicular vegetation index 3) Principal Component Analysis 4.4 Classification and 1) 2) Fig. 1. Supercomputing environment in KIST. 236 o sum o add Other Algorithms Classification o supervised Terrain analysis o slope-gradient o shaded relief o unsupervised o slope-aspect 3) Three dimensional perspective view (Figure 2) o coordinate transformations o projection transformation o hidden line procedure o scaling 4) Generation of mosaic map (Figure 3) o density level normalization o correction of the density level by overlapped area o seam control point matching 5) Utility routines o data file handling - file format conversion - band extraction o coordinate conversion - UTM versus geographic coordinate o color map manipulation o histogram computation o statistical analysis o image compression 4.5 Time 5. 5.1 NEURAL NET ALGORITHM Introduction Recently efforts to adopt neural net algorithm to sa tellite imagery analysis have been very active (Benediktsson, et al., 1990; Heermann and Khazenie, 1992; Lee, et aI., 1990; Ryan, et al. , 1991) . Comparison with Other Systems Test run of the several algorithms on Cray-2S computer shows more than 50 times improvement in processing speed comparing to the IBM 3083 and VAX system. The algorithms used for test are as follows: o G CP correction o 3-D perspective view display o Maximum likelihood classification A neural net algorithm and software named "atree (Adaptive TREE)" was adopted and implemented in Cray-2S. It was originally developed for PC and workstations by University of Alberta, Canada (Dwelly, 1990). The atree contains the learning algorithm for adaptive logic netwoks, which is the backpropagation algorithm for multilayer feed forward artificial neural networks. The atree algorithm demostrates that for those networks which is consisting of multilayer threshold,its elements can be effectively trained. It is an important property for logic networks to have ability to generalize their responces to new inputs, presented after training is completed. The successful generalization properties of these logic networks are based on the observation, backed up by a theory, that trees of "two-input" logic gates of types AND, OR, LEFT and RIHGT are very insensitive to changes of their inputs. 5.2 Fig. 2. "A tree" Algorithm Concept An atree (Adaptive TREE) is the fundamental structure used by routines in this software (Dwelly, 1990). This is a binary tree with nodes of two types: (1) adaptive elements, and (2) leaves. Each element takes one of four logical functions, AND, OR, LEFT, or RIG HT depending on initialization or the training it has undergone. The leaf nodes of the tree serve only to collect the inputs to the subtree of elements. Each one takes its input bit from a boolean input vector. The tree produces a single bit as its output. For computing non-boolean outputs, several trees are used in parallel to produce a vector of bits representing the output value. Three dimensional display of Typhoon "A be". 5.3 "Atree" Implementation The original routines written in C language by University of Alberta to create, train, evaluate, and print out adaptive logic networks were transported to the Cray computer. The user can create a training set, then create a tree using 'atree_create'. The tree is trained using 'atree_train' and then it can be used to evaluate new inputs using 'atree_evaI'. Because a single tree produces only one bit, the programmer must train several trees on the input data, each one responsible for one bit of the output data. This is made slightly simpler by the choice of parameters for 'atree_ train' which takes an array of bit vectors as the training set, and an array of bit vectors for the result set. The figure 4 shows its typical description. Fig. 3. 6. Mosaic image of middle part of Korea. 6.1 USER INTERFACE Graphic User Interface X-lib was selected as the graphics tool for C- 237 ERIMS system. It defines -an-extensive set of functions and provides complete access and control over the display, windows, and input devices. It seems to become one of the most widely used low-level graphic interface in Unix systems. Motif was selected as the user interface tool. Many software developers prefer to use one of the higher-level X toolkits since using lowlevel graphics library to develop application software could be tedious and time consuming. A toolkit should contain a user-interface subroutine library to simplify the design and development of application user interfaces. Motif provides special tool kit feature named widgets which supports human interface graphic objects, such as dialogue box, menu, or mousesensitive button. A minimal X application first sets up a connection to the workstation, then creates a window, creates X resources, maps the window to the screen to make it visible, solicits the input events it is interested in, reads and interprets these input events, and finally generates graphical output. Compilation of an X application program in Cray computer: -IX 11 xhost Cray2s telnet Cray2s userid: xxx passwd: yyy setenv DISPLAY 6.3 irisOOO X Toolkit Programming In X Toolkit programming, Xt Intrinsics serves as a framework that allows programmers to create user interfaces by combining an extensible set of user interface components. These components are known as widgets, and include menus, dialogue boxes, title bars, scrollbars, selection boxes, labels and push buttons. performs several basic o Initialize the Intrinsics. X tlnitializeO esta bUshes a connection to the X server. o Create widgets. XtCreateWidget(name, class, parent, args, nargs) o Register callbacks and event handlers. Xt o Realize all widgets. o Enter the event loop. In order to run an X Window based software, following procedure is necessary. cc filename Designating the display device: X Toolkit application steps. These are: 6.2 Execution of an X program 1) 2) The compilation step would be: -lnet cc -0 filename 1 filename2 -X 11 y 7. -IXm -iXt PARALLEL PROCESSING In order to benefit from the power of vector hardware, existing programs should be rewritten or translated to the parallel form. The existing auto vectorizing compiler does not provide maximum efficient method to discover the parallelism implicit in a Fortran program. An efficient translation algorithm is being developed as shown in figure 5. The scannerparser phase converts the input program to an abstract syntax tree that is used as the intermediate form throughout the translation. The pretty printer can reconstruct a source program from the abstract syntax tree; it is used throughout the translator. The vector translation phase consists of three main subphases: Trees -- one per output bit Random connections '--"-"l...--' (1) Complements (2) (3) Xl subscript standardization, which encompasses all the transformation that attempt to put subscripts into canonical form; dependence analysis, which builds the interstatement dependence graph; parallel code generation, which generates array assignments where possible. X2 8. Fig. 4. Description of A tree structure (Dwelly, 1990). CONCLUSION A Cray-2s based image processing system code named C-ERIMS is being developed. It will 238 have full scene handlirig capability tak~g advantage of high speed and large mam memory of the supercomputer. It's software will be composed of the most of the commonly available functions including preprocessing, image enhancement, image transformation, classification, image compression, three dimensional perspective view generation, mosaic map generation and terrain information analysis. Most of the image processing modules are written in Fortran and C. Test run of the some algorithm in C-ERIMS on the Cray showed more than 50 times improvement in processing speed comparing to the IBM and V A X systems. Data Using a Back-Progation Neural Network, IEEE Transactions on Geoscience and Remote Sensing, 30(1):81-88. Dwelly, Andrew, Adaptive Logic Alberta, Canada. 1990. An Implementation of Networks, University of 25 pg. Gu, Goson and B. Samayoa, 1988. Conversion of Gipsy Code on Cray Unicos System, The Final Report on 1988 Summer Intern Project in Digital Image Processing, Cray Research Inc., 31 pg. Lee, J, R. C. Weger, S. K. Sengupta and R. M. Welch, 1990. A Neural Network A pproach to Cloud Classification, IEEE Transactions on Geoscience and Remote Sensing, 28(5) :846-855. C-ERIMS has user friendly interactive capability on X-terminal or UNIX workstations connected to Cray system via X Window protocol. The X lib was adopted as the graphic tool and Motif tool kit provides easy-to-use menu system. It will also be equipped with special features such as neural net algorithm, parallel processing algorithm, and some of knowedge based inference algorithm to enhance the processing capability and the classification accuaracy. C-ERIMS system is expected to be available to the pubhc by the end of 2nd quarter next year (1993). 1988. ELAS: Earth Resources Laboratory Application Software. NASA/ERL NSTL Report 183. NSTL, MS. NASA/ERL, Ryan W., P. J. Sementilli, P. Yuen, and B. R. Hunt. 1991. Extraction of Shoreline Features by Neural Nets and Image Processing. Photogrammetric Engineering and Remote Sensing, 57(7) :947-955 Samayoa, William, 1983. CSADIE 3.0 for Cray Computers: System Documentation. Cray Research Inc., Mendota Height, Mn. 175 pg. tree Scanner Parser tree Vector Translator Preliminary Transforms (standardization, dependence analysis) Fig. 5. 9. Williams, G. N., et al., 1976. Conversion of LARSYS III. 1 to an IBM 370 Computer. Final Report, Contract NAS9-14514 by Texas A&M Univ. for Earth Observation Division, NASA Johnson Space Center, Houston, TX. 60 pg. Pretty Printer Yang, Y. K., S. E. Cho, et aI., 1989a. Development of a Microcomputer Image Processing Systems for Analyzing Satellite and Airborne Sensor Data. MOST National Research Report BS N20622. 173 pg. Parallel Code Generation Yang, Y. K., S. E. Cho, et al., 1989b. Development of Satellite Image Processing Software on Mainframe Computer. Journal of Korean Society of Remote Sensing, 5(1):29-39. Overview of Translation Process ACKNOWLEDGEMENTS The authors would like to thank Cray Research, Inc. for partially supporting CERIMS development project through Cray University Grant Program. REFERENCES Benediktsson, J. A., P. H. Swain, and O. K. Ersoy, 1990. Neural Network Approaches Versus Statistical Methods in Classification of Multisource Remote Sensing Date, IEEE Transactions on Geoscience and Remote Sensing, 28(4): 540-551. Heermann, P. D. and N. Khazenie, 1992. Classification of Multispectral Remote Sensing 239