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.