XITE
X based Image processing Tools and Environment
Image Processing Laboratory
Department of Informatics
University of Oslo
Norway
Overview
XITE consists of display programs with image widget and graphical user interface as well as more than 200 command line programs and 600 subroutines, all documented on-line. XITE uses its own image file format (BIFF), but comes with converters between BIFF and TIFF, PNG, pnm, sunraster, raw, MATLAB and ascii.
The command line programs and subroutine library are written in C and run under UNIX and Windows XP.
The display programs run under UNIX. They work with images of arbitrary size and pixel type on 8-bit PseudoColor and 24-bit DirectColor and TrueColor X11 displays. Images can be zoomed and panned, and colortables can be selected from a menu. The main display program, xshow, gives access to most of the other command line programs via a menu interface which the user can customize and extend to include local programs. Input images for the menu entries can be selected with the mouse, and output images appear on the display.
The available programs include operations such as statistics, merging, resampling, arithmetic/logical/relational operations, rotation, mirroring, affine transformations, convolution, filter design, Fourier/Hartley/Haar/Hough transforms, color manipulation, histogram transformations, global and local thresholding, binary thinning, edge detection, morphological operations, classification, image analysis and texture estimation.
A toolkit is supplied to simplify development of X11 based applications.
Platforms
XITE runs on (at least) the following platforms
- Windows XP (not the X11 based display programs).
- Solaris 2.x, x >= 5.
- Silicon Graphics Indy under IRIX 5.3.
- Silicon Graphics Power Challenge under IRIX 6.1.
- Dec Alpha under OSF/1 V4.0.
- IBM RS 6000 under AIX 4.1.
- Linux on PC.
File format
The file format is a raster format for 2D and 3D images. In case of 3D, the image is viewed as a sequence of bands, the image may contain any number of bands. Each band may have its own size and pixel type. The image file contains the neccessary parameters (e.g. sizes and pixel types), pixel data ordered band by band, line by line; any amount of textual data, regularly used to store the processing history of the image; and finally any amount of other data. An internal C data structure is also defined, able to hold the whole image, information as well as pixels. The individual pixels are accessed by normal indexing. Simple routines are used to read (write) a whole image from (to) file or a channel, more complex routines are provided if you want to access only a part of the file.
Programs
- X display programs, in particular xshow which has a graphical user interface to most of the other command based programs.
- Format conversions for TIFF, PNG, pnm (pbm, pgm, ppm), raw binary, ascii, MATLAB, sunraster, PostScript.
- Statistics: size, min, max, median, mean, standard deviation.
- Image representation: subimages, merging images, pyramid, resample
- Arithmetic operations: negate, scale, absolute value, complex conjugate, add, subtract, multiply, divide, square, square root, rms difference.
- Logical operations.
- Relational operations.
- Rotation, mirroring, affine transformations.
- Convolution, mean, Compass, Laplace, Gradient, Roberts, Sobel, Prewitt.
- Filter design: Ideal lowpass, highpass, bandpass and bandstop filters.
- Fourier transform, Hartley transform, Haar transform, Hough transform, geometric transformations, Zernike moments.
- Color manipulation: Gamma correction, dithering, quantization, ihs-to-rgb, rgb-to-ihs, rgb-to-pseudocolor, pseudocolor-to-rgb
- Histogram, scattergram, histogram transformations (equalization, normalization).
- Global and local tresholding.
- Binary thinning.
- Canny edge detection.
- Local operators median, min, max, sigma, knn, kncn, snn and others based on local standard deviation.
- Genererate, add or multiply gaussian noise; generate or add Poisson noise.
- Morphological operations.
- Non-supervised classification.
- Image analysis: measuring area, perimeter, moments etc.
- Texture estimation: lit, lit-snn, glcm, gray-level run etc.
Routines
All routines are written in C, and you will find
- Everything listed above.
- Biff-routines for image treatment (mainly I/O).
- Image widget, histogram widget and ximage toolkit for writing X11 based applications.
Documentation
Manual pages are supplied for all functions and programs, in "man" format as well as html. A User's Manual and System Administrator's Manual are included as PostScript documents and available in html format from the XITE WWW homepage.
Time consumption
The algorithms below are tested on images of size 512x512x1 byte. Time consumption (user time) is measured by the program "time" under UNIX, and displayed in seconds.
Algorithm | D5 | S10 | P3 | PLin | Alph | Indy | Pow | U1 | ProLin |
convolution 3x3 | 0.78 | 0.6 | 0.03 | 0.55 | 0.149 | 0.107 | 0.129 | 0.13 | 0.05 |
convolution 7x7 | 8.96 | 3.9 | 0.38 | 2.36 | 2.119 | 1.168 | 1.625 | 0.86 | 0.66 |
sobel | 0.50 | 0.2 | 0.02 | 0.28 | 0.096 | 0.070 | 0.083 | 0.04 | 0.04 |
median 3x3 | 1.50 | 0.8 | 0.09 | 0.41 | 0.302 | 0.239 | 0.486 | 0.21 | 0.15 |
median 11x11 | 3.80 | 1.9 | 0.23 | 1.01 | 0.788 | 0.595 | 1.127 | 0.48 | 0.40 |
mean 3x3 | 0.60 | 0.6 | 0.02 | 0.23 | 0.120 | 0.164 | 0.125 | 0.12 | 0.04 |
mean 11x11 | 0.60 | 0.6 | 0.02 | 0.23 | 0.126 | 0.166 | 0.125 | 0.12 | 0.04 |
minarea 11x11 | 0.91 | 0.5 | 0.06 | 0.30 | 0.265 | 0.129 | 0.196 | 0.08 | 0.09 |
2D FFT float | 9.59 | 3.7 | 0.3 | 1.85 | 1.130 | 1.267 | 1.256 | 0.64 | 0.66 |
where the machine types specified in each column are
- D5: Decstation 5000/200
- S10: Sun Sparcstation 10, SunOS 4.1.3
- PLin: Pentium, 100 MHz, 48 MB RAM, Linux
- P3: Pentium III, 500 MHz, 512 KB cache, 768 MB RAM, Linux
- U1: Sun Ultra-1, 167 MHz, 188 MB RAM, SunOS 5.5
- Indy: SGI Indy SC, 200 MHz R4400/R4010, 64 MB RAM, IRIX 5.3
- Pow: SGI Power Challenge, 75 MHz R8000/R8010, 512 MB RAM, IRIX 6.1
- Alph: Dec 3000 AXP-500 (alpha), OSF1 V4.0
- ProLin: Pentium Pro, 300 MHz, 128 MB RAM, Linux 2.0.32
and the commands for each algorithm are
- convolution 3x3: time conv3x3 mona.img m.img 1 2 3 4 5 6 7 8 9
- convolution 7x7: time convolve mona.img m.img 7 7 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9
- sobel: time sobel mona.img m.img
- median 3x3: time median mona.img m.img 3 3
- median 11x11: time median mona.img m.img 11 11
- mean 3x3: time mean mona.img m.img 3 3
- mean 11x11: time mean mona.img m.img 11 11
- minarea 11x11: time minarea mona.img m.img 11 11
- 2D FFT float: biffConvert mona.img mona_r.img r; time fft2d mona_r.img m.img
How to get the software
You can get the software with a WWW browser from http://www.mn.uio.no/ifi/english/research/groups/dsb/resources/software/xite/. A "README" file gives further instructions.
Updated by Svein B�e, 2013.