Currently, there are several software tools to develop image-processing functions including commercial, shareware, or even freeware. While most UNIX-based software runs under X-Window, such software is generally complex, requiring researchers to spend hours mastering the intricacies of each package. Normally, for example, the user who develops his own functions has to implement code to open and save images, draw them on the screen, compute their histograms, handle the mouse and keyboard events, and handle windowing tasks. Such routines can account for 70% of the entire image-processing program. Due to this complexity, several European universities, including the University of the Balearic Islands (Palma, Spain), the University of Las Palmas de Gran Canaria (Las Palmas, Spain), and the University of Paris IX Dauphine (Paris, France), developed XmegaWave (XMW), which reduces the time needed to write and debug image-processing code.
Designed to ease the development of image processing algorithms, the XMW package can perform a number of standard imaging functions including white noise removal, deblurring and edge detection. In this example, a classic chromakey operation is performed on a color image.
XMW is an image-processing environment with a graphical windows interface, running on UNIX workstations or Linux machines. It is similar to typical drawing applications, with different options to open and save images in several formats and draw different geometric primitives. As well, XMW is a programming library and includes pre-installed functions to create, display, and save images.
Developers can implement their own image-processing algorithm in C using the XMW library. XMW includes classical procedures for image processing, such as contrast, white noise, average, Gaussian blur, and zero-crossing for edge detection. Moreover, the software also includes new techniques based on the theory of multiscale analysis. These techniques include the classical morphological filters such as erosion and dilatation and mean or curvature motion, denoising, and deblurring.
The main goal of XMW is that developers can create functions for image processing and integrate these functions into the system. To create a function, developers create an option structure indicating the name of the function and the menu where it will be inserted. Input parameters of the algorithm are then inserted describing the name, width, height, and type of data and also a pointer, in which the pixel values of the image are stored. A CreateImage function then creates a new image on the screen with the specified parameters.
Freely downloadable on the Web: amiserver. dis.ulpgc.es/xmwgus/, the software runs under UNIX. A beta version for Windows NT also is available, and a new version for both UNIX and Linux platforms will be available soon.