============================ LOA GRAPHIC TOOLS ==================== MSPHINX INTRODUCTION Over eight years ago at the Laboratoire d'Optique Atmospherique (LOA) we investigated and tested various software packages to meet our satellite image processing needs. The laboratory required a flexible, simple-to-use image analysis and presentation package for climate and satellite remote sensing research. We found that many of the existing programs possessed significant shortcomings, such as machine and operating system dependence, difficult installations, specialized graphic cards, and long learning curves for new users. Rather than purchase a less-than-optimal software package, we decided in 1988 to apply our in-house technical and scientific expertise to build an efficient and intuitive image analysis and display system, named SPHINX (Satellite Process Handling Images uNder XWindow.) The strong points of Sphinx reside in its: -integration of the laboratory's multidisciplinary expertise inspace-based climate research. -construction under UNIX and the X11 Window System to render it machine independent. -visualization of images that is the nearest possible to the original data without superfluous menus or overlays. -efficient internal data structure that is quickly adaptable to various common image formats. -multispectral visualization of satellite sensor data. -high-quality printing of processed images. Sphinx has proven instrumental in serving as a daily image processing tool at LOA, allowing both expert and new users to conduct image analysis and presentation with minimum difficulty on various platforms. The future, however, calls for new requirements in satellite image processing as both sensor technologies and research methods are refined. Image processing packages, for instance, will be required to handle both higher data precision and an increasing number of sensor data channels (e.g., 5 channels for AVHRR, and 100 for the proposed MODIS sensor). Longer term satellite observations will demand new approaches to examining and analyzing large datasets for climate phenomena. In an effort to meet these changing needs, our Sphinx development team was faced with a number of questions. Firstly, could we easily alleviate its immediate short comings: fixed geometry, 8-bit precision, three data planes? Secondly, while retaining the software's simple and efficient architecture as well as its interactive interface, could we enhance the package to respond to the above mentioned requirements? In this case, what would be the interactive response time of such a software program? Thirdly, could software packages employing rigid internal data structures be modified easily enough for volving satellite remote sensing techniques? Msphinx ARCHITECTURE The concept behind Msphinx is to develop a progressive system architecture for future satellite sensors that is completely independent of the data volume, size and format derived from satellite observations, without developping a complex internal data structure that will loose the particularity of satellite data : series of pixels forming rows or columns of an image. The new system design conserves the unique windowing scheme for displaying images but changes the depth and size of the internal data. The system consists of the following elements: 4.1 Data Base and User Virtual Plane Structure The fundamental image element is called a cell of any defined size of rows columns and deep. A grouping of cells forms a projection plane (the visualization takes place at the projection plane level). The image memory is composed of a series of cells archived on disk or RAM memory. The distribution of cells across the planes is defined interactively by the user and can be modified at any time. All the image analysis functions can be applied to entire planes or individual cells. One image can reside in either one or several cells constituting a plane. The number of cells is user defined but the number of planes is up to 512. 4.2 View Window and Printing Window The display window consists of 4 overlaying planes named red, green, blue and graphics. These planes, representing the total working space displayed on the screen, can be a combination of images, texts and graphics. Within this working space, a window of any size is defined in order to display all or part of the images composing the projection planes by over or under sampling the data. 4.3 Color Management A continuous compression of the memory plane data (from 16 bits to 8 bits) to the displayed plane is accomplished in order to equalize the pixel contrast independently of the original scaling. The user, however, can always intervene and modify the color scaling for particular pixel value ranges. 4.4 Processing Functions Msphinx includes two types of analysis and processing functions: (1) functions to process in the basic data geometry and projection planes; (2) functions to manipulate and modify the graphic display and printing. 4.5 Printing capabilities Page Setting Poster Setting (large size: Gigabyte PostScript files) 4.6 Communication capabilities Msphinx allows: -Data writes from external user programs (C or Fortran) into the memorie planes. -User to user data exchange (text or images). -Direct links to other packages -Mgraph (2d and contouring plotting) -HDFLook (HDF read write files) -Xfig (Facility for Interactive Generation of figures) -mpeg_encode (mpeg format animations) Msphinx CONCLUSIONS Msphinx offers undeniable advantages over existing satellite image processing packages, namely: -an efficient functioning scheme. Msphinx's ergonomic avoids the common traps and pit falls encountered when visualizing images under Motif (e.g., multiplying the number of windows and managing multiple color tables which provokes radical changes in display contrast when moving the mouse across windows). -an original satellite signal analysis tool whose concept and design, based upon the input of remote sensing specialists, is directed specifically toward multispectral analysis. -an intuitive interface that reduces the learning curve for all users. The first draft of Msphinx represents more than a simple device for remote sensing scientists to explore satellite observations. Its innovative and progressive design makes it a strategic, long-term research tool for developing data processing algorithms and for exploiting large-scale data bases. References LIU JIAN GUO Balance contrast enhancement technique and its application in image colour composition IJRS ,12 pp.2133-2151 6S TANRE D. .... VERMOTE E. Second sinulation of the satellite signal in the solar spectrum (IEEE Transactions on Geoscience and Remote Sensing,1997,35,pp.675-686. John A Richards Remote Sensing Digital Image Analysis Springer-Verlag 1986 TIFF Tag Image File Format from Aldus & Microsoft GIF "The Graphics Interchange Format" Copyright of CompuServe Incorporated The authors would like to thank: Dr. J.R. Shewchuk for his developments on: "Triangle: Engineering a 2D Quality Mesh Generator and Delaunay Triangulator", First Workshop on Applied Computational Geometry, ACM, May 1996. [*] Dr. Brian V. Smith for the Xfig contribution. ============================================================================== ============================================================================== ============================================================================== PACKAGE CONTENT. DIRECTORIES AND FILES: COMPUTER_DIRECTORY/ MISC/ (Stand alone software) HDFLook_MODIS -> HDF (SDS) files data analyze and visualisation. Mgraph -> 2D graphics package Msixs -> Second Simulation of Satellite Signal in the Solar Spectrum Mpol -> POLDER experiment files data analyze and visualisation. Msky -> Direct link to AERONET data base Msp -> Small driver send command file to Msphinx Mfiles/ (Msphinx main directory) Directories: Maps/ -> world data maps used for projections. Fonts/ -> fonts for image annotations Doc/ -> XFIG manual Images/ -> ima_test.B .G .R -> NOAA images for tests. MAIN_EPS_LOGOS/ -> Library for logos bin/ -> sphinx modules compta/ network -> user network connection security -> Msphinx licence nb users -> users statistics Files: Msphinx_bin -> binary main program MTools_bin -> binary (tools bar) Msphinx -> Msphinx running shell MSPHINX_DRIVER/ a very simple interface to send images to Msphinx. (Command file -> Msphinx) (User program -> Msphinx (C or Fortran)) DEMO_COM,DEMO_DRAW,DEMO_MASK,DEMO_MATH,DEMO_PROJECTION,DEMO_READ,DEMO_SEND NETWORK_MGRAPH/ a very simple interface to control Mgraph with a C or FORTRAN user program START WITH THE MSPHINX_DRIVER/README_FIRST XDEFAULTS/ (/usr/lib/X11/app-defaults) files ============================================================================== ============================================================================== ============================================================================== Copyrights: L.O.A (1998) Academic users: You are authorized to use this code for your research and teaching. You are encouraged to distribute, free of charge, the unmodified version of this software to colleagues involved in similar activities. You may not sell this code to anybody, and you may not distribute it to commercial interests under any circumstances. Commercial and other users: Use of this package in commercial applications is strictly forbidden without a written approval of the authors.