[HOME][CONTENTS][DOWNLOAD][NEXT]


Image and Map Processing with XBit

Chengye Mao 

Email: chengye.geo@yahoo.com

INTRODUCTION

XBit was orginally an image processing package developed to handle various images. The name XBit stands for an extra-bit, meaning a thoughtful design that always has a room for adding one more bit for future extension or upgrade. XBit uses a Randomly Accessible Modular Image Model (RAMIM) to access to various images. In addition, XBit uses Tool Command Language (Tcl) as a shell language and builds graphic user interface (GUI) with Tcl and Took Kit (Tk) widgets.  After serveral years of investegation, Tcl has demonstrated a very powerful scripting language for an evolutionary system development.  In a Tcl architecture, it takes little effort to expand an existing sytem for new solotutions.   A new canvas wigdet (GCANVS) and many objects are added for map and tabular data manipulation and presentation.  XBit has been extened to a package for both image and map processing.

Tcl/Tk. Tcl is a script programming language based on a powerful Tcl interpreter. A Tcl interpreter provides both a script interface and a C programming interface to glue various program components together. Under a Tcl shell, an application program can run as an object or a widget which can take messages from a shell interpreter or a GUI to change its attributes. Tk is a suite of build-in graphic widgets such as button, label, text, canvas, and etc. These widgets are easy to use with Tcl for customized GUI development. In addition, Tcl/Tk provides a platform independent programming environment for software integration. 

RAMIM. A RAMIM views an image data set as a 3D cube with x and y to represent its spatial dimensions, and z its color or spectral dimension. Along the z dimension, a RAMIM further divides an image cube into many layers called image bands with each band a thickness of a few bits. A RAMIM integrates together various image archival and retrieval algorithms for imagery of different formats and pixels. It reuses as much as possible the common parts of all the algorithms without loosing the efficiency. A RAMIM is also an connection between image client and server. A program that uses a RAMIM can choose to be either a client or a server or both. A client program can register its call-back functions to be invoked when the image is updated by a server program. Multiple clients and servers may be linked by RAMIMs to form an imaging processing network. 

GCANVAS. A GCANVS is an XBit canvas widget specifically designed for map presentation and editing.  It inherits existing options of the original Tk canvas and adds new mapping specific features.  A gcanvas has a scalable view port for panning, flipping and zooming graphic contents without changing the original coordinates of canvas items.   It provides a call back option to an image item so that an image item can be automatically zoomed in/out when a canvas changes its zoom factors.  It adds serveral new item types including group, symbol and gtext (a scalable and rotatable text item).  It provides an object item type to interface to map objects of any shape files (.shp) for both display and edition.

XBIT OBJECTS.  An XBit object is an encapsulation of code and data with both C-language and Tcl APIs to image, map or table related manipulation.  It is dynamicall created during run-time and changed via either C-function calls or Tcl commands.  Implemented XBit objects include gimg for image display, rimage for image processing, shape for map processing, gtable for tabular data processing and proj for map projection transformation, camera for airborne-imaging system similation and image rectification, pushbroom for airborne-pushbroom image scanner simulation and image rectification.

Built upon Tcl/Tk, XBit is able to provide an easy-to-use GUI that integrates various image and map processing utilities.  XBit's image processing functions include display, crop, geometric rectification, enhancement, calibration, convolution, classification, FFT analysis and filtering, principal component transformation, video stream display, real time image capture with digital camera and etc.  In addition, XBit implements a Tcl shell for OpenGL (currently only available to Windows), which together with the XBit's image processing capability greatly enhances 3D image rendering. XBit's map processing functions include displaying, editing and analysing graphic and tabular data of shape files (.shp) and table files (.dbf).

[HOME][CONTENTS][DOWNLOAD]

1